2016-05-24 5 views
2

У меня возникли проблемы с инициализацией ActiveAndroid в моем проекте. Это состояние, что тег приложения в манифесте должно быть примерно так:Использование ActiveAndroid и MultiDexApplication

<application android:name="com.activeandroid.app.Application" ...> 

К сожалению, у меня это уже как это

<application android:name="android.support.multidex.MultiDexApplication"> 

Он говорит, что вы можете решить эту проблему, имея класс, в теге приложения является подклассом ActiveAndroid.

Обратите внимание, что имя приложения указывает на класс приложения ActiveAndroid. Этот шаг необходим для работы ActiveAndroid. Если вы уже указали на собственный класс приложений, просто сделайте этот класс подклассом com.activeandroid.app.Application.

Если вы используете пользовательский класс приложений, просто расширить com.activeandroid.app.Application вместо android.app.Application

общественного класса MyApplication расширяет com.activeandroid.app.Application {...

Есть ли способ для решения этой проблемы? Я не могу изменить код на класс MultiDexApplication, потому что он является частью Android SDK.

ответ

3

MultiDexApplication - это подкласс приложения (MultiDexApplication), поэтому расширяется и настраивается ActiveAndroid.

public class MyApplication extends MultiDexApplication { 
    @Override 
    public void onCreate() { 
    super.onCreate(); 

    Configuration config = new Configuration.Builder(this) 
    .setDatabaseName("mydb.db") 
    .setDatabaseVersion(1) 
    .create(); 
    ActiveAndroid.initialize(config); 
    } 
} 

В манифесте,

<application android:name=".MyApplication"> 
+0

Это должно быть 'новый Configuration.Builder (это)' 'не новая конфигурация (это)'. – nasch

+0

Ах. Хороший улов. Исправлена. –

+0

отличная помощь .. большое спасибо – faruk