首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在活动之间保留/传递数据的更好方法

在活动之间保留/传递数据的更好方法
EN

Stack Overflow用户
提问于 2014-06-04 16:16:38
回答 1查看 218关注 0票数 0

我正在用解析SDK制作一个安卓应用程序。我正在挣扎的是创建一个帖子的流程。目前,在我的主要活动中,用户选择帖子的类型(照片、视频等)。拍摄一张照片/视频,然后进入下一个名为NewActivity的活动。在此活动中,用户可以查看照片/视频并编辑帖子的隐私或位置。若要更改隐私或位置,请为每个用户启动新的活动。

我遇到的主要问题是在活动之间保留和传递这个Post对象。

我的第一个(糟糕的)解决方案只是在捆绑中传递数据,但很快就变得非常混乱,因为我真的需要在活动之间传递一个Post对象。我从该解决方案切换到使用名为DataHolder的Singleton类。

在每个活动中,我调用DataHolder.getInstance(),当单击create按钮时,通过执行:DataHolder.getInstance().setPost(new Post())创建一个新的Post对象。在下面的活动中,当用户输入更多关于post的信息时,我设置了Post的属性。

在我遇到这个问题之前,一切都进行得很顺利。当我回到我的应用程序(大概它已经被杀死了)时,我会得到一个NullPointerException,因为Post对象是空的。我正在看Android在活动/服务之间传递数据的文档,需要一点帮助。

我应该在这里使用Singleton类模式吗?在活动之间传递这个Post对象的最有效和最简单的方法是什么?我应该使用单例应用程序吗?我会使用ParcelableSerializable,但是Post对象是ParseObject,所以这不是一个选项。为了隐私和放置活动(尽管它们有不同的屏幕和不同的操作栏),我应该避免使用片段来传递数据吗?我是否应该将startActivityForResult用于隐私和场所活动?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-04 17:02:16

你应该考虑,这个应用程序可以在任何时候因任何原因而被杀死,并为此做好准备。您可以使用类似会话对象的方法在活动之间进行通信。您可以根据需要保存/加载它,这样就不会有丢失数据的风险。如果不能序列化实际对象(如ParseObject),则可以序列化所需的部分,以便重新构造它(即将图像保存在临时文件夹中并按需加载)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24042572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档