我需要为我的应用程序创建一个架构设计。
应用详细信息:在我的应用中,我会显示从服务器获取的一些数据。因此,基本上当您启动应用程序时,您会获得一个类别列表,当您单击某个类别时,应用程序将使用REST调用Web服务并获取JSON响应。获得响应后,解析JSON数据以创建对象的Arraylist,最后适配器在列表视图中显示此数据。
我想到的包结构:
com.app.activities:
包含应用程序中所需的所有活动。
com.app.customviews:
应用程序所需的自定义视图。
com.app.adapters:
个不同的列表/网格适配器,用于创建不同类型的列表和网格视图。
com.app.parsers:
包含解析从服务器收到的JSON响应的所有解析器类。这些类基本上会将一个arraylist返回给活动,这些活动将由适配器类进一步用于创建列表和网格视图。
com.app.utils:
包含在整个应用程序中使用的函数,例如从服务器获取请求的响应,从输入流获取字符串,从某个URL下载图像,记录等等。
com.app.model:
包含各种用户定义数据类型的所有模型类。
应用程序工作流程:当选择某个类别时,activity
会收到utils
的回复并将其发送给parsers
以获得Model
类型的广告系列。现在这个arraylist被传递给adapters
,它返回一个适配器对象,最终用于显示activity
中的列表/网格。
现在根据应用程序架构,您的代码应分为以下三层:
现在我需要知道,根据我的应用程序哪个部分属于哪个层。
请帮忙,我对此完全无能为力。
谢谢!
更新:谷歌搜索时偶然发现了这个链接:
http://apparchguide.codeplex.com/wikipage?title=Chapter%2019%20-%20Mobile%20Applications
它说,您的应用程序应该有一些工作流程,业务组件,实体等。
所以,我认为我当前的包结构不正确,因为我只在“活动”中执行大部分操作。
现在,我的问题是:如果我遵循这个架构,应该是什么样的包结构或如何设置我的代码库。
答案 0 :(得分:0)
您的应用仅用于演示吗?业务层在服务器中实现,因为您不更改数据,只显示它。 对我来说,模型在数据层,其余的都是表示。
答案 1 :(得分:0)
你的应用程序用户界面是,你可以说它是表示层。在业务层中,您使用REST和JSON Web服务进行操作。数据层驻留在服务器上。所以基本上你通过使用一些服务(Business)来显示listview(Presentation)来从服务器(Data)获得结果(信息)。