[flutter] 플러터(sqflite)와의 데이터 로그 관리 방법
플러터 앱을 개발하다 보면 데이터베이스가 필요한 경우가 많습니다. sqflite는 플러터에서 사용되는 경량 SQLite 바인딩이며, 데이터를 저장하고 관리하는 데 유용합니다. 이 포스트에서는 플러터 앱에서 sqflite를 사용하여 데이터를 로그로 관리하는 방법에 대해 알아보겠습니다.
1. sqflite 패키지 추가
먼저, pubspec.yaml
파일에 sqflite 패키지를 추가해야 합니다.
dependencies:
sqflite: ^2.0.0+3
패키지를 추가한 후에는 flutter pub get
명령어를 통해 패키지를 다운로드 받아야 합니다.
2. 데이터베이스 생성
다음으로는 데이터베이스를 생성해야 합니다. 데이터베이스를 생성하기 위해서는 path_provider
패키지도 함께 추가해야 합니다.
import 'package:path_provider/path_provider.dart';
import 'package:sqflite/sqflite.dart';
class DatabaseProvider {
DatabaseProvider._();
static final DatabaseProvider db = DatabaseProvider._();
Database? _database;
Future<Database?> get database async {
if (_database != null) {
return _database;
}
_database = await createDatabase();
return _database;
}
Future<Database> createDatabase() async {
// 데이터베이스 생성 및 반환 로직 작성
}
}
3. 데이터 로그 작성
이제 데이터베이스가 생성되었으므로 데이터를 로그로 작성하는 함수를 만들어 보겠습니다.
Future<int> addLog(Log log) async {
final db = await database;
int result = await db.insert(logTable, log.toMap());
return result;
}
4. 데이터 로그 조회
데이터베이스에 작성된 로그를 조회하는 함수도 만들어 보겠습니다.
Future<List<Log>> getLogs() async {
final db = await database;
var logs = await db.query(logTable, orderBy: "timestamp DESC");
List<Log> logList = logs.isNotEmpty
? logs.map((log) => Log.fromMap(log)).toList()
: [];
return logList;
}
결론
이제 플러터 앱에서 sqflite를 사용하여 데이터를 로그로 관리하는 방법에 대해 알아보았습니다. sqflite를 사용하면 앱 내 데이터를 효율적으로 저장하고 관리할 수 있으며, 데이터베이스를 효과적으로 활용하여 로그 기능을 구현할 수 있습니다.
참고: sqflite 패키지 문서