Vì lý do nào đó giải pháp xử lý cơ sở dữ liệu được mô tả trong this article không hoạt động trên HTC Desire HD sau khi cập nhật OTA lên 2.2.1 (1.72 .405.3). Nó hoạt động trên Desire HD trước khi cập nhật và tôi đã thất bại trong việc tái tạo lỗi trên các thiết bị thực chạy 2.1, 2.2 cũng như trong trình mô phỏng chạy tất cả các phiên bản.Xử lý cơ sở dữ liệu ngừng hoạt động trên Android 2.2.1 (Desire HD 1.72.405.3)
Thật không may là bạn không thể tạo AVD cho trình giả lập chạy Android 2.2.1 và tôi đã thử một ROM dựa trên 2.2.1 (Tôi có một chiếc HTC Desire thông thường) nhưng ứng dụng của tôi cũng không có vấn đề gì. . Vì vậy, câu hỏi đặt ra là nếu nó đang sử dụng SDK Android theo một cách nào đó, nó không phải là tất cả của một đột ngột gây ra vấn đề?
Tôi biết đây là một vấn đề rất cụ thể nhưng vì nhiều nhà phát triển hơn tôi báo cáo vấn đề cũng như thực tế là bạn không thể tạo AVD, tôi hy vọng câu hỏi được chấp nhận và tôi hy vọng ai đó có đầu mối vấn đề.
Dưới đây là một stack trace gửi vào tài khoản của thị trường của tôi bằng cách sử dụng:
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)
phương pháp liên quan có thể được tìm thấy tại pastebin. Vì chỉ có một liên kết có thể được bao gồm liên kết có thể được tìm thấy trong các ý kiến dưới đây. Lưu ý rằng dòng 81 được tìm thấy trong dấu vết ngăn xếp là dòng 10 tại pastebin.
http://pastebin.com/VTmCkeLq –
Nhận xét bổ sung từ những người dùng khác về cùng một vấn đề có thể được đọc từ nhận xét này và dưới đây: http://www.reigndesign.com/blog/using-your-own-sqlite -database-in-android-applications/comment-page-4/# comment-43655 –
là ngôn ngữ en_US không có trên phiên bản Android 2.2.1 mới? Từ nguồn Android SQLiteDatabase.setLocale: "@throws SQLException nếu không thể đặt ngôn ngữ. Lý do phổ biến nhất cho điều này là không có trình thu thập nào có sẵn cho ngôn ngữ bạn yêu cầu." –