从零到一:概要

盖一栋楼房,得从地基开始
楼房的用处决定使用的材料
这里我就不用特定场景去选择了使用哪些“材料”了,直接上图吧:


image.png
一、基础组件

这里选择使用Jetpack全家桶,当然还有一些东西没有归纳进来。利用Kotlin与Jetpack完美组合来建立一个MVVM结构的快速开发框架,使用协程来替代RxJava/RxAndroid等

二、网络请求

网络请求选用Retrofit(Retrofit其实是基于OkHttp3封装的),后续会对Retrofit以及OkHttp的使用以及原理进行刨析

三、图片加载

图片加载框架挺多的,这里选用Glide,后续会将几个图片加载框架做一个比较、Glide使用及原理解析

四、通信方面

采用阿里的ARouter路由框架以及EventBus进行页面跳转,数据通知等进行APP内通信

五、数据持久化

使用腾讯MMKV来替代传统的SP,数据库采用Jetpack组件之一Room数据库,数据库这里主要是用来存储上一次加载数据,下次打开APP不需要请求网络获取数据,刷新时才重新刷新数据,让APP可以打开时更加快速展现内容(类似今日头条的做法)

六、UI

这里主要考虑屏幕适配,Android五花八门的屏幕太多了,所以要做好屏幕适配。市场上主要适配方案现在应该是有两种吧,第一种是:最小限定符适配方案,这种方案侵入性较低,灵活使用,但是比较麻烦,适配不完全。第二种是:今日头条是配方案,侵入性较高,但是使用方便,适配率较高。这里就选用今日头条适配方案,后续会详情讲解头条适配方案的实现原理。

文章目录:(后续文章目录同步更新在这里)

从零到一预热篇,没什么内容,同时这只是目前想法,这个框架的搭建工作也从今天开始,后半年除了工作、看书、喝茶、光合作用以及旅行外大部分时间都将花在这里了。希望通过这些,能让自己更加强大起来,将来不局限于这些框架的使用,要能够举一反三!

Jetpack系列

  • Jetpack全家桶之Lifecycle详解

你可能感兴趣的:(从零到一:概要)