组件化
文章平均质量分 89
手艺人王学明
岁月本长,而忙者自促,天地本宽,而鄙者自隘
展开
-
仔细想了下模块划分,其实也不简单-量化
场景:兄弟们,我们今天开几个,我们要开个会,聊一聊研发的依赖问题。 聊一聊,沟通。开会就要花时间,时间成本。 一个App就是一堆git仓库+一堆逻辑的组合,就构成了完整的业务逻辑。 衡量模块划分的标准其实就是**“沟通量”**。换个词语:职责划分、代码边界。 常用的划分是功能划分 通过引入各种仓库,给我们的研发带来了边界 api 'jp.wasabeef:glide-transformations:4.0.1' api "com.github.bumptech.glide:glide:${glide_v.原创 2021-04-02 17:22:44 · 388 阅读 · 0 评论 -
组件化攻略-Activity/Fragment分发
前言 App开发的场景:很多时候,是多人协作开发,组合使用。 在组件化的情境下,我们需要特别注意解耦和动态 似乎搞研发的,哪里都是解耦、聚合、动态。说来说去真的就是这些。 所谓解耦 每个模块在开发阶段,只受到所在模块影响,单一模块的更快,不会影响到其他模块。 所谓动态 模块的加载是随意的。不受布局,外部因素影响。像一块积木。 分发的理念 很多时候,业务开发的功能组合,是Activity和Frag...原创 2019-09-16 16:33:35 · 637 阅读 · 0 评论 -
组件化策略-Gradle优化
前言 何为组件化? 即解耦与聚合。 主要 是代码优化,却不限于代码。 程序员需要 理解整个工序流程,对优化的主体进行拓展。 Think Outside Of The Box 这是对效率的思考,对组织形式的思考。拓展探索现阶段效率的瓶颈。 本文从Gradle的角度去考虑这个问题。 Gradle基础 每个build.gradle是个project对象,Gradle管理着project对象的生命周期...原创 2019-09-16 11:40:59 · 627 阅读 · 0 评论 -
组件化攻略 - 代码物理隔离
当不了解Project Code时, 当新加入一个团队时, 当接盘一个新功能时。 你需要各司其职的天然屏障,物理隔离。Git提供了这样的机会。 利用git submodule进行代码的文件隔离 submodule子模块系统 git管理,适合project的团队开发代码管理;对标的还有SVN。 这是接触了好多年的代码管理。 其优势 文件系统级的物理隔离 可以自由组合想要的submodule 能...原创 2019-09-12 11:54:09 · 700 阅读 · 0 评论 -
组件化攻略-解耦Fragment
我的App里头,主要是2种形式的Activity: 单Activity 单Activity+多Fragment的结构。 这里主要是单Activity+多Fragment结构的解耦。 所谓Fragment解耦,最起码要达到build.gradle配置的module,移除就移除,不会对App的编译产生影响。 若是有声明 import 去除module的类。自然就会报错。这是耦合。 情景:App ...原创 2019-09-10 14:26:44 · 729 阅读 · 0 评论 -
组件化攻略-数据存储
本章节讲存储,大概会是这样的目录结构: 存储方式 常用存储组件:GreenDao、Realm。 组件化存储 存储方式 Android的存储大概有SharePreference、File I/O、Sqlite、ContentProvider、网络。 SharePreferences 轻量级数据存储。存储简单数据类型,以Key/Value的形式进行储存。 原理: 对XML进行修改。 适用: 1...原创 2019-09-09 11:52:27 · 370 阅读 · 0 评论 -
组件化攻略-R2.java的今生前世和静态变量
ButterKnife已经成为众多开发者的选择。简直不要太好用。 其优势 1、强大的Resource绑定和Method事件处理功能,简化代码,提升开发效率 2、方便的处理Adapter里的ViewHolder绑定问题 3、运行时不会影响APP效率,使用配置方便 4、代码清晰,可读性强 截止 2019年9月6日。ButterKnife Version 10.1.0 (2019-02-13),已...原创 2019-09-06 16:26:47 · 475 阅读 · 0 评论 -
组件化攻略-资源合并与冲突
组件化、模块化就是理清关系、解耦、组合的过程。 资源合并 先来回顾下,模块化架构的图。 组件化中,Network、Image等功能模块 与 BaseLib是一样的,都是Library Module,所以,都将会被编译成aar文件。 先学一个命令 ./gradlew module_name:dependencies 这是gradle命令,可以查看module的依赖树。 你会发现preRelea...原创 2019-09-05 15:30:45 · 1672 阅读 · 0 评论 -
android Manifest.permission normal权限合集
名称 版本sdk 权限值 权限描述 ACCESS_LOCATION_EXTRA_COMMANDS Added in API level 1 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS Allows an application to access extra location provider commands. ACCE...原创 2019-09-05 11:32:02 · 1332 阅读 · 0 评论 -
组件化攻略-权限管理
在开发过程中,我们时常会声明很多权限。都是熟悉的。 我们哪个module需要这个权限,就在哪个modue的AndroidManifest中声明。 权限可以到处声明,最终的AndroidManifest会合并这个重复声明的权限,所以,相同的权限只会被声明一次。 简述权限声明 Android权限定义的位置:frameworks/base/core/res/AndroidManifest.xml 附...原创 2019-09-04 16:52:28 · 528 阅读 · 0 评论