Проблема с тестированием и отладкой приложений Android - PullRequest
2 голосов
/ 03 января 2011

На самом деле у меня есть два связанных вопроса, касающихся ошибок Android. Я выпустил обновление приложения, которое раньше работало нормально и работает в текущей версии на моем Nexus One, G1 и эмуляторе. Однако я получил много журналов ошибок через консоль Android Market с момента последнего обновления, и я не могу воспроизвести ошибку. Приложение довольно простое, с двумя действиями, поэтому тестирование приложения должно быть довольно простым. Однако часто встречаются ошибки, которых я не обнаружил перед выпуском.

Итак, первый вопрос: есть ли способ провести более тщательный тест?

Мой второй вопрос касается именно текущей ошибки. Кажется, есть проблема с базой данных SQLite, которая не может найти таблицу. Я думаю, что база данных не может быть создана в первую очередь, поэтому ошибка. Вот трассировка стека:

КСТАТИ. Было три пользователя с Desire HD с жалобами. Известна ли ошибка?

java.lang.RuntimeException: Unable to resume activity {XXX/XXX}: android.database.sqlite.SQLiteException: no such table: main_ger: , while compiling: SELECT _id, code, area FROM main_ger
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3394)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3415)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2859)
at android.app.ActivityThread.access$2300(ActivityThread.java:136)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:5068)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.sqlite.SQLiteException: no such table: main_ger: , while compiling: SELECT _id, code, area FROM main_ger
at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:91)
at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:80)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:46)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1417)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1301)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1256)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1336)
at XX.XXX.DataBaseHelper.fetchAll(DataBaseHelper.java:190)
at XX.XXX.fillData(mainactivity.java:240)
at XX.XXX.onResume(mainactivity.java:522)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1238)
at android.app.Activity.performResume(Activity.java:3904)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3384)
... 12 more

Ответы [ 4 ]

2 голосов
/ 15 января 2011

Кажется, что есть еще люди с этой проблемой:

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/comment-page-4/#comment-43655

Обработка базы данных перестала работать на Android 2.2.1 (Desire HD 1.72.405.3)

http://forum.xda -developers.com / showthread.php? Т = 895942 ** 1013

Разработчик в следующей статье, кажется, нашел решение. Я скоро попробую и дам вам знать. Есть ли кто-нибудь с желанием помочь мне проверить это?

http://www.anddev.org/networking-database-problems-f29/missing-table-in-sqlite-with-specific-version-of-desire-hd-t50364.html

1 голос
/ 12 января 2011

Да, это известная ошибка .... У меня Desire HD, но он не рутирован, поэтому я не могу точно проверить, что происходит внутри FS. (папка данных). Мой логкат это то же самое: (

1 голос
/ 13 января 2011

У нас точно такая же проблема. Мы получаем в аренду по 5 отчетов в день от наших пользователей с этой проблемой. Наше приложение существует уже год, и у нас никогда не было этой проблемы, пока на рынке не появился Desire HD.

0 голосов
/ 03 января 2011

Да, Android поддерживает автоматическое модульное тестирование. Пожалуйста, смотрите эту статью:
Справочник разработчика Android: основы тестирования

Что касается ошибки SQLLite, что заставляет вас думать, что была попытка создать базу данных? Разве это не исключение? Проверяете ли вы, что база данных существует, и создаете ее, если ее нет, когда ваша деятельность возобновляется? А вы воссоздаете таблицы, если их нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...