Android,单例,上下文
Android, Singleton, context
我遇到了一个问题。我正在创建一个需要是 Singleton 的助手 class。 class 有一个全局上下文变量。我无法执行此操作,因为上下文仅可从 onCreate 获得,并且此 Singleton 实例创建时间很早,因为它是静态的。
谁能帮我解决这个问题。 Singleton 实例最终需要上下文。
public class Helper {
private static Helper sHelper = new Helper() ;
private Helper () {} ;
public static Helper getInstance() {
return sHelper;
}
public boolean doSomething() {
mContext.getContentResolver;
return isDone;
}
}
您可以将上下文设置为您的 ApplicationContext。
您可以创建一个应用程序 class 并实现如下内容:
yourSingletonClass.getInstance().setContext(this);
这个调用应该在您的应用程序 class 的 onCreate 方法下。
有关更多信息,请尝试此文档:
Android - Application class
您只需将以下上下文传递给您的助手 class。
getApplicationContext()
您需要通过构造助手传递上下文 class:
getApplicationContext()
我遇到了一个问题。我正在创建一个需要是 Singleton 的助手 class。 class 有一个全局上下文变量。我无法执行此操作,因为上下文仅可从 onCreate 获得,并且此 Singleton 实例创建时间很早,因为它是静态的。
谁能帮我解决这个问题。 Singleton 实例最终需要上下文。
public class Helper {
private static Helper sHelper = new Helper() ;
private Helper () {} ;
public static Helper getInstance() {
return sHelper;
}
public boolean doSomething() {
mContext.getContentResolver;
return isDone;
}
}
您可以将上下文设置为您的 ApplicationContext。 您可以创建一个应用程序 class 并实现如下内容:
yourSingletonClass.getInstance().setContext(this);
这个调用应该在您的应用程序 class 的 onCreate 方法下。 有关更多信息,请尝试此文档: Android - Application class
您只需将以下上下文传递给您的助手 class。
getApplicationContext()
您需要通过构造助手传递上下文 class:
getApplicationContext()