본문 바로가기
[android] SQLiteDatabase 와 SQLiteOpenHelper Test [android] SQLiteDatabase 와 SQLiteOpenHelper Test -DB File delete 를 수행한 다음 getWritableDatabase 나 getReadableDatabase 를 호출하면 SQLiteOpenHelper 의 onCreate 가 재수행된다. (DB file 의 실 존재 유무를 확인한다는 얘기렸다?) -이미 Close 된 DB 에 뭔가를 수행하려 한다면 아래와 같은 IllegalStateException 이 발생한다java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/user/0/com.ck.prodtest/databases/myDB -b.. 2019. 1. 10.
[SQLite3] 09. 안드로이드와 데이터베이스 [SQLite3] 09. 안드로이드와 데이터베이스 이 글은 "빠르게 활용하는 모바일 데이터베이스 SQLite3” 이란 글을 보며 필요한 내용만 정리한 글입니다.자세한 내용은 책을 구매해서 보세요 -안드로이드 플랫폼에서는 C 언어 기반의 SQLite3 lib 이 JNI 를 통해 제공되므로 SQLite3 C API 대신 안드로이드 플랫폼에서 제공하는 클래스와 메서드를 사용해야 한다. 1. DB 관련 클래스 DB 생성 -Context.openOrCreateDatabase() 메서드를 사용해 DB 를 만들 수 있다.DB 파일 이름, 권한, CursorFactory 를 인자로 전달한다.반환값은 SQLiteDatabase 객체이다. 권한 부분은 아래 옵션을 갖는다. MODE_PRIVATE : 해당 앱만 독점적으로 .. 2018. 5. 25.
SQLite Bulk Insert 가장 빠른 방법은? SQLite Bulk Insert 가장 빠른 방법은? 결론 : 일반적인 Bulk Insert 보다 UNION 을 사용한 방법이 훨씬 빠르다. 일반 bulk insert SQLiteDatabase db = null;SQLiteStatement statement = null; try{db = getWritableDatabase();db.beginTransaction();statement = db.compileStatement("INSERT INTO table_name ( id, name, ... ) values( ?, ?, ... )" ); for( Item item : items ){statement.bindLong(1, item.id );statement.bindString( 2, item.name );.. 2015. 12. 18.
반응형