gpt4 book ai didi

android - 设计方法 : Android Restful with JSON

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:51 27 4
gpt4 key购买 nike

我正在开发一个 parking 系统,其中移动设备从服务器数据库查询 parking 数据。换句话说,用户请求一个空 parking 位,服务器会在他的设备上向他发送一个空闲 parking 位编号。我正在使用带有 JSON 的 Restful 架构。

我看了 Google I/0 2010 休息客户端应用视频,他解释说你可以使用 3 种设计模式:

  1. 服务接口(interface)
  2. 内容提供者 API
  3. 内容提供者和同步器

我无法决定这 3 个中的哪一个最适合我的应用程序,有人有任何有用的提示/知识吗?

非常感谢任何帮助!

最佳答案

我已经根据 Google I/O session 中的建议实现了一个解决方案,对我来说效果非常好。

要从远程服务器检索数据,后台线程是必须的,因为您不能在等待服务器响应时阻塞 UI 线程。最简单的方法是使用 AsyncTask,它在 doInBackground 中从服务器获取数据,然后在 onPostExecute 中执行需要发生的任何 UI 更新或数据保存。这种方法对于很多用例来说已经足够好了,但是 Google I/O session 正在解决的问题是,如果您的 Activity 在等待服务器响应时被中断,您将丢失数据。该 session 中提出的解决方案是关于如何保存数据的建议,以便可以以不附加到 Activity 的方式存储数据。

使用服务,您可以将数据检索与 Activity 分开。 (请记住,您仍然需要在服务中创建一个单独的线程来检索数据,因为服务仍然在 UI 线程上运行。)当将信息从服务传递到请求的 Activity 时,ContentProvider 开始发挥作用服务器数据。您可以使用数据库来存储响应。然后Activity可以从数据库中获取响应。

SyncAdapter 可用于重试失败的服务器调用和/或从服务器获取数据,而无需应用程序特别请求,因此它会在应用程序需要时保持新鲜并准备就绪。当然,这确实应该非常谨慎地使用,因为它会耗尽电池电量。

我强烈建议至少使用 Service/ContentProvider 方法。我也能够使用该解决方案轻松地将缓存机制集成到我的应用程序中。

希望对您有所帮助。

关于android - 设计方法 : Android Restful with JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8528354/

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