본문 바로가기
[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.
[android] Concurrent Database Access [android] Concurrent Database Access https://github.com/dmytrodanylyk/dmytrodanylyk/blob/gh-pages/articles/Concurrent%20Database%20Access.md 새로운 SQLiteOpenHelper 를 만들면, 이것은 새로운 database connection 을 만드는 것이다.다른 connection 에서 동시에 한 db 에 write 를 시도하면, 한쪽은 lock 문제로 fail 한다. 여러 Thread 에서 동시에 db 작업을 할 경우에는 반드시 한 connection 을 사용하도록 유도해야 한다. 이 때 주의할 것은 각각의 thread 에서 db.close() 를 호출할 경우 한 connection 의 ge.. 2014. 8. 17.
반응형