1
0
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:
Mukund Tandon
2022-10-22 23:48:58 +05:30
committed by GitHub
parent 5148c1724b
commit 52a150d66b
67 changed files with 1633 additions and 0 deletions

View File

@@ -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'
''');
}

View File

@@ -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
)
''');
});
}
}