我的应用程序最初请求服务器中的对象列表。这些对象当前作为ArrayList<MyObject>
保存在内存中。但是,我希望在用户通过按下按钮终止流之前,将这些对象传递给多个活动。我可以使ArrayList可序列化并通过Intent extras传递它。但我也可以将MyObject
(s)存储在SQLite数据库中,并在任何Activity中访问/修改它们,而不必通过意图。我想知道实现这一目标的标准是什么。
编辑:忘记提及一旦用户终止流程,将删除所有值。
答案 0 :(得分:1)
SQLite不是最适合您的情况,因为您在关闭应用程序后不需要数据持久化。它只会减慢您的应用程序必须存储和检索每个活动转换的所有条目。您可以改为执行以下操作之一:
按照您描述的方式传递Serializable
。
让MyObject
实施Parcelable
并使用[intent.putParcelableArrayListExtra()
](https://developer.android.com/reference/android/content/Intent.html#putParcelableArrayListExtra(java.lang.String,java.util.ArrayList))
扩展Application
并从Application.onCreate()
的网络加载列表,然后从需要它的活动中调用getList()
。这样你加载一次就不需要在不同的活动之间传递它。