techgrains 1.0.1 copy "techgrains: ^1.0.1" to clipboard
techgrains: ^1.0.1 copied to clipboard

outdated

Developer friendly app library of various commly used functionality.

TGFramework-Flutter #

Purpose of TGFramework is to provide developer friendly library, that can help to improve feature development rather focusing on common structure creation during every mobile app development.

How to use TGFramework? #

1. Add dependency to your package's pubspec.yaml:

dependencies:
  techgrains: ^1.0.0

2. Run from the command line:

$ flutter pub get

Sections #

TGFramework includes following areas as part of its framework. Further in document all of them explained with example.

  • Common
    • TGLog
      • Levels: Debug, Info, Error, Warn, Tag, All, Off
  • Memory
    • TGSession: In memory Session throughout the app
    • TGSharedPreference: Shared Preferences (Android), User Defaults (iOS)
  • Util
    • TGDateUtil
      • Format DateTime
      • Parse DateTime
    • TGNetUtil
      • Check Internet Availability
    • TGFileUtil
      • Read Local File
    • TGValidate
      • Validate Email, Alphabets, Numeric, Alphanumeric
  • View
    • TGView
      • Scaffold Container
      • Custom Scroll View using Sliver List
      • Empty Sized Box
      • Clear Focus (Hide Keyboard)
      • Snackbar
      • Loading Indicator

Common #

TGLog #

Logging mechanism levels
  • ALL, TAG, DEBUG, INFO, WARN, ERROR, OFF

By default, Log Level is ALL. If wants to change, set in your app's initState().

[main.dart]
    @override
    void initState() {
        super.initState();
        TGLog.setLogLevel(TGLogLevel.DEBUG);
        ...
    }

How to Log which prints output in the console.

[Log]
    TGLog.t("TAG", "Tag log");  // Tag
    TGLog.d("Debug log");       // Debug
    TGLog.i("Info log");        // Info
    TGLog.w("Warning log");     // Warn
    TGLog.e("Error log");       // Error

[Output]
    2020-04-30 12:48:09.955850[TAG] Tag log
    2020-04-30 12:48:09.958239[DEBUG] Debug log
    2020-04-30 12:48:09.958661[INFO] Info log
    2020-04-30 12:48:09.958964[WARN] Warning log
    2020-04-30 12:48:09.959226[ERROR] Error log

Memory #

TGSession #

Single Session instance in memory to hold values in memory as Key-Value pair. No need to inherit or initialize anything.

Where to use:

  • Whenever data is common across layers
  • Managing data in memory without any disk-io
  • When data become invalid after app close

Between Screens: Just straight put things in one screen and use it in another one.

[Profile Screen]
    TGSession.getInstance().set("Designation","Developer");

[Home Screen]
    String designation = TGSession.getInstance().get("Designation");

Between service and view layer: Just put in service and have it in view. (Easy to put any object.)

[Service]
    TGSession.getInstance().put("Person",Person);

[Screen 
    Person person = TGSession.getInstance().get("Person");

Thinking to manage piled up objects in session?

    TGSession.getInstance().remove("Person");

TGSharedPreference #

Access local disk storage mechanism through TGSharedPreference. Its uses Shared Preferences for Android, User Defaults for iOS internally. No need to inherit or initialize anything.

    TGSharedPreferences.getInstance().set("Designation", "Developer"); // Set
    await TGSharedPreferences.getInstance().get("Designation"); // Get

Util #

TGDateUtil #

Format

[Default Pattern]
    TGDateUtil.formatDate(date); //"2020-05-16"
    TGDateUtil.formatDateTime(dateTime); //"2020-05-16 12:47:52"

[Custom Pattern]
    TGDateUtil.formatDate(date, datePattern: "dd/MM/yyyy"); //"16/05/2020"
    TGDateUtil.formatDateTime(dateTime, dateTimePattern: "dd/MM/yyyy HH:mm:ss"); //"16/05/2020 12:47:52"

Parse

[Default Pattern]
    DateTime date = TGDateUtil.parseDate("2020-05-16");
    DateTime dateTime = TGDateUtil.parseDateTime("2020-05-16 12:47:52");

[Custom Pattern]
    DateTime date = TGDateUtil.parseDate("16/05/2020", datePattern: "dd/MM/yyyy");
    DateTime dateTime = TGDateUtil.parseDateTime("16/05/2020T12:47:52", dateTimePattern: "dd/MM/yyyyTHH:mm:ss");

TGNetUtil #

Check inernet availability

    if(await TGNetUtil.isInternetAvailable()) {
        ...
    }

TGFileUtil #

Read File as String

    String content = await TGFileUtil.readFileAsString("assets/files/company.txt");

TGValidate #

Validators like email, alphabets, numeric, alphanumeric.

[Email]
    TGValidate.email("valid@email.com")

[Alphabets]
    TGValidate.alphabets("AbcPqrXyz");

[Numeric]
    TGValidate.numeric("1234567890");

[Alphanumeric]
    TGValidate.alphanumeric("abc123");

View #

TGView #

Common view object creation and helper.

Scaffold Container

Provide custom background and list of widgets to render.

[Without Background]
    List<Widget> widgets = ...; // Initialise
    Scaffold scaffold = TGView.scaffoldContainer(widgets);

[With Background]
    List<Widget> widgets = ...; // Initialise
    Container background = ...; // Initialise
    Scaffold scaffold = TGView.scaffoldContainer(widgets, backgroundContainer: background);

Custom Scroll View having Sliver List

Custom Scroll View

    Container container = TGView.sliverScrollView();

Empty Sized Box

To create empty box by providing height, width or both.

    TGView.emptySizedBox(height: 50);

Clear Focus (Hide Keyboard)

    TGView.clearFocus(context); 

Snackbar

    TGView.snackBar("Email has been sent!");

Loading Indicator

    TGView.loadingIndicator(Colors.blue);
52
likes
0
pub points
60%
popularity

Publisher

verified publishertechgrains.com

Developer friendly app library of various commly used functionality.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, intl, shared_preferences

More

Packages that depend on techgrains