내 문제는 내 안드로이드 응용 프로그램에서 존재 sqlite 데이터베이스를 사용하고 있습니다. 내가 잘못 경로를 사용하는 것이 의심안드로이드에 존재 SQLite 데이터베이스를 사용하여
08-17 06:35:18.416: ERROR/Database(286): sqlite3_open_v2("data/data/com.jeston.existed.sqlite/databases/android_test_db.db", &handle, 1, NULL) failed
08-17 06:35:18.437: ERROR/AndroidRuntime(286): Uncaught handler: thread main exiting due to uncaught exception
08-17 06:35:18.457: ERROR/AndroidRuntime(286): android.database.sqlite.SQLiteException: unable to open database file
:이 응용 프로그램은 내가 오류를 받고 있어요, 시작하는 동안 http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications
- 그것을 관리하기 위해, 나는 내 작업을 설명하는 잘 알려진 기사를 사용 mydatabase.I 자산 폴더에 내 android_test_db 파일을 내려 놓고, 블로그에 기록 된대로
private final static String DB_PATH = "data/data/com.jeston.existed.sqlite/databases/";
private final static String DB_NAME = "android_test_db.db";
그래서, 내 질문은 더이하는 Pathes이 올바른지이거나 준? 아니면 공통점이 틀렸어?
모두에게 감사드립니다.
SQLiteDatabase.OPEN_READONLY
의 것이 될 것 같은데, 더 -이 변경 후의 렸기 때문에 나는 실수가있어 : 데이터베이스 파일을 열 수 없습니다. 경험적으로, 나는 내 메서드에서 오류를 현지화했습니다 : public int getCountRecords ( ) { 커서 c = myDB.query (DB_NAME, 새 문자열 [] { "_id", "name", "age"} , null, null, null, null, null); return c.getCount(); }; 이 메소드는 예외를 throw합니다. "android_test_table"테이블이 없습니다. –오 그래, 왜 DB_NAME에서 쿼리합니까? 쿼리 (...)의 첫 번째 매개 변수는 테이블 이름이어야합니다. –
예, 당신의 권리, 절대적으로. 고맙습니다, 문제는 첫 번째 주장이 데이터베이스 이름이고 테이블 이름이 아니라는 것입니다. –