欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Android工程架构的总结

来源: 开发者 投稿于  被查看 18636 次 评论:202

Android工程架构的总结


1、资源文件的统一管理

建好统一管理的:

 

string.xml,定义好常用的字符串,例如工程名字,工程包名,网络链接的提示,常见按钮的文本。如果功能模块比较确定,可以分模块来定义,string_base.xml 基础字符串

string_module_name_1 模块一需要的字符串

string_module_name_2 模块二需要的字符串

color.xml,定义好常用的颜色,应用的主色调

style.xml ,定义好base_style,按钮的样式,文本的样式,图片的样式,列表的样式,阴影的样式,等等

anmi,定义好常用的动画,例如淡入淡出

drawable ,一些常用的base图片,常用的shape 、selector等

原则在项目一开始的时候,建立好公共的,基础的资源,这需要对项目的深入理解

在项目的进行过程中,逐步提炼公共的,基础的资源

公共的基础的资源,最好能够用名字区别于其他特定的资源

2、工具类的统一管理

工程里面有一个Util目录,目录下放置了工具类,工具类和所有的业务逻辑都没用关系,它们就是在任何地方都可以使用的工具类。

比图 BitmapUtils、Toast工具类、log工具类、时间工具类等等。

在项目的一开始,将常用的开源工具类放到项目中,做好充分的注释。

在项目的进行过程中,也可以不断的完善工具类。

3、基类的管理

BaseActivity

BaseApplication

BaseConfig

4、对话框的管理

5、异常管理

6、常用的设计结构

Application

common

util

widget

manager

net

basenet

netreq

netrep

exception

db

config

appconfig

contant

component

activity

baseactivity

功能1

activity

control

contant

netreq

netrep

adapter

adapter

service

dialog

bean

要领

越到高的级别,就需要这个类的独立性更强,它可以完全脱离业务需求存在

与功能密切相关,离开功能无法独立存在的类,可以放在功能一里面

如果一个网络netreq和netrep只能用于功能一,那么它最好和功能一放在一起,adapter,bean也是一样

如果netreq和netrep需要用于功能一,也需要用于功能二,那么最好抽象共通的地方放在net里,功能一和功能二留子类

 

http://www.cnblogs.com/qianxudetianxia/archive/2011/06/26/2088503.html

http://blog.csdn.net/leehong2005/article/details/8535306

以下转载:

 

一些基本原则

 

下面列出一些通常的原则,我们应当在开发过程中遵循,欢迎补充与指正。

4.1 提供initialize()方法

在Activity.onCreate()或者View的构造方法中调用,在以后看代码时,人们通常首先会去找initialize()这样的方法。

4.2 封装点击事件

把View的点击事件,提成方法,这样在listener处只是一个方法调用者,一般的事件封装为:onXXXClick(View v)。

4.3 设计一个BaseActivity类

让所有的Activity都继承自BaseActivity类,这样,我们可以做很多有用的事情

  • 定义共通属性显示共通对话框(Progress dialog)取得top activity可以手动管理启动的activity

    4.4 设计Application类

    • 存全局数据,比top activity, application context。

      4.5 异常处理

      • 报告功能是处理异常的精髓在finally块中执行清理操作不要用try-catch-finally来判断业务逻辑考虑设计自定义的异常类

        4.6 标注的使用

        • 重写的方法一定要加@Override不使用的方法,不要删除,可以标记为@Deprecated,这个做法在维护型的项目中特别有用。

          4.7 注册与反注册

          • 局部广播各种listenerService等

            4.8 封装Bitmap操作

            我们应当把Bitmap操作封装起来,比如从文件加载,保存,网络下载,动态计算sample size等。有了封装后,我们可以对其集中优化。

            4.9 绘制处理

            一定要注意绘制方面的东西,不要在onDraw()/onTouchEvent()中创建新对象。


             

用户评论