使用ActiveAndroid和MultiDexApplication

3

我在项目中初始化ActiveAndroid时遇到了问题。它指出清单文件中的应用程序标签需要像这样:

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

很遗憾,我已经有这个了。
<application android:name="android.support.multidex.MultiDexApplication">

它说您可以通过使应用程序标记中的类成为ActiveAndroid的子类来解决问题。

还要注意,应用程序名称指向ActiveAndroid应用程序类。 这一步是ActiveAndroid工作所必需的。如果您已经指向自定义Application类,请将该类作为com.activeandroid.app.Application的子类。

如果您正在使用自定义Application类,请扩展com.activeandroid.app.Application而不是android.app.Application

public class MyApplication extends com.activeandroid.app.Application { ...

有没有办法解决这个问题?我无法更改代码以使用MultiDexApplication类,因为它是Android SDK的一部分。

1个回答

3

MultiDexApplication是Application子类(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">

应该是 new Configuration.Builder(this) 而不是 new Configuration(this) - nasch
啊,好发现。已修复。 - Adam Kimi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接