this article에 설명 된 데이터베이스 처리 솔루션이 OTA 업데이트 2.2.1 (1.72)을받은 후 HTC Desire HD에서 작동하지 않습니다. .405.3). 업데이트 전에 Desire HD에서 작업했는데 실제 장치에서 2.1, 2.2 및 모든 버전을 실행하는 에뮬레이터에서 오류를 재현하지 못했습니다.데이터베이스 처리가 안드로이드 2.2.1에서 작동을 멈췄습니다. (Desire HD 1.72.405.3)
안타깝게도 Android 2.2.1을 실행하는 에뮬레이터 용 AVD를 만들 수는 없지만 2.2.1을 기반으로 ROM을 사용해 보았습니다. (일반적인 HTC Desire를 뿌리 내렸음)하지만 응용 프로그램도 문제없이 작동합니다. . 문제는 안드로이드 SDK를 어떤 방법으로 사용하고 있다면 갑자기 문제가 발생하지 않아야한다는 것입니다.
저는이 문제가 매우 구체적이라는 것을 알고 있습니다. 그러나 제게 AVD를 만들 수 없다는 사실 외에 문제를보고하는 개발자가 많기 때문에 질문이 받아 들여지고 누군가가 단서를 가지기를 바랍니다. 문제.
여기에 사용자가 내 마켓 계정으로 전송 스택 트레이스는 다음과 같습니다
Caused by: android.database.sqlite.SQLiteDiskIOException: disk I/O error
at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:2049)
at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1917)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:889)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:168)
at com.MyApp.DataBaseHelper.createDataBase(DataBaseHelper.java:81)
at com.MyApp.InitialActivity.onCreate(InitialActivity.java:33)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2797)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1066)
관련 방법은 페이스트 빈에서 찾을 수 있습니다. 단 하나의 하이퍼 링크가 포함될 수 있기 때문에 링크는 아래의 주석에서 찾을 수 있습니다. 스택 트레이스에서 발견 된 81 줄은 pastebin에서 줄 10입니다.
http://pastebin.com/VTmCkeLq –
다른 사용자의 동일한 의견에 대한 추가 의견은이 주석과 아래에서 읽을 수 있습니다. http://www.reigndesign.com/blog/using-your-own-sqlite -database-in-android-applications/comment-page-4/# comment-43655 –
은 새로운 Android 2.2.1 버전에서 사용할 수없는 로켈 en_US입니까? 안드로이드 소스 SQLiteDatabase.setLocale에서 : "@ 로케일을 설정할 수없는 경우 SQLException이 발생합니다. 가장 일반적인 이유는 요청한 로케일에 사용할 수있는 콜레이터가 없다는 것입니다." –