美文网首页
Android组件化实现步骤详解

Android组件化实现步骤详解

作者: 柯基爱蹦跶 | 来源:发表于2019-03-04 18:59 被阅读0次
       在App功能逐渐冗杂的今天,衍生出很多优化方案,组件化作为其中一种方式也被广泛应用,下面来一步一步实现。
一、准备工作

       1. 首先我在创建完project后,除了默认创建的app model,另外创建了两个model:LoginComponent和MineComponent。(component就是组件的意思,相信来到这里的朋友都是了解过组件化原理和一些相关术语,这里就不再赘述)

       2. 在创建完两个单独的component后,创建一个Base Library,因为相互通信的需要。

       3. 创建后的目录就是这样的:


Android组件分布.png
model.PNG
二、配置依赖环境和分离运行需求

       这里的配置环境就是在gradle里做一些相关操作,主要有如下操作:

  1. 统一每个model之间的sdk相关配置;
  1. 将model的两种运行方式进行分离,也就是分开处理,如果有资源文件也同样需要分开处理
  2. 分离的内容通常包括如下几种:
  • apply运行方式的分离
  • applicationId的分离
    以上两种都是在model gradle里操作
  • app model引用library model的分离
    以上一种是在app model里操作
  • AndroidManifest(清单文件)的分离
  1. 将所有model都对baseLibrary依赖

以上分离的目的是区分application和library两种运行方式所对应的需求,
而依赖的目的就是互相通信。

\color{red}{ 下面就来逐一介绍 }

        1. 在app的gradle.properties里,配置如下(如果有其他需求一样可以增添):
#全局配置gradle环境
compile_sdk_version = 28
min_sdk_version = 23
target_sdk_version = 28
support_sdk_version =  28.0.0
constraint_sdk_version = 1.1.3

#配置单个model是否可独立运行
loginRunAlone = false
mineRunAlone = false
       2. 在\color{red}{每个component的build.gradle里}引用如上配置。

以下是引用配置和分离的截图:
除library model和主app model(也就是创建项目时自动创建的那个model)不需要进行application和library的判断,因为第一个始终以library运行;第二个始终以application运行。其他的component皆需考虑是否以单独的application运行的情况。

对上面文字清晰地解释一下吧。下面三种颜色,代表的在gradle里三种需要配置的事务:
    红色框:apply的运行方式的分离;
    绿色框:sdk版本的统一配置;
    黄色框:applicationId的分离,component以application运行需要ID;

其中红色框和黄色框部分只需要在component里配置,library和app里都不需要;
绿色框的内容则试用于所有gradle,能配置sdk的地方都可以。

gradle配置.png
         3. app model引用library model的分离

在不以单独application运行的情况下,把component作为library依赖且运行。

app_model分离依赖.png
         4. AndroidManifest的分离

首先很明确,library和application的清单文件内容是不需要的,除了保存必有的包名和四大组件的注册信息。

         5. 各个model对baseLibrary的依赖
app_model引用baseLibrary.png login_model引用baseLibrary.png
mine_model引用baseLibrary.png
三、处理model运行

相关文章

网友评论

      本文标题:Android组件化实现步骤详解

      本文链接:https://www.haomeiwen.com/subject/atziuqtx.html