Membuat dan Membaca Database SQFLite dalam Flutter
Dalam pengembangan aplikasi Flutter, pengelolaan data menjadi langkah krusial. Salah satu pendekatan umum untuk menangani data lokal adalah menggunakan database SQLite, dan di lingkungan Flutter, kita dapat memanfaatkan paket SQFLite untuk mencapai hal tersebut. Dalam artikel ini, kita akan menjelajahi langkah-langkah membuat dan membaca database SQFLite dalam pengembangan aplikasi Flutter.
Langkah 1: Persiapan Proyek Flutter
Langkah awal yang perlu kita lakukan adalah membuat proyek Flutter atau
menggunakan proyek yang sudah ada. Pastikan untuk menambahkan paket
SQFLite pada file pubspec.yaml
:
dependencies:
flutter:
sdk: flutter
sqflite: ^2.0.0
Jangan lupa menjalankan perintah flutter pub get
untuk menginstal paket yang baru ditambahkan.
Langkah 2: Membuat Kelas Database
Selanjutnya, buatlah kelas untuk mengelola database dan operasi-operasi CRUD (Create, Read, Update, Delete). Berikut contohnya:
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
class DatabaseHelper {
static const String tableName = 'items';
static Database? _database;
Future<Database> get database async {
if (_database != null) return _database!;
_database = await initDB();
return _database!;
}
Future<Database> initDB() async {
String path = join(await getDatabasesPath(), 'my_database.db');
return await openDatabase(
path,
version: 1,
onCreate: (db, version) async {
await db.execute('''
CREATE TABLE $tableName(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
description TEXT
)
''');
},
);
}
Future<int> insertItem(Map<String, dynamic> item) async {
final db = await database;
return await db.insert(tableName, item);
}
Future<List<Map<String, dynamic>>> getItems() async {
final db = await database;
return await db.query(tableName);
}
}
Langkah 3: Menggunakan Database dalam Aplikasi Flutter
Selanjutnya, kita bisa menggunakan kelas DatabaseHelper
dalam aplikasi Flutter kita. Berikut contoh penggunaannya:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('SQFLite Database Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// Menambahkan item ke database
Map<String, dynamic> newItem = {
'name': 'Item Baru',
'description': 'Deskripsi item baru',
};
int id = await DatabaseHelper().insertItem(newItem);
print('Item ditambahkan dengan ID: $id');
// Mendapatkan semua item dari database
List<Map<String, dynamic>> items = await DatabaseHelper().getItems();
print('Semua Item: $items');
},
child: Text('Tambah Item dan Baca'),
),
),
),
);
}
}
Dengan mengikuti langkah-langkah di atas, Anda dapat membuat dan membaca database SQFLite dengan mudah dalam proyek Flutter Anda. Selamat mencoba!
0 Response to "Membuat dan Membaca Database SQFLite dalam Flutter"
Posting Komentar