flutter database template code example
Example 1: flutter sqflite DatabaseHelper
import 'dart:io' as io;
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'package:sqflite/sqflite.dart';
class DatabaseHelper {
static final DatabaseHelper _instance = new DatabaseHelper.internal();
factory DatabaseHelper() => _instance;
static Database _db;
DatabaseHelper.internal();
initDb() async {
io.Directory documentsDirectory = await getApplicationDocumentsDirectory();
String path = join(documentsDirectory.path, "database_name.db");
_db = await openDatabase(path, version: 1, onCreate: _onCreate);
}
Database get db {
return _db;
}
void _onCreate(Database db, int version) async {
// When creating the db, create the table
await db.execute(
'CREATE TABLE todos (id INTEGER PRIMARY KEY AUTOINCREMENT,'
'item_name TEXT,'
'date_created TEXT')';
}
}
Example 2: flutter sqflite DatabaseHelper
import 'dart:async';
import 'package:eknumber/utils/database_helper.dart';
import 'package:flutter_simple_dependency_injection/injector.dart';
class Injection {
static DatabaseHelper _databaseHelper = DatabaseHelper();
static Injector injector;
static Future initInjection() async {
await _databaseHelper.initDb();
injector = Injector.getInjector();
injector.map<DatabaseHelper>((i) => _databaseHelper,
isSingleton: true);
}
}