Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在活动之间保留/传递数据的更好方法_Android_Parse Platform - Fatal编程技术网

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

Android 在活动之间保留/传递数据的更好方法,android,parse-platform,Android,Parse Platform,我正在使用Android应用程序。我正在挣扎的是创建一个帖子的流程。目前,在我的主要活动中,用户选择帖子类型(照片、视频等)拍摄一张照片/视频并转到下一个名为NewActivity的活动。在此活动中,用户可以查看照片/视频并编辑帖子的隐私或位置。若要更改隐私或位置,请为每个用户启动新活动 我遇到的主要问题是在活动之间保留并传递这个Post对象 我的第一个(糟糕的)解决方案只是将数据以捆绑方式传递,但这很快变得非常混乱,因为我确实需要在活动之间传递Post对象。我从那个解决方案切换到使用一个名为,

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

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

我的第一个(糟糕的)解决方案只是将数据以捆绑方式传递,但这很快变得非常混乱,因为我确实需要在活动之间传递
Post
对象。我从那个解决方案切换到使用一个名为,
DataHolder
的单例类

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

在我遇到这个问题之前,一切都很顺利。当我返回到我的应用程序(可能它已经被杀死)时,我会得到一个
NullPointerException
,因为Post对象为null。我正在看报纸,需要一点帮助


我应该在这里使用Singleton类模式吗?在活动之间传递此
Post
对象的最有效和最简单的方法是什么?我应该使用应用程序单例吗?我会使用
Parcelable
Serializable
,但是
Post
对象是
ParseObject
,因此这不是一个选项。我是否应该通过使用隐私和场所活动的片段(尽管它们有不同的屏幕和不同的操作栏)来避免完全传递数据?对于隐私和场所活动,我应该使用<代码> StistActuviVeRebug <代码>吗?

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