Intereting Posts
Исправлен заголовок и нижний колонтитул в мобильной версии сайта ActivityUnitTestCase и startActivity Кроутоны, не показывающие время от времени Android – настройка LayoutParams программно Android: Два пальца с двойным нажатием можно обнаружить с помощью GestureDetector? Каков правильный способ вставки активности в другой проект? Устаревшие методы, как я могу заменить его новым Разрешение URI из разных источников в Android при открытии изображения Как установить пустой фоновый рисунок ListView? Получить поле зрения Android: как исправить gps с ложными (поддельными) координатами? Панель инструментов не будет разрушаться с помощью Scrollview в качестве дочернего элемента CoordinatorLayout Предотвращение использования RecyclerView для использования событий касания Управление обратными вызовами удаленного обслуживания Как удалить разделитель перед меню панели действийItem, в котором есть только текст?

Сбой приложения с помощью «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>