1.

SQLiteOpenHelper를 상속받은 DBHelper 클래스 생성

SQLiteOpenHelper클래스를 상속받은 클래스를 정의하고,
OnCreate()OnUpgrade() 오버라이딩 해 줌.

 

2.

SQLiteOpenHelper 생성자

      • Context: 데이터베이스를 생성하는 액티비티

      • DATABASE_NAME: DB 파일 명

      • Factory: 커서를 저장하는 매개변수, null을 전달하면 표준 커서를 사용

      • Version: 데이터베이스 버전

OnCreate() : 테이블을 생성하고 초기 데이터를 생성할 코드를 넣어 줌

OnUpgrade(): 데이터베이스를 업그레이드할 코드를 넣어 줌

 

3.

SQLiteDatabase getWritableDatabase()

     – 읽기/쓰기 모드로 데이터베이스 오픈

     – 처음 호출 시에는 onCreate() 가 호출됨

SQLiteDatabase getReadableDatabase()

     – 읽기 전용 모드로 데이터베이스 오픈

     – 디스크가 꽉 찼거나 권한이 없어서 읽기 전용으로만 오픈 할 때 사용

 

 

4.

void execSQL(String sql) : select를 제외한 모든 SQL 문장을 실행함

    – Create table, insert, update, delete

    – db.execSQL(“create table customer (id integer PRIMARY KEY, name text, age integer, address text, salary integer);");

    – db.execSQL(“insert into customer(id, name, age, address, salary) values(1, ‘Hong’, 32, ‘Seoul’,2000);”;

 

5.

SQLite 자료형

   NULL
   INTEGER : 1, 2, 3, 4, 6, 8 bytes의 정수 값
   REAL : 8bytes의 부동 소수점 값
   TEXT : UTF-8, UTF-16BE, UTF-16LE 인코딩의 문자열
   BLOB : 입력 된 그대로 저장