2011-09-08 92 views
5

我需要为我的应用程序创建一个架构设计。需要设计一个Android应用程序的架构设计

应用详细信息:在我的应用程序中,我显示了一些从服务器获取的数据。所以基本上当你启动应用程序时,你会得到一个类别列表,当你点击一个类别时,应用程序使用REST调用Web服务并获得JSON响应。得到响应后,解析JSON数据以创建对象的Arraylist,最后一个适配器在列表视图中显示这些数据。这是我想到的

包装结构:

com.app.activities:包含所有应用程序所需的活动。

com.app.customviews:该应用程序需要定制视图。

com.app.adapters:不同的列表/网格适配器可以创建不同类型的列表和网格视图。

com.app.parsers:包含解析从服务器收到的JSON响应的所有解析器类。这些类基本上会将数组列表返回到适配器类将用于创建列表和网格视图的活动。

com.app.utils:包含其用于通过从应用功能等用于获取从服务器的请求的响应,从InputStream得到一个字符串函数,从特定URL下载的图像,记录等

com.app.model:包含所有用于各种用户定义数据类型的模型类。

应用程序的工作流程:当选择某个类别,activity会从utils响应并将其发送到parsers得到Model类型的ArrayList。现在,这个数组列表被传递给adapters,它返回一个适配器对象,最终用于显示activity中的列表/网格。

现在根据应用的架构,你的代码应分为以下三个层次:

  1. 表示层
  2. 业务层
  3. 数据层

现在我需要知道,根据我的申请哪部分属于哪一层。

请帮忙,我完全不知道这件事。

谢谢!!

更新:在谷歌上搜索我偶然发现了这个链接:

http://apparchguide.codeplex.com/wikipage?title=Chapter%2019%20-%20Mobile%20Applications

它说,你的应用程序应该有一定的工作流程,业务组件,实体等。

所以,我认为我目前的包装结构是不正确的,因为我只在活动中做大部分事情。

所以现在,我的问题是:如果我遵循这种架构,应该是什么包结构或如何设置我的代码库。

回答

0

您的应用程序仅用于演示文稿吗?业务层在服务器中实现,因为您不更改数据,只显示它。 对于我来说,模型是在数据层,其余的都是演示文稿。

0

你的UI的应用程序是,你可以说它的表示层。在业务层中,您可以使用REST和JSON Web服务执行操作。数据层驻留在服务器上。所以基本上你使用一些服务(Business)来显示列表视图(Presentation)以从服务器(Data)获得结果(信息)。