IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android中下层module调用上层module资源的方法 -> 正文阅读

[移动开发]Android中下层module调用上层module资源的方法

Android中一个app往往包含多个module,而各个module之间又有一定的依赖关系。而良好的依赖关系是线性的,而不应是网状的。简单来说就是:两个module之间只能是单向依赖,而不能是双向。这样才能保持清晰的依赖关系、降低各module之间的耦合度、降低维护成本。
但是线性的依赖关系,也可能带来一个小问题,那就是:如果在下层module中想引用上层module的一个资源,就难以实现了。因为下层module代表的是更底层的逻辑,是被上层module依赖的。既然是下层module,为什么会有这种引用资源的需求呢?
举个例子:在下层module中,要实现一个公用的通知栏组件,而这个组件需要设置app的图标,所以需要调用上层module中定义的app图标资源。
如果要解决上述问题,有2个方案:
1.在下层module中添加图标资源。这种方案有2个缺点:资源重复定义;如果图标要更换,需要同时替换两个module中的源文件。
2.引用上层module中的图标资源。这种方案有1个缺点:如果上层module中的图标资源重命名或删除,那下层module中将找不到对应的资源。

方案1的解决方案比较简单,步骤略。
方案2就是本文想要介绍的方案,步骤如下:
1.下层module中的res/values目录下新建一个ids.xml文件,并将需要引用的上层module的资源定义在这里。比如想要引用一个图标资源,一个字符串资源,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="ic_launcher" type="drawable"/>
    <item name="app_name" type="string"/>
</resources>

2.下层module中需要引用上述资源的代码或布局中直接使用即可,就像使用当前module中定义的资源一样。

注:这种引用方式支持几乎所有的资源类型,亦即type,常用的type类型有:drawable、color、dimen、id、layout、string、style等。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:32:03  更:2021-08-10 13:32:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 0:45:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码