Skip to content

huubao2309/demo_sqflite_flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Demo SqfLite

Library (version 1.2.1): https://pub.dev/packages/sqflite

TODO App:

Todo_app

1. Add sqflite lib on pubspec.yaml:

  dependencies:
    flutter:
      sdk: flutter

    cupertino_icons: ^0.1.2
    sqflite: ^1.2.1
  init() async {
    var databasesPath = await getDatabasesPath();
    String path = join(databasesPath, DB_NAME);
    _database = await openDatabase(
      path,
      onCreate: (db, version) {
        initScript.forEach((script) async => await db.execute(script));
      },
      version: DB_VERSION,
    );
  }
  ...

With initScript:

  static const initScript = [TodoTable.CREATE_TABLE_QUERY];
  static const TABLE_NAME = 'todo';
  static const CREATE_TABLE_QUERY = '''
    CREATE TABLE $TABLE_NAME (
      id INTEGER PRIMARY KEY,
      content TEXT
    );
  ''';

4. Init DB at main():

    void main() async {
    // Init DB
    WidgetsFlutterBinding.ensureInitialized();
    await TodoDatabase.instance.init();
    
    runApp(MyApp());
  }
  ...