0

只要应用程序还活着,我就需要一种方法来存储 json 字符串。

所以换句话说:)如果应用程序改变方向或被暂停或停止,我需要存储我的值/字符串。但如果应用程序由于某种原因被强制终止,我希望删除/删除该值

我正在尝试创建一个自定义历史处理程序..只要应用程序进程实际运行,这个历史处理程序就应该在我的应用程序中保留操作的历史记录,但是一旦进程被杀死,我需要历史记录也被抹去。

我试图将值/字符串存储为 SharedPrefernce,并且只需将其删除一次 isFinishing()== true 我也尝试过使用 onDestroy .. 但似乎没有“beforeProcessKilled”事件来监听..所以也许有比使用 SharedPreferences 的另一种选择?

提前致谢!

4

3 回答 3

2

使用简单的 Java 静态数据成员。无论出于何种原因,该值将一直存在,直到进程终止。

于 2013-07-02T15:06:59.407 回答
0

这是我的方式,也许不是最好的。您可以创建一个名为“全局”或其他的类......然后在这样的内部声明一些“静态”变量:

public class Global_variables {

public static JSONArray test;
public static String test1;

}

然后,在您的活动或其他活动中,导入“Global_variables”并获取您的字符串或其他类似的内容:

String IwantTostore = Global_variable.test1;

如果你改变方向,你Global_variable.test1保持活力;)

希望这有帮助

于 2013-07-02T15:09:15.217 回答
0

我通常会做这样的事情

public class Globals extends Application {

    private String jsonString;

    public void jsonString(String string) {
        jsonString = string;
    }

    public String jsonString() {
        return jsonString;
    }

}

然后用类似的东西访问它

Globals myGlobal = (Globals)getApplication();
// get json string
String json = myGlobal.jsonString();

很快...

于 2013-07-02T15:11:44.980 回答