- パッケージのインストール: まず、pubspec.yamlファイルに以下の依存関係を追加して、sqfliteパッケージをインストールします。
dependencies:
sqflite: ^2.0.0
path: ^2.0.0
- データベースの作成: 以下のコードは、Flutterアプリ内に新しいデータベースを作成する方法を示しています。
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
void createDatabase() async {
String databasesPath = await getDatabasesPath();
String dbPath = join(databasesPath, 'mydatabase.db');
Database database = await openDatabase(
dbPath,
version: 1,
onCreate: (Database db, int version) async {
// データベースのテーブルを作成するクエリを実行する
await db.execute('''
CREATE TABLE mytable (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
''');
},
);
// データベースを使用する処理を記述する
}
- データの挿入: 以下のコードは、データベースに新しいレコードを挿入する方法を示しています。
void insertData() async {
Database database = await openDatabase(dbPath);
await database.insert('mytable', {'name': 'John', 'age': 25});
await database.insert('mytable', {'name': 'Jane', 'age': 30});
// データの挿入後の処理を記述する
}
- データの取得: 以下のコードは、データベースからデータを取得する方法を示しています。
void getData() async {
Database database = await openDatabase(dbPath);
List<Map<String, dynamic>> result = await database.query('mytable');
for (Map<String, dynamic> row in result) {
print('Name: ${row['name']}, Age: ${row['age']}');
}
// データの取得後の処理を記述する
}
- データの更新: 以下のコードは、データベース内の既存のデータを更新する方法を示しています。
void updateData() async {
Database database = await openDatabase(dbPath);
await database.update(
'mytable',
{'age': 35},
where: 'name = ?',
whereArgs: ['John'],
);
// データの更新後の処理を記述する
}
- データの削除: 以下のコードは、データベースからデータを削除する方法を示しています。
void deleteData() async {
Database database = await openDatabase(dbPath);
await database.delete(
'mytable',
where: 'age > ?',
whereArgs: [30],
);
// データの削除後の処理を記述する
}
これらは、FlutterでSQLiteを使用してデータベース操作を行うための基本的な方法とコード例です。さらに高度なトピックについては、Flutterの公式ドキュメントや他のチュートリアルやリソースを参照することをおすすめします。