gpt4 book ai didi

android - Google IO Rest 设计模式,完成 ContentProvider 并坚持从网络获取数据

转载 作者:IT老高 更新时间:2023-10-28 21:52:56 26 4
gpt4 key购买 nike

在观看了有关该主题的非常知名的视频后,我决定采用设计模式 B。将 contentprovider 与 servicehelper 一起使用。

google design pattern on rest

基本上我有以下文件:

  • 我的提供者
  • 我的数据库
  • 我的契约(Contract)

在 Activity 中,我现在可以获取内容解析器并查询提供者。到目前为止一切都很好。

现在我需要同步我的 contentprovider 以从我的 REST API 中获取数据。因此我需要实现一个服务助手服务和 Rest 方法。学习 Google IO 应用程序对我有很大帮助,我是 Android 新手,所以仍然很难弄清楚。

我看到 Google 使用 RemoteHandlers 来处理外部数据,我猜它们是图中的处理器类?

我不明白的是如何实现servicehelper + service部分从网络中获取数据。

  • 我在哪里调用服务助手?
  • 服务和助手具体需要做什么?
  • 有没有这种精确设计模式的好例子?

我已经在堆栈上阅读了几个关于此的主题,都提出了不同的方法。我找到了一个声明 restprovider 的示例,然后 myProvider 必须扩展该提供程序。我不喜欢这些解决方案,并希望遵循这种结构化的设计模式。

最佳答案

据我了解,模式是:

  • 不要显示空 Activity 并在后台加载内容。当加载失败时,您将无法显示任何内容。
  • 改为显示存储在可通过内容提供程序和适配器访问的数据库中的数据 - 这可以保证用户始终看到内容
  • 在后台获取新数据,一旦数据在手机上, Activity 就会通过适配器自动更新

对于你的问题(我改变了顺序):

我在哪里调用服务助手?
我从 Vigils talk 中选择模式 A。在这种情况下,调用取决于您的应用程序。您可以在应用程序启动、创建 Activity 或用户选择更新按钮时触发更新。我会在 Activity 创建时选择。

您选择了模式 B。在这种情况下,很明显内容提供者必须触发更新。什么时候?获取新数据:在创建时或第一次读取访问之后。我会使用创建时间。用于在您的内容提供程序中进行相应操作后的创建、更新、删除。

有没有这种精确设计模式的好例子?
来 self 在 https://stackoverflow.com/a/8693919/734687 的帖子:我知道的唯一开源引用实现在 http://datadroid.foxykeep.com 下可用.它是一个可以在您自己的应用程序中使用的库。架构在/presentation 下进行了解释 - 请确保您阅读它。

服务助手具体需要做什么?
如果您查看 slides在幻灯片 19 中,它是一个单例,它封装了对服务的调用并通过请求 ID 处理异步调用。

服务具体需要做什么?
该服务(演示文稿中的幻灯片 17)只是确保操作在后台执行。

关于android - Google IO Rest 设计模式,完成 ContentProvider 并坚持从网络获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9112658/

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