gpt4 book ai didi

android - AppWidgetProvider 的模型

转载 作者:行者123 更新时间:2023-11-29 00:50:15 26 4
gpt4 key购买 nike

我有一个小部件,可以显示从 Internet 获取的一些数据。我可能在屏幕上看到多个小部件,每个小部件都显示一些数据,部分数据与其他小部件相同。

有时我会从互联网上重新获取数据并更新小部件 View 。

我以 MVC 风格对此进行了建模:我有一个模型,我可以在该模型上调用“重新获取数据”,并且 View 会监听该模型。

我的问题:

A) 让我的模型成为单例是否明智?

B) 我可以相信所有小部件都由同一个 AppWidgetProvider 提供服务吗?或者我的一些小部件可能会由不同的 AppWidgetProvider 实例提供服务吗?或者,更一般地说:是否可以保证只有一个 AppWidgetProvider 实例?

如果我的 AppWidgetProvider 只有一个实例,那么我可以在此处为模型使用一个实例变量,并在需要的地方传递我的 AppWidgetProvider 或模型。也许是更好的选择?

C) 在 AppWidgetProviders onUpdate 方法中,我能否确定每次调用时都将相同的“上下文”对象作为参数传递?

最佳答案

Is it wise to let my model be a singleton?

考虑到您不能在 AppWidgetProvider 中包含静态数据,我认为单例是极其不安全的。您需要使用持久存储,例如文件或数据库。

Can I rely on that all widgets are served by the same AppWidgetProvider?

这将是同一个类(class)。绝对是will not be the same instance ,除非您正在做一些非常邪恶的事情,例如尝试提供永久服务。

Or may some of my widgets get served by a different AppWidgetProvider instance?

是的。

Or, more generally: Is there any guarantee that there will be only one instance of my AppWidgetProvider?

可以保证不会只有您的AppWidgetProvider 的一个实例。 "If this BroadcastReceiver was launched through a tag, then the object is no longer alive after returning from this function."

In the AppWidgetProviders onUpdate method, can I be sure that the same "context" object is passed as argument each invocation?

我不认为这是一个安全的假设。

关于android - AppWidgetProvider 的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3392132/

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