之前做过一个android App的框架设计, 项目上线了几个月,还挺成功的,记录之,用到的开源框架

com.squareup.leakcanary 内存泄漏检测

com.jakewharton:butterknife UI解耦

ImageLoader 图片加载

flycotablayout_lib 底部tab栏

pulltorefreshlibrary 下拉刷新

com.nineoldandroids 动画库

主要的工程目录结构
com.company.project
–activity
–fragment
–adapter 各种listview recyleview的适配器
–config sharePreference的配置
–db 数据库相关
–net 网络相关
–model 各种模型
–util 帮助类
–widget 各种可重用的自定义view
–exception 自定义异常和整个程序的异常处理
–share 分享
–event 全局的事件处理器 用于解耦
–mvp mvp 模式的基础类

 

关于类和变量命名规则

{Name}Activity 首字母大写 相关的布局文件activity_name.xml

xml文件中ID命名规则 {typename}_name 例如:layout_welcome_bottom, iv_loading(iv代表imageView)

相应的变量名  {typename}_name

 

入口类

DuobaoApplication:

----职责初始化所有sdk 库, 并初始化一个Global类提供一个静态获取handler和Context方法。提供一个在其他线程中调用主线程的方法。
----初始化异常处理。

SplashActivity:

----第一次安装进入引导页
----显示欢迎信息后进入主页面

GuideActivity:
----引导页

DuobaoActivity:
----主Activity由4个Fragment组成