我有一个android应用程序
@HiltAndroidApp
class MyApp extends Application {
static MyApp app;
static MyApp getApp() {
return app;
}
@Override
public void onCreate() {
super.onCreate();
app = this;
}
}
我试着在课堂上使用它
class AppStateUsingClass {
public void mymethod() {
MyApp app = MyApp.getApp();
//use app
}
}
现在我可以访问的应用程序,我没有上下文,但我不知道它是否正确的方式做。我的理解是,应用程序的生命周期是通过应用程序的启动和停止,因此它作为一个单一的生命周期,所以它应该是好的,但不确定。
有没有更简单更干净的api来访问应用程序,我在myapp类中有app state,我想在没有上下文的情况下访问它?
您有什么建议吗?
1条答案
按热度按时间mkshixfv1#
你所做的是一个相当普遍的模式,不应该真正造成问题。
只要应用程序的任何部分是活动的,应用程序类就可以被视为活动的单例。
文档特别声明这个类用于保存应用程序状态。
但是,根据您的实际设计、您想要保存的状态信息的类型以及您想要访问它的位置,您可能想要创建您自己的单例,独立于应用程序类并使用它。
或者,您可能需要初始化
AppStateUsingClass
在构造函数中传递状态对象。这是一个设计决策,如果您想对它有更多的意见,请创建一个有效的代码示例并发布它https://codereview.stackexchange.com