如何在不同活动中维护变量而不使用共享首选项

时间:2015-12-02 03:01:35

标签: java android

我希望通过不同的活动跟踪变量,但我不想使用Shared Preferences

我可以拥有一个带有静态变量和静态方法的类,但是当应用程序关闭并再次打开时,我会丢失数据。

// Data lost when app is closed.
public class DataHolder
{
    static boolean isDone = false;

    public static boolean isDone()
    {
        return isDone;
    }

    public static void setIsDone(boolean done)
    {
        isDone = done;
    }
}

如何在设备开启时保留数据?

基本上我希望我的数据保持活动状态,直到我重新启动设备。

我不想使用共享首选项,因为重新启动时数据必须重置。而且我认为我无法重启以清除数据。我想我可以在BOOT_COMPLETED时清除共享偏好设置,但也许有人有更好的想法。

5 个答案:

答案 0 :(得分:1)

据我所知,将数据保存到持久存储是您的问题的好答案。让我们按照你的说法使用SharedPreferences和BOOT_COMPLETED。

答案 1 :(得分:0)

您可以使用数据库保存数据,给您带来不便吗?

答案 2 :(得分:0)

您可以使用静态变量。 但是一旦你的应用程序完全销毁就会破坏它,否则它会在整个应用程序中正常工作

答案 3 :(得分:0)

Android的Application对象可以替换您的DataHolder对象。

课程描述

  

需要维护全局应用程序状态的基类。您可以通过在AndroidManifest.xml的<application>标记中指定其名称来提供自己的实现,这将导致在创建应用程序/包的过程时为您实例化该类。

答案 4 :(得分:0)

有三种方法可以在android中的持久存储中存储数据 1.SharedPreference 2.database 3.File