Android应用程序架构

时间:2012-08-11 23:09:52

标签: java android

我有很多.Net开发背后的我,我的大多数应用程序都分层在UI,服务,BL和DAL ..和数据库层。每个层通常都是它自己的项目,所有项目都相互引用,以便在解决方案中运行数据流。

我是Java和Android的新手。看起来我们开发了一个输出文件,因此开发了一个项目。我会简单地为每一层使用不同的文件夹吗?也许是一个ServiceLayer文件夹,里面有类,然后是一个包含业务类的BusinessLayer文件夹?

保持代码清洁和可维护的通常结构是什么?我不是出于职业原因(尚未)这样做。这纯粹是为了学习。

编辑:应用程序将成为一个简单的应用程序,允许用户每天输入有关某些内容的数据(简单的用户界面,可能有一些下拉菜单从数据库中获取'参考数据'),并允许用户选择一些东西,输入一些细节,并存储到内置的SQLite数据库。

一旦有效,我想将数据同步到在线数据库(我将编写一个托管在.Net托管系统上的Web服务(GoDaddy,现在)),它将存储最新数据,并提供Web前端如果用户可以访问笔记本电脑或PC,则提供更简单的数据输入。所以,某种Web服务刷新我的应用程序,并将更新发送到服务器。

1 个答案:

答案 0 :(得分:2)

首先,这取决于你在做什么应用。

您应该对用户如何使用应用程序进行文本或逻辑示意图描述。修复每个可能的情况。放下稍后将用于测试的示例。

确定属于功能的内容和可更改配置的内容。从场景中提取功能和数据实体。

从方案中决定您的应用将是什么。是服务,活动,小部件,甚至内容提供商还是复杂系统,包括一些不同的组件。根据情景做出决定。

对于复杂系统,在应用程序组件之间分发功能和数据实体。列出组件及其内容(活动或其他)。

制作带有描述的UI组件列表(不是现在)这些将是小部件和活动或片段或布局。

为UI组件制作草稿布局。从一个到另一个进行简单的传递。看看用户界面。返回场景并使用草稿UI播放所有场景。所有UI组件和类都放在一个包或包的层次结构中。

制作数据实体列表。决定什么将是什么。将它们计划为DB或不同DB中的集合或表。将它们作为类,将它们放入另一个包或另一个包的层次结构中。这里还放了DB助手 - 通过SQL与DB通信的类。

创建一个测试类,用于填充测试数据的UI和数据实体并启动它们。

适配器不必是公共的,因为它们仅在其父GroupView中使用。因此,通常没有适配器的文件。

不要将所有全局变量放入特殊的静态类中 - 这是一种不好的做法。您正在混合代码和配置。

将配置数据放入资源中。如果其中一些是复杂的,请使用XML源和解析器。使资源数据的读者成为全局变量。并非所有这些都是静态的!例如,它们可以属于主Activity实例。

不要在代码中使用不可配置的常量!可能是,你的名字只有:-)。其他常数有时会变得不恒定。

总是这样做:写点东西 - 把东西连接到批量 - 为这个新东西添加测试 - 测试这个新的 - 测试批量 - 重复。只是小步骤!