gpt4 book ai didi

java - 让我的 Android Activity 都可以访问的管理器类处理缓存/数据的基本方法?

转载 作者:行者123 更新时间:2023-11-29 20:52:25 28 4
gpt4 key购买 nike

所以我想要做的是有几个不同的单一管理器类来处理我从互联网上下载的数据的缓存。我希望可以从应用程序中的不同 Activity 访问这些类/对象中的数据,从而任何 Activity 都可以根据需要操作数据或调用函数。

例如,我有一个 UserDatabasemanager,我将在其中存储我从互联网上提取的初始原始 JSON 数据和一个用户对象数组,该数组是该 JSON 数据的提炼版本。

我的应用程序会在不同时间从网络上提取数据,并会随着数据的变化更新用户数组。例如,最初下拉符合条件的用户列表。所以我然后将所有用户名和 ID 缓存到用户对象中。如果应用程序随后关注特定的用户页面,它将下载该用户的描述文本并将新描述存储到 User 对象中。 (所有这些我认为我目前无法以我的编程知识来做)

我一直在阅读有关通过带有 Parcelable 和 Serializable 的 Intents 发送对象的文章,这似乎有点绕过 Activity 之间共享数据的处理方式。

How to send an object from one Android Activity to another using Intents?

Passing data through intent using Serializable

由于我的 Intent 是将这些类/管理器/对象(无论我们想怎么调用它们)用作单个实例,所以我不太在意遵循封装,因为它们的工作是提供和更新基于缓存的数据根据 Activity 的需要。

我对所有这些 Android/Java 东西还是很陌生,但似乎这种东西在 C/C++ 中使用指针会相当直接。似乎即使我直接使用 Java 进行编程,我也可以相当轻松地传递对对象的引用,但是 Activity 的结构似乎不适合在我自己的程序中轻松传递数据?

最佳答案

实现此目的的一种简单(但不是很好)方法是使用 Android Application class存储您的经理的(单例)实例。您始终可以通过在任何 Activity 上调用 getApplication() 来检索对您的应用程序的引用。

您需要提供自己的 Application 类实现,以便在 onCreate() 方法中创建管理器。您还应该为您的经理创建强类型的 getter。

此外,请考虑您需要为应用程序可能收到的系统回调执行哪些操作,例如 onLowMemory()。

关于java - 让我的 Android Activity 都可以访问的管理器类处理缓存/数据的基本方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28776969/

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