조용한 담장

Flutter : sqflite package (SQLite plugin) 본문

Flutter

Flutter : sqflite package (SQLite plugin)

iosroid 2019. 11. 8. 18:37

sqflite

Flutter 의 SQLite plugin 을 살펴보자.

sqflite

기본적인 동작 코드는 간단하다. db를 열고 query 처리하면 된다.

sqflite functions

getDatabasesPath() : database 가 저장되는 기본 위치 경로를 얻는다.

openDatabase() : 지정 위치에 있는 database 를 연다.

deleteDatabase() : 지정 위치에 있는 database 를 삭제한다.

그 외의 함수는 문서를 참조한다.

sqflite database functions

query 문자열을 그대로 사용하는 functions

execute(), rawInsert(), rawQuery(), rawUpdate(), update(), rawDelete()

example:

query 문자열을 argument 로 처리하는 helper funcitons

insert() , update(), query(), delete()

example:

Example App

database 에 데이터를 수정하는 버튼들을 클릭하면 결과가 위에 그려지는 동작을 한다.


테이블의 저장 단위 데이터인 Member class 이다.

Map 으로 값을 얻을 수 있는 함수가 있어야 값을 전달하기 편하다.


앱을 시작할때 getDatabasesPath() 가 리턴하는 위치에 database 'members.db' 를 생성하고 테이블 'members' 를 만든다.

앱의 첫 화면에 테이블을 보여주기 위해 memberList 에 있는 초기 데이터를 insert 한다.


database 의 insert, update, delete 를 구현한 함수이다.

database 에 입력될 정보는 Map<String, dynamic> 형식으로 전달하기 위해 MembertoMap()이 사용된다.


UI 를 구성한 코드이다.

database 를 수정한 후 newMemberList 의 값을 _getMember() 를 통해 업데이트 하면 Membertable class 를 통해 DataTable 을 업데이트 한다.

2, 3, 항목이 추가되고 1번 항목의 값이 업데이트 된 후의 화면.

Reference

https://pub.dev/packages/sqflite

https://flutter.dev/docs/cookbook/persistence/sqlite

'Flutter' 카테고리의 다른 글

Flutter : shared_preferences  (0) 2019.11.11
Flutter : path_provider  (0) 2019.11.11
Flutter : permission_handler  (0) 2019.11.05
Flutter : DataTable  (3) 2019.11.04
Flutter : Draggable  (0) 2019.10.28
Comments