gpt4 book ai didi

java - 在 SQLite 数据库中存储共享值与传递 Intent

转载 作者:行者123 更新时间:2023-12-01 09:01:01 26 4
gpt4 key购买 nike

我的应用程序最初向服务器请求对象列表。这些对象当前在内存中保存为 ArrayList<MyObject> 。但是,我希望在用户通过按下按钮终止流程之前,这些对象能够通过多个 Activity 传递。我可以使ArrayList可序列化并通过Intent extras传递它。但我也可以存储 MyObject (s) 在 SQLite 数据库中,并在任何 Activity 中访问/修改它们,而无需经过 Intent 。我想知道实现这一目标的标准是什么。

编辑:忘记提及一旦用户终止流程,所有值都将被删除。

最佳答案

SQLite 不是您的情况的最佳方法,因为您不需要在关闭应用程序后保留数据。它只会减慢您的应用程序必须存储和检索每个 Activity 转换的所有条目。您可以执行以下操作之一:

  1. 按照您描述的方式传递Serialized。不过可能比其他替代方案慢

  2. 使 MyObject 实现 Parcelable并使用 [intent.putParcelableArrayListExtra()]( https://developer.android.com/reference/android/content/Intent.html#putParcelableArrayListExtra(java.lang.String , java.util.ArrayList))

  3. 延长Application并在 Application.onCreate() 中从网络加载列表,并从需要它的 Activity 中调用 getList()。这样您只需加载一次,就不需要在不同的 Activity 之间传递它。

关于java - 在 SQLite 数据库中存储共享值与传递 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41664637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com