何らかの理由により、this articleに記載されているデータベース処理ソリューションが、OTA 2.2.1アップデート(1.72)後にHTC Desire HDで動作しません.405.3)。アップデート前にDesire HDで動作していました。2.1、2.2を実行している実際のデバイスや、すべてのバージョンを実行しているエミュレータでエラーを再現できませんでした。Android 2.2.1(Desire HD 1.72.405.3)でデータベース処理が停止しました
残念ながら、Android 2.2.1を実行しているエミュレータ用にAVDを作成することはできません。2.2.1に基づいてROMを試しましたが(私は根っこの普通のHTC Desireを持っています)、私のアプリケーションは問題なく動作します。だから問題は、何らかの方法でAndroid 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)
関連法はペーストビンで見つけることができます。 1つのハイパーリンクのみが含まれるので、リンクは下記のコメントにあります。スタックトレースに見つかった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ですか? AndroidのソースであるSQLiteDatabase.setLocale: "@ロケールを設定できなかった場合はSQLExceptionが発生します。これが最も一般的な理由は、要求したロケールで使用可能な照合がないためです。 –