Flutter : sqflite package (SQLite plugin)
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>
형식으로 전달하기 위해 Member
의 toMap()
이 사용된다.
UI 를 구성한 코드이다.
database 를 수정한 후 newMemberList
의 값을 _getMember()
를 통해 업데이트 하면 Membertable
class 를 통해 DataTable
을 업데이트 한다.
2, 3, 항목이 추가되고 1번 항목의 값이 업데이트 된 후의 화면.