#android
#Android
Вопрос:
Я интегрировал c2dm в свое приложение, оно работает нормально. как только пришло уведомление c2dm, я выполняю некоторые операции с базой данных, поэтому мне нужен контекст для создания объекта OrmLiteSqliteOpenHelper.
OrmLiteSqliteOpenHelper lDatabaseHelper = OpenHelperManager.getHelper(context.getApplicationContext());
В обычных случаях это нормально.
Предположим, если я принудительно остановлю свое приложение вручную из настроек-
приложение-> manageapplication. если какое-либо сообщение c2dm появилось после того, как я не смог создать объект OrmLiteSqliteOpenHelper. кажется, что контекст приложения становится нулевым.
Исключение : java.lang.Исключение IllegalStateException: не удалось найти OpenHelperClass, поскольку ни один из его общих параметров не расширяет OrmLiteSqliteOpenHelper: null
Как мне получить контекст приложения после принудительной остановки приложения.
я перепробовал все случаи: context.getApplicationContext() , context, this .
Пожалуйста, помогите мне.
Ответ №1:
Это может решить вашу проблему, если вы явно укажете ORMLite имя вашего класса databasehelper.
Для этого откройте res/values/strings.xml , и добавить
<string name="open_helper_classname">your.full.package.name.DatabaseHelper</string>
( http://ormlite.com/docs/android пункт 5)
Ответ №2:
заставьте приложение сделать снимок его текущего состояния перед закрытием и перезагрузите снимок при загрузке. Вы даже можете настроить диалоговое окно, чтобы выбрать, чтобы не открывать снимок.
-Панда
Комментарии:
1. Спасибо, панда, я новичок в Android, можете ли вы рассказать, как это сделать. или пример кода может быть полезен.