我有一些数据需要操作多个活动。基本上有一个只读屏幕和多个编辑屏幕挂起它。
首先,我考虑将数据作为字符串参数传递给意图,但如果用户在编辑字段后按下后退按钮,那么这些更改将会丢失。
那么在不同的活动中分享数据的建议方式是什么?我应该在每次页面转换之前将它保存到临时文件吗?
答案 0 :(得分:3)
最简单的方法是将对象存储在一些全局可用的位置,例如应用程序的Application对象(当然,如果没有已创建一个,则创建一个)。这可以是静态的也可以是实例,具体取决于您希望它如何工作。
另一种选择是将对象序列化为某种字符串表示形式(XML,JSON等),将其传递给下一个活动,并在另一侧反序列化它。这可行,但肯定有点重。
答案 1 :(得分:1)
而不是序列化对象实现了要传递对象的类的parcelable接口。 Parcelable 是特定于Android的概念,建议用于获得最佳性能。