El bloqueo de la aplicación con "android.app.Application no se puede convertir en"
Estoy deshaciendo a ORMlite. Por lo tanto, tengo esta clase 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; } } }
Y en el Main, mostraré sólo estas líneas donde tengo el problema:
- Cómo extender la clase BaseDaoImpl de ORMLite en Android para ampliar la funcionalidad
- Prueba de la clase de comunicación con DB a través de DAO de ORMLite
- Objeto de almacenamiento Robospice que extiende ArrayList en la base de datos a través de Ormlite
- Miles de insertos crudos de ORMLite que tardan varios minutos en Android
- Ormlite Android inserciones masivas
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); dtoFactory = (DtoFactory) getApplication();
Y el manifiesto.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>
El mensaje de error es:
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
¿Puedes ayudarme a resolver esto?
- Múltiples claves primarias - ORMlite
- ¿Ormlite admite la herencia?
- ORMLite id genera
- Persistencia de una clase Collection con ORMLite en android
- ¿Qué es un buen tutorial para usar ORMLite con SQLite y Android
- Persista HashMap en ORMLite
- Rendimiento de ORMLite: ArrayAdapter vs CursorAdapter vs un adaptador personalizado
- Proguard con la colección parametrizada orrmlite
DtoFactory
especificar su Application
personalizada (es decir, DtoFactory
) en el 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>
- RxJava / Retrofit – ¿Cómo puedo obligar a los usuarios a usar una subclase específica de suscriptor?
- Ancho y color del borde del elemento ListView de Android