我尝试通过扩展Application类来创建全局变量。
import android.app.Application;
public class GlobalVariable extends Application
{
private String myState;
public String getState()
{
return myState;
}//End method
public void setState(String s)
{
myState = s;
}//End method
}//End Class
这适用于ICS以下的API级别,但如果用户将开发人员设置设置为保持单个活动,则会失败。
如果用户从最近的应用程序列表重新启动应用程序,它仍然正常工作,但如果应用程序从应用程序重新启动,数据将被重置。
有没有办法获得上述条件的全局数据?
编辑:此处存在对数据安全性的担忧,因此我无法将数据存储到任何存储空间,内部存储器或共享首选项等中。我希望数据保留在全局变量,以便一旦完整的应用程序被系统本身破坏或杀死,数据就会丢失。
答案 0 :(得分:1)
您可以使用共享首选项,并在那里存储数据。我更喜欢使用Application上下文创建的全局单例:
(参见构造函数和获取实例)
它使用(@Inject annotations)小数据绑定库:
https://github.com/ko5tik/andject
(还没有正式发布,你必须自己编译)