Intereting Posts
Отсутствует значок навигации после переключения с ICS ActionBar на панель инструментов Lollipop Android wifi сниффер: найти ближайшие устройства Libavcodec.so: имеет перемещение текста Получение байтов / поток изображения или ImageSource в Xamarin.Forms? Слияние объекта Realm и объекта Gson Google Play показывает неявное разрешение READ_EXTERNAL_STORAGE Как проверить программно, если приложение установлено или нет в Android? Gradle в Android Studio: не удалось разрешить сторонние библиотеки Как я могу передать Экстра для Android, используя MonkeyRunner? Отменить регистрацию устройства из GCM с помощью регистрационного идентификатора в Android Как игнорировать аннотацию @JavascriptInterface со строками в API 17 -Android Пространство имен приложений не найдено в styles.xml в папке res Запретить новый экземпляр действия после нажатия на уведомление Retrofit 2.0-Beta1 Читать отзыв от наблюдаемого Определенное значение XML для Android XML дает неожиданные результаты

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

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

    Вы должны указать свое собственное 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>