마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 자꾸 오류가 뜹니다 logcat좀 봐주세요

0 추천

자바는 오류나는 부분 더블클릭하면 자동으로 해당 영역아 가지고

오류가 어느 class 몇번째줄에 무슨문제가 났다 이렇게 나와 혼자 디버깅하기 수월한데 

안드로이드는 도대체 어찌 해야할지 감이 전혀 안옵니다...

아래의 로그켓 도대체 무슨 문제가 있는거죠? 데이터베이스 저장장치가 오픈이 실패했다는데 영문을 모르겠네요 무엇을 체크하면되나요?

 

07-13 15:23:26.079: E/SQLiteLog(26434): (14) cannot open file at line 31480 of [f5b5a13f73]
07-13 15:23:26.079: E/SQLiteLog(26434): (14) os_unix.c:31480: (2) open(/storage/emulated/0/Diary/Diary.db) -
07-13 15:23:26.079: E/SQLiteDatabase(26434): Failed to open database '/storage/emulated/0/Diary/Diary.db'.
07-13 15:23:26.079: E/SQLiteDatabase(26434): android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:905)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:890)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:795)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1036)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:256)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at com.example.diary.db.DiaryDatabase.open(DiaryDatabase.java:35)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at com.example.diary.MainActivity.openDatabase(MainActivity.java:101)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at com.example.diary.MainActivity.onStart(MainActivity.java:91)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.Activity.performStart(Activity.java:5285)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.ActivityThread.access$800(ActivityThread.java:139)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.os.Handler.dispatchMessage(Handler.java:102)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.os.Looper.loop(Looper.java:136)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at android.app.ActivityThread.main(ActivityThread.java:5103)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at java.lang.reflect.Method.invokeNative(Native Method)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at java.lang.reflect.Method.invoke(Method.java:515)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
07-13 15:23:26.079: E/SQLiteDatabase(26434):  at dalvik.system.NativeStart.main(Native Method)

 

 

 

이따구로만들어 (480 포인트) 님이 2014년 7월 13일 질문
에러에 나와있는거 같은데, 파일 엑세스 권한이 없거나 존재하지 않는 폴더에 파일을 생성하려는거 같이 보이는군요.

1개의 답변

0 추천
com.example.diary.MainActivity.openDatabase(MainActivity.java:101)

요기서 에러가

Failed to open database '/storage/emulated/0/Diary/Diary.db'.

db의 위치가 sdcard에 있나요?

보통은 /data/data/packagename/databases/db.db에 위치하는데요
nicehee (73,100 포인트) 님이 2014년 7월 13일 답변
...