lfkaya
Daha önce kullandığım bi kodu paylaşayım sizinle. Kendinize göre uyarlarsınız. Ben dbservice isminde bir class içinde tüm db işlemlerini yapıyordum. Bu assets’den kopyalayıp db çağırdığım kısım.
import 'dart:io';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
import 'package:path_provider/path_provider.dart';
.....Class içinde
static Database _database;
Future<Database> _getDatabase() async {
if (_database == null) {
_database = await _initializeDatabase();
return _database;
} else {
return _database;
}
}
_initializeDatabase() async {
Directory klasor = await getExternalStorageDirectory();
String sd = klasor.parent.parent.parent.parent.path;
String path = join(sd, "AppName", "Database.db");
if (!await databaseExists(path)) {
try {
await Directory(dirname(path)).create(recursive: true);
} catch (_) {}
final byteData = await rootBundle.load('assets/Database.db');
final file = File(path);
await file.writeAsBytes(byteData.buffer
.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
}
var myDatabase= await openDatabase(path, version: 1);
return myDatabase;
}
aynı class içinde kullanımı
var db = await _getDatabase();
var sonuc = await db.query("tableName", orderBy: 'columnName');