استفاده از SQLite در فلاتر برای ذخیره دادهها
SQLite یکی از پرکاربردترین سیستمهای مدیریت پایگاه داده سبک و بدون نیاز به سرور است که به دلیل سادگی و کارایی، انتخاب مناسبی برای اپلیکیشنهای موبایل محسوب میشود. فلاتر نیز با ارائه پکیج sqflite
امکان تعامل آسان با SQLite را فراهم کرده است. در این مقاله، نحوه استفاده از SQLite در پروژههای فلاتر را مرحله به مرحله توضیح میدهیم.
نصب پکیج sqflite
برای شروع، باید پکیج sqflite
را به پروژه خود اضافه کنید. این کار با افزودن خط زیر به فایل pubspec.yaml
انجام میشود:
dependencies:
sqflite: ^2.0.0
path: ^1.8.0
پس از ذخیره فایل، دستور flutter pub get
را اجرا کنید تا پکیج نصب شود.
ایجاد و راهاندازی پایگاه داده
برای ایجاد پایگاه داده، ابتدا باید مسیر فایل پایگاه داده را مشخص کنید. سپس با استفاده از متد openDatabase
آن را ایجاد یا باز کنید:
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
Future initDatabase() async {
final dbPath = await getDatabasesPath();
final path = join(dbPath, 'app_database.db');
return openDatabase(
path,
version: 1,
onCreate: (db, version) {
db.execute('CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)');
},
);
}
این کد یک پایگاه داده با جدول users
شامل سه ستون ایجاد میکند.
عملیات CRUD (ایجاد، خواندن، بروزرسانی، حذف)
در ادامه نحوه انجام عملیات مختلف بر روی جدول توضیح داده شده است:
ایجاد (Insert)
Future insertUser(Database db, Map user) async {
await db.insert('users', user);
}
خواندن (Query)
Future>> getUsers(Database db) async {
return await db.query('users');
}
بروزرسانی (Update)
Future updateUser(Database db, int id, Map user) async {
await db.update('users', user, where: 'id = ?', whereArgs: [id]);
}
حذف (Delete)
Future deleteUser(Database db, int id) async {
await db.delete('users', where: 'id = ?', whereArgs: [id]);
}
نتیجهگیری
با استفاده از SQLite و پکیج sqflite در فلاتر میتوانید به راحتی دادهها را در اپلیکیشنهای خود مدیریت کنید. این روش مناسب برای ذخیرهسازی اطلاعات کاربران، تنظیمات اپلیکیشن و سایر اطلاعات محلی است.
اگر سوالی یا مشکلی داشتید، آن را در بخش نظرات مطرح کنید!