Intereting Posts
Как управлять несколькими версиями одного и того же приложения для Android Программно подключить Wifi пароль? Как проверить покупку приложения для Android на стороне сервера (Google Play в приложении billing v3) Возможно ли получить количество загрузок приложения из Google Play? Android ClassCastException с пустым типом Виджеты, настроенные с помощью android: configure будут получать onUpdate, даже если конфигурация не завершена Как лучше всего в Android удалить все строки из таблицы Что такое orderInCategory в пункте меню ActionBar и почему он используется для …? Как очистить фрагмент в андроиде Как CursorLoader автоматически обновляет представление, даже если приложение неактивно? Динамические версии (с использованием +) зависимостей в градусах Получение SMS с помощью MonoDroid Как реализовать Up Navigation в Android для 2 родителей, которые указывают на 1 дочернюю деятельность Возобновить воспроизведение видеоизображения с onResume Как обновить пункт меню, показанный в ActionBar?

Сбой приложения с помощью «android.app.Application нельзя отбрасывать»

Я отключаю ORMlite. Итак, у меня есть этот класс DAO Factory

public class DtoFactory extends Application { private SharedPreferences preferences; private DatabaseHelper databaseHelper = null; private Dao<ReleveEntity, Integer> releveDAO = null; @Override public void onCreate() { super.onCreate(); preferences = PreferenceManager.getDefaultSharedPreferences(this); databaseHelper = new DatabaseHelper(this); } public SharedPreferences getPreferences() {return preferences;} public Dao<ReleveEntity, Integer> getReleveDao() throws SQLException, java.sql.SQLException { if (releveDAO == null) { releveDAO = databaseHelper.getDao(ReleveEntity.class); } return releveDAO; } @Override public void onTerminate() { super.onTerminate(); if (databaseHelper != null) { OpenHelperManager.releaseHelper(); databaseHelper = null; } } } 

И в Main, я покажу только эти строки, где у меня есть проблема:

  @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); dtoFactory = (DtoFactory) getApplication(); 

И manifest.xml

  <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.exercice.ftouzi.ReleveActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.exercice.ormdatabase.DtoFactory" > </activity> </application> 

Ошибка сообщения:

  E/AndroidRuntime(19672): FATAL EXCEPTION: main E/AndroidRuntime(19672): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.formation.adapter/com.exercice.ftouzi.ReleveActivity}: java.lang.ClassCastException: android.app.Application cannot be cast to com.exercice.ormdatabase.DtoFactory 

Не могли бы вы помочь мне решить эту проблему?

Solutions Collecting From Web of "Сбой приложения с помощью «android.app.Application нельзя отбрасывать»"

Вы должны указать свое собственное Application (то есть DtoFactory ) в AndroidManifest.xml

  <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:name="com.exercice.ormdatabase.DtoFactory"> <activity android:name="com.exercice.ftouzi.ReleveActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>