这是一个设计/最佳实践问题..
我是Android开发新手,基本上是Web /移动解决方案的新手。
所以,我的问题是 - 在组织从远程服务器获取数据的android应用程序结构时,最佳做法是什么?
请求服务器进入一个与服务器进行通信的类(获取和发布请求),还是应该将我的请求看作数据源,这意味着每个数据类都为自己管理它?
或者我应该有更多抽象级别 - 一个级别用于获取数据,另一个级别用于使用某些接口的模型而不知道源数据来自哪个?
我很好奇Android开发人员如何处理这些设计问题...
答案 0 :(得分:10)
Virgil Dobjanschi presentation是一个很好的资源,如前所述,它基本上告诉您从后台服务运行您的请求,这样活动就不会被破坏,并且尽可能早地将数据存储在数据库中。
有关更多技术细节,我这样做的方法是将应用程序分为三个部分:
1-用于封装HTTP请求和响应(使用ApacheHTTP)的处理,它可以处理简单的请求/响应以及可能涉及cookie(可能需要登录)和修改HTTP标头的高级功能。
2- Marshal / Unmarsha图层,我解析服务器数据(例如XML或JSON)并将其转换为我的应用程序其余部分将处理的对象(即模型)。
3-持久层。
根据Dobjanschi的演示文稿,我通常会在活动中的线程工作者的服务而不是中运行数据请求。
答案 1 :(得分:6)
使用此Google I / O演讲中提供的3个模型之一。它为您提供建议,帮助您完成应用程序架构定义的整个过程。它还可以防止初学者犯下常见错误:
http://www.youtube.com/watch?v=xHXn3Kg2IQE
这篇文章也会帮助你: