Flutter データベース sqlite
//シングルトンクラス
DatabaseService._privateConstructor();
static final DatabaseService instance = DatabaseService._privateConstructor();
// イニシャライズ
static Database? database;
/// データベースオブジェクトの取得
Future<Database?> get db async {
if (database != null) {
return database;
}
database = await initializeDatabase();
return database;
}
/// データベースのイニシャライズ
initializeDatabase() async {
// アプリケーション専用のファイルを配置するディレクトリへのパスを返す
Directory directory = await getApplicationDocumentsDirectory();
String path = join(directory.path, dbname);
// データベースに接続
return await openDatabase(path, version: dbversion, onCreate: createTable);
}
/// テーブル作成
createTable(Database db, int version) {
db.execute('''
CREATE TABLE $tablename(
$columnid INTEGER PRIMARY KEY,
$type TEXT NOT NULL,
$data REAL NOT NULL,
$date TEXT NOT NULL
)
''');
print("created table");
}
この記事が気に入ったらサポートをしてみませんか?