首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计方法:

设计方法:
EN

Stack Overflow用户
提问于 2011-12-16 00:12:56
回答 2查看 1.6K关注 0票数 3

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

我观看了Google /02010 rest客户端应用程序视频,他解释说,您可以使用3种设计模式:

  • contentprovider API

  • contentprovider &
  1. 服务API

我无法决定哪三个最适合我的应用程序,有人有任何有用的提示或知识吗?

任何帮助都是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-16 05:09:36

我使用Google I/O会话中的建议实现了一个解决方案,它对我来说效果很好。

要从远程服务器检索数据,必须使用后台线程,因为在等待服务器响应时不能阻止UI线程。最简单的方法是使用AsyncTask从doInBackground中的服务器获取数据,然后执行onPostExecute中需要进行的UI更新或数据保存。这种方法对于很多用例来说都很好,但是Google I/O会话解决的问题是,如果您的活动在等待服务器响应时被中断,您就会丢失数据。该会话中提出的解决方案是关于如何保存数据的建议,以便能够以一种不附加于活动的方式存储数据。

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

SyncAdapter可以用于重试失败的服务器调用和/或从服务器获取数据,而无需应用程序的特殊请求,因此当应用程序需要它时,它将是新鲜的。当然,这真的应该是非常节省使用,因为它可以消耗相当多的电池。

我强烈建议至少采用服务/内容提供方法。我能够使用该解决方案轻松地将缓存机制集成到我的应用程序中。

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2011-12-16 00:46:41

当然是服务。我假设您想要的是一个半常量的更新,它通知用户开放的位置,并在该点被劫持时进行更改。服务最适合在后台运行,等待您发送的JSON数据。

我认为ContentProvider和SyncAdapter只处理手机上的数据,所以我不知道你为什么要使用这些数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8528354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档