Lädt...

🔧 🚀 Mengenal Database dan Local Storage di Flutter! 📱💾


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Dalam pengembangan aplikasi Flutter, penyimpanan data menjadi aspek penting yang harus diperhatikan. Terdapat beberapa metode penyimpanan data, di antaranya Database dan Local Storage.

1. Database di Flutter (sqflite)

sqflite adalah paket yang digunakan untuk mengelola database SQLite di Flutter. SQLite adalah database ringan yang cocok untuk aplikasi mobile.

Instalasi

Tambahkan dependensi berikut di pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  sqflite: ^2.3.0
  path_provider: ^2.1.2
  path: ^1.8.3

Implementasi sqflite

Berikut contoh CRUD menggunakan SQLite:

import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';

class DatabaseHelper {
  static final DatabaseHelper instance = DatabaseHelper._init();
  static Database? _database;
  DatabaseHelper._init();

  Future<Database> get database async {
    if (_database != null) return _database!;
    _database = await _initDB('app.db');
    return _database!;
  }

  Future<Database> _initDB(String filePath) async {
    final dbPath = await getDatabasesPath();
    final path = join(dbPath, filePath);
    return await openDatabase(path, version: 1, onCreate: _createDB);
  }

  Future<void> _createDB(Database db, int version) async {
    await db.execute('''
      CREATE TABLE users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL
      )
    ''');
  }

  Future<int> insertUser(Map<String, dynamic> user) async {
    final db = await database;
    return await db.insert('users', user);
  }

  Future<List<Map<String, dynamic>>> getUsers() async {
    final db = await database;
    return await db.query('users');
  }
}

Penjelasan Kode

DatabaseHelper: Singleton untuk manajemen database.
_initDB: Menginisialisasi database.
_createDB: Membuat tabel users.
insertUser: Menambahkan data user ke dalam database.
getUsers: Mengambil semua data user.

2. Local Storage di Flutter (shared_preferences)

Jika ingin menyimpan data sederhana seperti konfigurasi atau preferensi pengguna, shared_preferences adalah pilihan yang tepat.

Instalasi

Tambahkan dependensi berikut di pubspec.yaml:

dependencies:
  shared_preferences: ^2.2.2

Implementasi shared_preferences

import 'package:shared_preferences/shared_preferences.dart';

class LocalStorage {
  Future<void> saveData(String key, String value) async {
    final prefs = await SharedPreferences.getInstance();
    await prefs.setString(key, value);
  }

  Future<String?> getData(String key) async {
    final prefs = await SharedPreferences.getInstance();
    return prefs.getString(key);
  }
}

Penjelasan Kode

saveData: Menyimpan data berupa key-value ke SharedPreferences.
getData: Mengambil data yang telah disimpan.

Kesimpulan
Gunakan sqflite jika membutuhkan database relasional dengan operasi kompleks.
Gunakan shared_preferences untuk menyimpan data sederhana seperti konfigurasi aplikasi.
Dengan memilih metode penyimpanan yang tepat, aplikasi Flutter dapat berjalan lebih efisien dan sesuai kebutuhan pengguna.

...

🔧 🚀 Mengenal Database dan Local Storage di Flutter! 📱💾


📈 67.37 Punkte
🔧 Programmierung

🔧 🚀 Mengenal Navigation dan Routing di Flutter! 📱✨


📈 49.38 Punkte
🔧 Programmierung

🔧 Mengenal Gaya Arsitektur API: REST, SOAP, GraphQL, dan Lebih Banyak Lagi


📈 40.11 Punkte
🔧 Programmierung

🎥 Flutter Performance, Flutter Games, Flutter Tooling, &amp; More (#AskFlutter at Flutter Live)


📈 37.06 Punkte
🎥 Videos

🔧 Hiden Storage Local dan Local-Lvm


📈 30.86 Punkte
🔧 Programmierung

🔧 Flutter news from GDD China: uniting Flutter on web and mobile, and introducing Flutter 1.9


📈 27.8 Punkte
🔧 Programmierung

🎥 Origin of Flutter, Dart 2.0, E-Commerce with Flutter, &amp; More (#AskFlutter at Flutter Live)


📈 27.8 Punkte
🎥 Videos

🔧 Membuat Landing Page Sederhana dan Cepat dengan ReactJS, Vite, dan Tailwind CSS


📈 27.18 Punkte
🔧 Programmierung

🔧 📦 Mengenal Monorepo: Struktur &amp; Manfaat dalam Proyek JavaScript


📈 26.52 Punkte
🔧 Programmierung

🔧 Mengenal Industri Semikonduktor: Pilar Teknologi Modern


📈 26.52 Punkte
🔧 Programmierung

🔧 Frontosa Cichlid: Mengenal Ikan Hias Eksotis dari Danau Tanganyika


📈 26.52 Punkte
🔧 Programmierung

🔧 Mengenal useState pada React.js


📈 26.52 Punkte
🔧 Programmierung

🔧 🏪 Mengenal Laravel Staff: Request, Response, Views, And Validation


📈 26.52 Punkte
🔧 Programmierung

🔧 Mengenal Asymmetric Encryption: Keamanan Data Tingkat Tinggi dengan Golang


📈 26.52 Punkte
🔧 Programmierung

🔧 Mengenal Konsep MVC di Laravel: Panduan Lengkap untuk Pemula


📈 26.52 Punkte
🔧 Programmierung

🔧 Panduan Singkat Mengenal Eloquent ORM di Laravel


📈 26.52 Punkte
🔧 Programmierung

🔧 Guide to Cookies, Local Storage, Session Storage, and Other Web Storage Mechanisms


📈 24.61 Punkte
🔧 Programmierung

🕵️ Medium CVE-2020-11610: Cross domain local storage project Cross domain local storage


📈 23.66 Punkte
🕵️ Sicherheitslücken

🕵️ Medium CVE-2015-9545: Cross domain local storage project Cross domain local storage


📈 23.66 Punkte
🕵️ Sicherheitslücken

🕵️ Medium CVE-2015-9544: Cross domain local storage project Cross domain local storage


📈 23.66 Punkte
🕵️ Sicherheitslücken

🔧 🚀 Pengenalan Flutter: Dasar, State Management, dan Contoh Kode 🎯


📈 22.86 Punkte
🔧 Programmierung

🔧 Building a Robust Local Storage Service in Flutter


📈 21.1 Punkte
🔧 Programmierung

🔧 Azure Storage Account: A Guide To Creating an Azure Storage Account and a Blob Storage Container.


📈 19.17 Punkte
🔧 Programmierung

🔧 Flutter Tutorial – How to Develop an App with Flutter From Scratch


📈 18.53 Punkte
🔧 Programmierung

🔧 How to Add Favicon in Flutter Web App(Flutter 3)


📈 18.53 Punkte
🔧 Programmierung

🎥 Publishing a Flutter App to the Play Store (The Boring Flutter Development Show, Ep. 8.4)


📈 18.53 Punkte
🎥 Videos

🔧 Flutter 3.19 just released - Flutter News 2024 #7 ʚїɞ


📈 18.53 Punkte
🔧 Programmierung

🔧 Flutter AI: Build Flutter Apps in Minutes


📈 18.53 Punkte
🔧 Programmierung

🎥 Alibaba used Flutter to build 50+ million user Xianyu app (Flutter Developer Story)


📈 18.53 Punkte
🎥 Videos

🎥 Making Flutter apps indistinguishable from native in Flutter 3.27


📈 18.53 Punkte
🎥 Video | Youtube

matomo