繁体   English   中英

Android:如何还原对象onResume并将其保存在onPause?

[英]android: how to restore an object, onResume, and save it onPause?

我想暂停保存一个对象(Myclass),并在应用程序恢复时加载它。

我尝试了一切,但没有任何效果。

问题出现时,我正在尝试创建一个线程并使它在我的主要活动上运行。 当我按下后退按钮(退出应用程序)并再次单击该应用程序时,这将创建一个新线程,并且不会继续执行旧线程。

使类(MyClass)实现Serializable ,然后可以在销毁活动时将其保存为文件,并在恢复活动时从文件中将其还原

public boolean ObjectToFile(String fileName, Object obj){
    boolean success = false;        
    FileOutputStream fos = null;
    ObjectOutputStream out = null;
    try{
        File dir = GetAppDir();
        if(dir != null){
            fos = new FileOutputStream(dir + "/" + fileName);
            out = new ObjectOutputStream(fos);
            out.writeObject(obj);
            out.close();
            success = true;
        }
    }catch(Exception e){}
    return success;
}

public Object FileToObject(String fileName){
    Object obj = null;
    try{
        File dir = GetAppDir();
        if(dir != null){
            File f = new File(dir, fileName);
            if(f.exists() && f.isFile()){       
                FileInputStream fis = null;
                ObjectInputStream in = null;
                fis = new FileInputStream(f);
                in = new ObjectInputStream(fis);
                obj = in.readObject();
                in.close();
            }
        }
    }catch(Exception e){}
    return obj;
}

本质上,您不能(也不应该)做您想做的事情。 如果您有要在用户结束会话后继续执行的代码*,则您的代码应与服务关联运行。 然后,代码应将其工作写入持久性存储,或者您的服务应允许一些绑定接口,以使新创建的Activity与线程连接。

*如果用户支持我们的活动,则会话结束。 这与用户按下HOME键不同,这表示用户希望在返回到您的应用程序时恢复他们正在做的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM