4

我当前的 AndroidManifest 包含 Sugar ORM 声明如下

<application
    android:name="com.orm.SugarApp"

如他们在http://satyan.github.io/sugar/getting-started.html的文档中所述。它包含在 jar 库中。

现在我需要添加一个全局变量的声明,如此处所示 Android 全局变量需要添加

application android:name="MyApplication" android:icon="@drawable/icon" android:label="@string/app_name">

到现有的应用程序部分。但这意味着两个应用程序部分或两个“android:name”是完全错误的。如何实现两个应用程序部分的这种场景

4

2 回答 2

11

你所需要的只是像这样com.orm.SugarApp在你的MyApplication类中扩展:

public class MyApplication extends com.orm.SugarApp {

    @Override
    public void onCreate() {
        super.onCreate();
    }

    @Override
    public void onTerminate() {
        super.onTerminate();
    }

    private String someVariable;

    public String getSomeVariable() {
        return someVariable;
    }

    public void setSomeVariable(String someVariable) {
        this.someVariable = someVariable;
    }
}

MyApplication并在清单中使用您的:

<application android:name="MyApplication" android:icon="@drawable/icon" android:label="@string/app_name">
于 2014-11-29T15:44:22.383 回答
3

如果你想同时使用 sugar-orm 和 multidex 作为 android:name,你可以参考下面的例子。

import android.content.Context;
import android.support.multidex.MultiDex;
import com.orm.SugarApp;

public class MyApplication extends SugarApp {
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
  }
}

在这里,我使用 com.orm.SugarApp 扩展了 MyApplication 并在其中安装了 Multidex,下一部分是在 Application 标签中的 android:name="MyApplication" 中包含 MyApplication,如下所示

<application
  ----------
  ----------
  android:name="MyApplication"/>
于 2016-05-02T11:25:27.223 回答