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!

Subscribe to receive free email updates:

0 Response to "Membuat dan Membaca Database SQFLite dalam Flutter"

Posting Komentar