mirror of
https://github.com/nisrulz/flutter-examples.git
synced 2025-11-09 04:58:58 +00:00
New Example - App to store data locally using SQlite (#102)
* Added files of save data locally using sqlite example App * Update README.md
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import 'package:save_data_locally_with_sqlite/database/local_database.dart';
|
||||
import 'package:sqflite/sqflite.dart';
|
||||
|
||||
Future<void> InsertData(String note, String datetime) async {
|
||||
Database? db = await LocalDatabase.instance.database;
|
||||
|
||||
await db!.rawQuery('''
|
||||
INSERT INTO data (datetime,note,timestamp) VALUES ('$datetime','$note',CURRENT_TIMESTAMP)
|
||||
''');
|
||||
}
|
||||
|
||||
Future<List<Map>> GetData() async {
|
||||
Database? db = await LocalDatabase.instance.database;
|
||||
List<Map> list = await db!.rawQuery('''
|
||||
SELECT * FROM data ORDER BY timestamp DESC
|
||||
''');
|
||||
return list;
|
||||
}
|
||||
|
||||
Future<void> DeleteData(String datetime) async {
|
||||
Database? db = await LocalDatabase.instance.database;
|
||||
await db!.rawQuery('''
|
||||
DELETE FROM data WHERE datetime='$datetime'
|
||||
''');
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:path/path.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:sqflite/sqflite.dart';
|
||||
|
||||
class LocalDatabase {
|
||||
static final _databaseName = "database.db";
|
||||
static final _databaseVersion = 1;
|
||||
|
||||
static Database? _database;
|
||||
|
||||
LocalDatabase._privateConstructor();
|
||||
static final LocalDatabase instance = LocalDatabase._privateConstructor();
|
||||
|
||||
Future<Database?> get database async {
|
||||
if (_database != null)
|
||||
return _database; //if database already present it return the database else create a new one then return it
|
||||
_database = await _initDatabase();
|
||||
return _database;
|
||||
}
|
||||
|
||||
_initDatabase() async {
|
||||
Directory documentsDirectory = await getApplicationDocumentsDirectory();
|
||||
String path = join(documentsDirectory.path, '$_databaseName');
|
||||
return await openDatabase(path, version: _databaseVersion,
|
||||
onCreate: (db, int) async {
|
||||
await db.execute('''
|
||||
CREATE TABLE data (
|
||||
datetime TEXT,
|
||||
note TEXT,
|
||||
timestamp TIMESTAMP
|
||||
)
|
||||
''');
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user