官方App 架构指南的学习到实践

       作为一名安卓应用开发者来说,构建出稳定、高效、合理、易维护的安卓App一直都是我们追求的目标。对此老大哥谷歌给我们做出了很好的指导。废话不多说,先来了解一下官方对构建一个高质量的APP提出的建议。

  1. 整体框架图

    可以看出采用的是MVVM的构架模式,Repository及其分支是数据中心(Model),Activity/Fragment是(View),ViewModel就是图中的ViewModel。数据中心采用Retrofit进行网络请求,Room来操作数据库做数据持久化。而ViewModel采用具有生命感知力的LiveData来刷新View层。每个模块分工明确、各施其职,符合官方提出的两大原则:1.关注点分离;2.持久化的Model驱动UI。所以我想我们的项目目录结构应该是这样的
     

    我多了一个di目录这是Dagger2依赖注入,我是一个爱动手不爱说话的人,接下来我会记录下我是怎么一步一步实现这个框架的。

  2. 实战操作
  3. 在项目中新建一个versions.gradle文件用来管理用到的Java库,内容如下

  4. /**
     * Shared file between builds so that they can all use the same dependencies and
     * maven repositories.
     **/
    ext.deps = [:]
    def versions = [:]
    versions.arch_core = "2.0.0"
    versions.room = "2.1.0-alpha03"
    versions.lifecycle = "2.0.0"
    versions.support = "1.0.0"
    versions.dagger = "2.16"
    versions.junit = "4.12"
    versions.espresso = "3.1.0-alpha4"
    versions.retrofit = "2.3.0"
    versions.okhttp_logging_interceptor = "3.9.0"
    versions.mockwebserver = "3.8.1"
    versions.apache_commons = "2.5"
    versions.mockito = "2.7.19"
    versions.mockito_all = "1.10.19"
    versions.mockito_android = "2.22.0"
    versions.dexmaker = "2.2.0"
    versions.constraint_layout = "2.0.0-alpha2"
    versions.glide = "4.8.0"
    versions.timber = "4.5.1"
    versions.android_gradle_plugin = '3.3.2'
    versions.rxjava2 = "2.1.3"
    versions.rx_android = "2.0.1"
    versions.atsl_runner = "1.1.0-alpha4"
    versions.atsl_rules = "1.1.0-alpha4"
    versions.hamcrest = "1.3"
    versions.kotlin = "1.3.0"
    versions.paging = "2.1.0-rc01"
    versions.navigation = "1.0.0-alpha08"
    versions.work = "1.0.0-alpha12"
    def deps = [:]
    
    def support = [:]
    support.annotations = "androidx.annotation:annotation:$versions.support"
    support.app_compat = "androidx.appcompat:appcompat:$versions.support"
    support.recyclerview = "androidx.recyclerview:recyclerview:$versions.support"
    support.cardview = "androidx.cardview:cardview:$versions.support"
    support.design = "com.google.android.material:material:$versions.support"
    support.v4 = &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值