안드로이드 SQLite에 대해서 주의해야 할 사항
SQLiteOpenHelp 클래스의 두 abastract 메소드인 onCreate()와 onUpgrade()가 호출되는 시점에 대해서 주의해야 할, 그리고 알아야 할 사항이 있다.
여기서 MyDB는 SQLiteOpenHelper 클래스를 상속받은 클래스라고 할 경우
(class MyDB extends SQLiteOpenHelper)
① MyDB dbHelp = new MyDB(this);
⇒ 이 단계에서는 SQLiteOpenHelper를 상속 받은 MyDB의 생성자만 호출이
되고 MyDB의 onCreate()는 아직 호출이 안된다.
SQLiteDatabase db = dbHelp.getReadableDatabase() 혹은
dbHelp.getWritableDatabase()가 호출 될 때 비로소
MyDB의 onCreate()가 호출되서 테이블이 생성이 된다.
getReadableDatabase()하는 시점에서 테이블이 없으면
테이블이 새롭게 생성이 되고 기존 존재하면 그것을 Radable이나 Writable 중
하나로 open한다.
② MyDB의 onUpgrade()가 호출되는 시점
⇒ super(context,"Test.db", null, 2); 의 맨 마지막 인자인 DB의
version 값이 상향 조정될 때 호출된다.
'Android' 카테고리의 다른 글
안드로이드에서 현재 시간을 24시간제로 표시법(각종 시간 표시법) (0) | 2015.10.19 |
---|---|
TextView에서 웹 페이지 링크 거는 법 (0) | 2015.10.16 |
Thread 안에서 Thread를 사용할 경우 오류 문제 해법 (0) | 2015.10.14 |
안드로이드 WebView의 lodaData() 에서 한글 깨짐 방지 (0) | 2015.10.14 |
EditText에 숫자만 입력 받도록 하는 간단한 방법 (0) | 2015.10.12 |