gpt4 book ai didi

android - 获取数据和传递给另一个 Activity 的最佳方式是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 22:10:02 26 4
gpt4 key购买 nike

Most the app so far I had created, I fetch the data from Network and store it in a singleton class to share data between Activities, when I'm done with those data, I usually clear those setting it to NULL, its work perfectly well

我的问题是哪种方法更好??

  1. 使用parcelable
  2. 写入数据库并查询
  3. 单例类

什么时候我们需要使用加载器??为什么我们不能通过 Loaders 共享数据??

如果问题重复...请忽略 ??

最佳答案

第一部分的答案

  1. 可包裹:

    ActivityFragment 之间传递数据的最佳方式是使用 Parcelable 对象。据说它比 Serializable 更优化。有几个库/插件可以帮助您创建 Parcelable 对象。最近我被提到Parceler, created by John Carl .但是,我个人使用 Android Parcelable code generator by Michal Charmas , IntelliJ IDEA 和 Android Studio 的插件。

  2. 数据库或 SharedPreferences:

    使用 DataBase 或 SharedPreferencesActivityFragment 之间传递数据听起来很奇怪,因为它们不是设计用于此这样只会造成困惑。

  3. 单例:

    阅读这篇内容丰富的帖子 Singletons are Pathological Liars .

结论:

我推荐 Parcelable,或者如果您想变得真正懒惰,那就选择 Serializable(大多数人认为这并不糟糕,但也不是很好)。

不要使用单例、数据库、静态字段等弄乱您的代码。它们会回来困扰您。

第二部分答案:

When exactly we need to use Loaders

加载程序,将是 AsyncTaskLoader当你使用时,基本上用于我们想要从服务器检索数据(通过 Web API)或在后台执行某些操作的情况。它类似于使用 ThreadAsyncTask 但非常强大,因为它不会在屏幕旋转时被破坏,这与这两者不同。

你应该阅读 How to Use Loaders in AndroidAlex Lockwood's posts on Loaders (这是一个由 4 篇文章组成的系列文章。非常详细而且很棒)。

关于android - 获取数据和传递给另一个 Activity 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33013387/

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