构建App(一)(框架与结构)

1 前言
主要参考
【构建App(一)(框架与结构)】构建 Android APP 一定要绕过的 30 个坑

Best practices in Android development

做一个app很简单,但是做好一个app,很难!还是那句老话,世上无难事只怕有心人。
2 架构
android-architecture Google推荐的架构都是以MVP模式为基础,这里选择用 todo-mvp-dagger/

3 目录
按照应用模块来分析,而非所属类别

com.futurice.project

├─ net网络
├─ models按照功能区分,如home、login
├─ managers通用管理类
├─ utils常用工具
└─ views
├─ adapters
├─ actionbar
├─ widgets
└─ notifications
4 功能实现,第三方库的使用
如非必要,不要使用第三方依赖库。

网络请求:
RxJava是对AsyncTask 和其它异步任务类最好的替代品;

Retrofit是目前 android最好的处理网络事务的依赖库
使用Retrolambda来精简你的代码;
把 RxJava 与 Retrofit 和 Retrolambda 整合在一起来达到最佳效果!;
UI控件绑定
RxBinding

图片加载
大部分情况 使用Glide。但是,如果App 中大量使用图片。使用 Fresco ,推荐使用 Fresco ,可以 App 的性能与体验。

性能
LeakCanarySquare出品的专门用来检测Android和Java的内存泄漏

5 代码编写规范
Google Java Style

6 UI设计规范
Material Design

7 代码测试
Test your app

    推荐阅读