我们的项目初始按照MVC形式构建的,因为Android本身的设计就是MVC。

另外一点项目架构好比设计模式,个人认为不同的项目适合不同的架构,只有最合适的,没有最好的。

android 项目架构搭建 安卓项目架构图_Android

读图分3块 左 中 右   以下按这个顺序解释

ApplicationFramework :  系统提供的基础API

OtherLibrary : 第三方IM、推送、统计支持

MyApplication继承自Application

View :  xml 实现   自定义Widget 比如登录、输入 单独模块,方便整个项目任意地方调用  Dialog

Controller: BaseActivity管理5个大模块   Service管理后台服务,比如发送失败再次发送处理,同步处理。

DataController:网络处理有AsyncTask 为了能够各处调用,HttpClient主要由Volley提供支持,DBManager单例,FileManger对文件处理。

Model:  有SQLite、SharedPreference、SDcard、Cache 其实Cache是由SDCard的内置卡和外置卡来缓存图片,DB来缓存Json的。

右侧主要是公用的,若一个工程里有3个项目,比如有BBS、News、Mail 共同使用的资源

WidgetLibrary:第三方提供的View,比如刷新Listview、QuickReturn、NineAndroid 属性动画、Indicator等等

Define: C语言中的宏定义,因为它管理 App的配置(上线前检查)线上与线下服务器地址、统计事件、全局静态变量、文件存储位置等等,FileManager只负责引用不做定义。

Utils: 包括 LogUtils,开关由AppConfig控制,SharedPreferenceUtils,SystemUtils里面涉及到网络监测,IMEI获得等等。