Posts

Singleton

Why build a Singleton? Singleton pattern ensures only one instance of a class is ever created and it provides a global access to the instance. How to build ? Unlike Java which uses identifiers like private/public identifiers, Darts precede method with a dash "_" to make class/instance private. A constructor is used to invoke the static private instance  _singleton  .  Note that you do not need the “new” keyword to invoke the constructor.  You can also make the instance public, by removing the dash in front of its name. 1. Building a Singleton: class Singleton {   static final Singleton _singleton = new Singleton._internal();   factory Singleton() {     return _singleton;   }   Singleton._internal(); } 2. Static field with getter class SingletonTwo {  SingletonTwo._privateConstructor();  static final SingletonTwo _instance = SingletonTwo._privateConstructor();  static SingletonTwo get ...

Firebase Hosting and Web App

How to Host on Firebase 1. Create Firebase account on Google 2. Install node.JS 3. Open Command Prompt and Install Firebase: $ npm install -g firebase-tools 4. Log into Firebase and approve ("Y") and click agree after being redirected to Google login page in browser: firebase login 5. Upload Web Page Creation of Web Page 1. Editor Mac: Use Finder to search for TextEdit Application in Mac 2. Click on EditText, at the top of Screen, in dropdown of "TextEdit", click on preference and save as Plain Text. 3. Paste Sample Code: Sample Code: <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> body {font-family: Arial, Helvetica, sans-serif;} * {box-sizing: border-box;} input[type=text], select, textarea {   width: 100%;   padding: 12px;   border: 1px solid #ccc;   border-radius: 4px;   box-sizing: border-box; ...

Setting up Terminal in Android Studio for Flutter and Bash Profile (For Mac)

Does your Commands in Android Studio not worked? Fret not, all you need to do is the following from Command Prompt: 1. Do you have a Bash Profile?] Go into your  user folder in finder . The .bash_profile file should be findable there. ->  HD/Users/[USERNAME] To reveal hidden file, press: Command + Shift + . nano .bashprofile or nano .bash_profile 2. Paste the correct directory export PATH=~/ Users/rigmiklos/Documents/ flutter/bin:$PATH Red Text: Directory contain flutter folder Hint for Mac User: Double tap on the Flutter.exe in Flutter>Bin>Flutter, and press"Get Info" to get Directory. 3. Ctrl + X to exit (No, this is not for default paste function) 4. Press Y to save changes. 5. To reload source .bashprofile Advance Reading for Bash Profile Official Doc for Setting up To navigate around Mac Command prompt: ls: show folders cd "folder name": to change directory Solution: Run Flutter Doctor manually or by Terminal / Users/...

Flutter Widget 101 Part 6 (Alert and Simple Dialog)

https://medium.com/@nils.backe/flutter-alert-dialogs-9b0bb9b01d28 https://stackoverflow.com/questions/50964365/alert-dialog-with-rounded-corners-in-flutter Dialogs In essence, dialogs are pop-up for further user verification/notification. There are few types of dialogs: AlertDialog  (rows of buttons below body). SimpleDialog  (handles scrolling of contents and no buttons below body). showCupertinoDialog  (iOS-style). showGeneralDialog  (allows customisations). showDialog () 3 Parameters. child is deprecated.  Return child from builder, example below. BuildContext context, Widget child,//deprecated WidgetBuilder builder, showDialog( context: context , barrierDismissible: true , builder: (BuildContext context) { return AlertDialog( content: new Text( "Welcome" ), actions: <Widget>[ new IconButton( icon: new Icon(Icons. launch ), onPressed: (){Naviga...

Flutter Widget 101 Part 5 (Snackbars, Context, Builder and Key)

1. Aim Through Snackbar, understand Context and how to use builder to access any context of a widget. 2.Snackbar Code from Codelab If you use Scaffold.of(context), there will be Context Error "Scaffold.of() called with a context that does not contain a Scaffold" import 'package:flutter/material.dart' ; void main() { runApp( new MaterialApp(home: new SnackApp())); } class SnackApp extends StatefulWidget { @override _SnackAppState createState() => _SnackAppState(); } class _SnackAppState extends State<SnackApp> { @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text( "Snackbar exercise" ), ), body: new Center( child: new RaisedButton( onPressed: (){ final snackBar = SnackBar(content: Text( 'Yay! A SnackBar!' )); Scaffold. of (context).showSnackBar(snackBar); }, ...

Installation/Importing

 When importing projects, "Dart SDK is not configured" error code may arise. It can be resolving by linking to  bin/cache/dart-sdk in Flutter folder. It usually happens with projects that were created in other machines. To fix this on Android Studio 3.1.3: File-> Settings (ctrl+alt+s) Languages and Frameworks -> Dart Check "Enable Dart support for the project..." In "Dart SDK path" click in "..." and navigate to flutter SDK directory. Under that directory you'll find  "bin/cache/dart-sdk" . This is the dart sdk path you should use. Click "Apply" Close the project and open it again (sometimes you need this step, sometimes doesn't) Tip 1: Having problem with fetching a package? Come across this error code: "A dependency may only have one source. sdk: flutter" This may be due to an a n indentation align with sdk (example below). dependencies : flutter : sdk : flutt...

State

https://medium.com/flutter-community/flutter-state-management-setstate-fn-is-the-easiest-and-the-most-powerful-44703c97f035