Android 存储字符串,直到应用程序获取;“强制停止”;

Android 存储字符串,直到应用程序获取;“强制停止”;,android,storage,kill-process,Android,Storage,Kill Process,我需要一种方法来存储json字符串,只要应用程序处于活动状态 换句话说:) 如果应用程序更改方向或暂停或停止,我需要存储我的值/字符串。。 但是如果应用程序由于某种原因被强制终止,我希望删除/删除该值 我正在尝试创建一个自定义历史处理程序。。支持此历史处理程序,以便在应用程序进程实际运行期间,在我的应用程序中保留操作的历史记录,但一旦进程被终止,我也需要删除历史记录 我尝试将值/字符串存储为SharedReference,并在isFinishing()==true时将其删除 我也尝试过使用onD

我需要一种方法来存储json字符串,只要应用程序处于活动状态

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

我正在尝试创建一个自定义历史处理程序。。支持此历史处理程序,以便在应用程序进程实际运行期间,在我的应用程序中保留操作的历史记录,但一旦进程被终止,我也需要删除历史记录

我尝试将值/字符串存储为SharedReference,并在isFinishing()==true时将其删除 我也尝试过使用onDestroy。。但似乎没有“BeforeProcessKill”事件可供监听。。那么,除了使用SharedReferences之外,还有其他选择吗


提前谢谢

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

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

public class Global_variables {

public static JSONArray test;
public static String test1;

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

String IwantTostore = Global_variable.test1;
如果更改方向,您的
全局_变量.test1
将保持活动状态;)


希望这有帮助

我通常会这样做

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();

所以…

像一个普通的静态变量/objectref?(比如static String test=“test”?)我想我试过了。。但由于某种原因,当我改变设备的方向时,它就失去了价值。。但是我可能错了。@Inx:“像一个普通的静态变量/objectref?”--是的。“但由于某种原因,在我更改设备的方向时丢失了该值”-除非您自己意外重置了该值。好的,谢谢!我会再试一次,看看是否还有其他原因导致“重置”