Android模块化项目搭建和模块之间跳转传值(2)

Android模块化项目搭建和模块之间跳转传值(3) Android模块化项目和动态配置的处理 阅读详情

一、前言

这是一篇关于Android模块化的项目搭建和配置,没有看过我第一部分的同学如果不清楚整个流程的,可以回头看一下,有利于你更加快速的掌握和使用。

二、引入ARouter

模块化顾名思义就是将项目按模块的方式进行开发,加大了项目的解耦。继续(1)中的流程。

导入依赖,模块化的处理,这里使用的是阿里的ARouter进行搭建,所以先在我们的需要使用到模块化的模块中进行依赖:

implementation 'com.alibaba:arouter-api:1.5.0'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'

同时,在我们的新建的模块中也要进行依赖:

我这里注释掉了,这是因为我后面进行了统一管理依赖,这个先不用在意,直接先依赖就对了,后面我会再把如何统一管理依赖也讲一下的。

到这里的话,我们基本就已经把ARouter引进来了,接着就是使用他进行跳转测试模块之间的界面跳转

三、进行模块化配置

我们的需求是:在App模块建立一个Activity,提供一个点击事件跳转到其他模块的Activity界面

在app模块的Activity中使用Arouter,我们要先初始化ARouter,初始化建议放在Application,我这里简单提供一下:

最主要是在onCreate方法中添加一下以下代码,其中注意的是init方法的调用要在BuildConfig.DEBUG之后。

if (BuildConfig.DEBUG) {
            ARouter.openLog();
            ARouter.openDebug();
        }
        ARouter.init(this);//顺序不可以打乱

然后回到我们的Activity中,直接在我们的点击事件中调用

这里由于我的是在Kotlin中使用的,点击的方法简化了,大家根据自己的实际来写,内部的红框是传值的简单使用,第一次搭建的同学建议不要写,直接先测试跳转就好。

到这里,我们触发跳转的界面就好了,顺便提供一下Constant的常量,其实就是我们给目标Activity定义的路由地址

接着我们看一下目标Activity怎么配置:直接上图

标注1的地方就是我们给目标activity定义的路由地址

标注2和3的地方是用于传递参数接收值用的,在测试跳转模块环节可以先不用管,模块化基本就配置完成了,还有最后的一步,就是在我们新建的模块中去掉入口,也就是在AndroidManifest.xml文件中进行操作:

操作前的代码:

操作后的代码:

总结一下,就是将标注1和标注2的代码删除掉,此时运行就能显示模块1的界面,点击按钮就能跳转到模块二的界面啦。

四、后续

那么问题来了,我们在前面讲过的,将我们的模块化进行可配置处理,就是在开发阶段配置成一个可运行的module,合并打包的时候才将module配置成一个library进行使用,但是我们刚才的操作将module的配置清单文件中的application的入口删除了,这就导致无法进行配置化处理。这里提供一个简单粗暴的方法,就是比较繁琐,我们可以将我们的配置清单文件里面的不需要的代码进行注释一下,切换的时候再放开,这是可以达到我们效果的操作,但是不是最理想的效果,不过不要着急,我将在带三部分讲解几个问题:

1、模块之间跳转传值

2、模块化动态配置

不了解的同学可以看后续的(3),我将持续更新。如果我的文章对你有帮助或者触动到你,可以动动你的手指或者鼠标给予我点赞+收藏。倘若对文章中有不懂的或者有异议的,也欢迎指出。我们下节再见。

android 模块化开发与ARoute之间不得不说的坑 模块化开发因为其合理的解耦性广受青睐,现在关于模块化开发的框架demo已经很多了,对于不同模块之间的跳转也各有各的独门秘方,我用的是阿里的ARoute,这个在GitHub上star已经有9k+了 一、集成: 1、需要在用到ARoute的每一个module中都添加以下配置 android { defaultConfig { ...... 阅读详情

相关推荐

手撸Router——解决跨模块下的页面跳转

人之所以能,是相信能。 一、前言开始模块化开发项目之后,一个很重要的问题就是页面见的跳转问题。关于模块化发开,可详见我的另一片文章Android模块化开发探索。正是由于将项目模块化拆分,各模块之间没有任何依赖关系,也互相不可见,那么从A模块的a界面跳转到B模块的b界面该怎么办呢?二、跨模块跳转的方法这里我们会先介绍这几种常见的跳转方法: 显示跳转 隐示跳转 Scheme协议跳转 Router路由表方

jiashuai94的博客 3634

组件化基础ARouter(三、参数传递与解析)

一、ARouter概述   ARouter是一个用于帮助Android App进行组件化改造的框架 —— 支持模块间的路由、通信、解耦。ARouter的典型应用场景有: 从外部URL映射到内部页面,以及参数传递与解析; 跨模块页面跳转,模块间解耦; 拦截跳转过程,处理登陆、埋点等逻辑; 跨模块API调用,通过控制反转来做组件解耦;   本篇主要介绍ARouter的用法之一:参数传递与解析。 二、基础用法   仍然和"组件化基础ARouter(一)"中举相同的例子:在MainActivity中有一个Fir

BC工坊 5249

Android模块化中数据传递/路由跳转实现示例

主要介绍了Android模块化中数据传递/路由跳转实现示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Android模块化项目搭建和模块之间跳转传值(1)

如何打造一个简单易用的模块化项目,动态配置模块/依赖,每个模块都可独立运行

感谢你浏览我的博客,多多指教 586

APP抓包-代理转发绕过反代理+Xposed绕过证书校验

而这里的牛牛不止设置了反代理还设置了证书校验,一闪而过的三个数据包就是在校验证书。而proxifier工具的转发机制获取的是网络接口出口数据,相当于是在网络接口设代理。这个时候就可以在夜神打开牛牛开始抓包了,打开牛牛可以看到proxifier有夜神流量通过。关闭代理之后牛牛就正常了,可恶的牛牛啊,这样我没办法抓包啊,怎么办啊。模拟器开启代理,burp开启监听。打开牛牛app,牛牛不在报错。牛牛app检测的是系统代理,也就是在模拟器或手机上设置的代理。再在浏览器下载两个模块,在夜神安装,用来屏蔽证书校验。

xiaoheizi的博客 7530

Apache Hop环境搭建实战:从零到一的下载、安装与配置指南

本文详细介绍了Apache Hop环境搭建的全过程,包括下载、安装与配置指南。从选择正确的JDK17版本到设置关键环境变量,再到启动GUI界面和解决常见问题,提供了全面的实战指导。适合数据工程师和ETL开发者快速上手这一强大的数据集成工具。

weixin_42634811的博客 572

Android路由跳转——ARouter使用

前言 模块化开发过程中首要解决的问题是如何进行跨模块交互,由于模块与模块之间不存在类的依赖关系因此类无法直接使用,在软件开发过程中随着业务不断膨胀,模块化开发就凸显得尤为重要。最近在研究组件化/模块化开发过程中突然遇到跨模块交互瓶颈,(例如A模块想要跳转B模块页面,由于AB模块相互独立并不存在依赖关系,因此使用常规的显式Intent路由是无法实现,而隐式Intent路由虽然可通过指定包名+类名实

zcmain的专栏 9882

IEEE Transactions on Industrial Informatics(TII)投稿全流程解析:从准备到成功提交

本文详细解析了向IEEE Transactions on Industrial Informatics(TII)投稿的全流程,涵盖从投稿前的格式准备、内容结构优化到在线提交系统实操等关键环节。重点强调了遵守TII严格的格式规范、双盲评审要求以及如何构建有说服力的学术叙述,旨在帮助研究者提升稿件质量,顺利通过评审。

weixin_28396629的博客 1862

android跨module跳转

Android跨module跳转 在Android开发中,经常会遇到需要在不同的module之间进行页面跳转的情况。如何实现跨module跳转呢?本文将介绍如何在不同module之间进行页面跳转,帮助开发者更好地组织和管理项目代码。 为什么需要跨module跳转 在一个大型的Android项目中,通常会将不同的功能模块拆分...

weixin_40343155的博客 400

剑灵解包器修改xml.dat文件修改乳量方法

本篇内容是基于单机版网游改单机版游戏剑灵的内容,主要针对关于单机版进行数据修改,当然了对于网端有关于剑灵已有很多,像小助手等多种可以更改,但是存在有封号危险,好,下面我们是在单机版中来进行乳量的修改教程。

灵魂学者的博客 3293

Linux----Ubuntu系统官网下载iso镜像文件

Linux----Ubuntu系统官网下载iso镜像文件

MQ0522的博客 5万+

ARouter实现界面跳转和传参

背景:ARouter字面意思一个路由器,是由阿里巴巴集团开源的路由框架,主要解决不同module之间界面跳转的问题,现在大型app都流行模块化开发,比如登录功能写成一个module,设置功能写成一个module,主页写成一个module,这样界面间的跳转使用传统的方式会非常复杂,于是ARouter诞生了!原文链接:https://blog.youkuaiyun.com/xiyangyang8110/article/details/120579135。2起始activity。3目标activity。

chuyouyinghe的专栏 858

CT探测器普遍采用“星形拓扑+多ADC模组”架构的TDC(时间数字转换器)设计方案

本文提出一种基于TDC反馈机制的CT探测器时钟同步方法,通过延时测量、偏差计算和动态补偿三步硬件流水线,实现高精度同步。系统采用Xilinx Kintex UltraScale FPGA内置CARRY8进位链构建3.5ps分辨率的TDC,结合多级比较器和延迟单元,形成闭环反馈控制。实验表明,在512通道、1.28m传输距离下,同步精度稳定在10ps以内,较传统方案提升两个数量级,并能动态补偿干扰抖动。该方案解决了传统方法在CT旋转腔体环境下精度不足的问题,为下一代超高清CT提供了有效的时钟同步解决方案。

whm128的博客 274

我所理解的Android模块化(一)——模块化概念和路由

笔者在公司的项目中使用模块化的方式开发APP已经快一年的时间,其中经历过以模块化的方式来重构项目中一些相对来说业务比较独立的模块。遇到了一些问题,也积累了一些经验,所以想谈一谈我对Android模块化的理解,也希望能帮助到大家。

做更好的自己 1万+

一文读懂 STAR-CCM+:多物理场仿真王者,从入门到精通全攻略(附实战路线)

STAR-CCM+是西门子旗下的多物理场仿真平台,集流体、传热、结构、电磁等耦合求解于一体。其核心优势包括:全自动网格处理技术(支持十亿级网格)、多物理场无缝耦合、CPU/GPU并行加速计算、流程自动化与设计探索等。广泛应用于汽车(空气动力学优化、电池热管理)、航空航天(气动设计、发动机仿真)、能源(风电叶片流固耦合)、电子(芯片散热)等行业。相比ANSYS Fluent和OpenFOAM,STAR-CCM+在多物理场耦合和复杂几何处理方面更具优势,适合工业级高精度仿真需求。学习路径建议从基础操作入手,逐步

源代码杀手的博客 339

多模态论文笔记——VQ-VAE和VQ-VAE-2

本文详细介绍VQ-VAE和VQ-VAE-2的原理和训练过程,为后面的dVAE在DALLE中的使用打下坚实的基础。

haopinglianlian的博客 3299

Android模块化和组件化开发

目录 一.模块化介绍 1.1:模块化简介 1.2:模块化和组件化的区别 1.3:模块化的优点 1.4:模块化的层级介绍 二.如何实现组件化 2.1:实现模块化需要解决的问题 2.2:各个问题的解决方法 一:模块化介绍 (1)对于简单的小项目,大多都采用的是单一工程,独立开发。由于项目不大,编译速度及维护成本这些也在接受范围之内。而对于一个大型App产品,多人合作、单一工程...

MR_LABO的博客 4915

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

使用ARouter进行Android模块化开发

这里我特地整理了一份《Android开发核心知识点笔记》,里面就包含了自定义View相关的内容除了这份笔记,还给大家分享Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~喜欢本文的话,给我点个小赞、评论区留言或者转发支持一下呗~

2401_84520332的博客 1028

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

美团猫眼android模块化实战-可能是最详细的模块化实战

写这篇博客的初衷首先一句话概括:我想把这几个月做的事情记录下来,并且希望尽量详细,希望读者读了这篇文章能够知道模块化具体每个步骤都做什么,而不是大致的了解。 现在很多人都在谈模块化,网上有一大堆的博客实践都在讲这个。很多谈的只是模块与模块之间的解耦,并且大部分讲的是通过router路由进行解耦,其他谈的不多,而且不乏泛泛而谈。但将一个app真正做到解耦,运行。需要解决的事情远远不止解耦。

陈文超的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

安卓开发之模块化、组件化设计

/ 执行跳转 } });if (rootProject.ext.isModule) { apply plugin: 'com.android.application' //指定为独立运行的应用 } else { apply plugin: 'com.android.library' //库 } defaultConfig { if (rootProject.ext.isModule) { applicationId "com.ls.fuser"//如果独立运行 需要提供applicationId } }

qq_62618558的博客 1489

Android简单的模块化开发

1.为什么要模块开发      1.解耦性强:随着业务的增多,代码变的越来越复杂,每个模块之间的代码耦合变得越来越严重,解耦问题急需解决。      2. 编译时间大大减少:以为业务场景对,代码越来越大,同时编译时间也会越来越长。      3.提高团队协同开发:  团队协同开发存在较多的冲突.不得不花费更多的时间去沟通和协调,影响开发效率 。    模块化的定义:        Mod...

yuan381119866的博客 7055

Android模块化之间的跳转

在使用模块化的开发中,各个模块之间的跳转和正常跳转不一样,为了解决这个问题,我用了最高效的方法,让模块依赖模块,这样就可以调用另一个模块中的类和方法了 操作如下 点击AS中这个按钮 然后点击这个 点击一个模块,在点击上方加号 点击这个以后选择想依赖的另一个模块,操作完后,我们就可以正常用Intent进行跳转了 ...

梁馨 1406

Android 模块化

1、 创建项目、创建几个模块,比如下面几个模块 common_core创建是androidlib类型的,它是核心模块比如你封装的网络请求,还有通用的工具类,common_bussiness也是androidlib类型的,这里是你的业务模块公共的部分,而index_module是module类型的,是具体的业务模块这里只是举个例子,像常见的有用户模块(注册登录)我的模块(用户信息、设置等) 2、 ...

danfengw的博客 920

Android组件化和模块化

作为安卓程序员,理解安卓中的组件化和模块化是非常有必要的,其更能体现一个程序员的内功,而不仅仅是业务能力,本篇文章就带领大家学习如何在安卓中组件化和模块化开发项目。

zjm807778317的博客 1654

关于Android模块化我有一些话不知当讲不当讲

关于Android模块化我有一些话不知当讲不当讲最近公司一个项目使用了模块化设计,本人参与其中的一个小模块开发,但是整体的设计并不是我架构设计的,开发半年有余,在此记录下来我的想法。关于Android模块化我有一些话不知当讲不当讲 模块化场景 架构演变 技术要点 Library module Library module开发问题 依赖管理 数据通信 页面路由跳转 Interface和Implemen

流水不腐小夏 6142

Alibaba的ARouter在Android 中的使用(模块 之间界面跳转,和数据的传递)

1.在开发比较大的项目,就要考虑模块化,把整个项目划分成n个模块。这样做每个模块负责一个业务系统,方便后期的迭代开发,使得项目部没那么臃肿。分开编译,每个模块可以单独运行。最后把每个模块都添加到一个宿主APP 合并为一个完整的项目。 那么分模块后,界面之间的跳转就是一大问题。用Alibaba的ARouter开源库,就解决这问题。 在传统的项目中 ,我们业务都在一个模块下面。界面和界面的跳转就是...

beautifulYuan的博客 5817
上一篇: Android模块化项目搭建和模块之间跳转传值(1)
下一篇: Android模块化项目搭建和模块之间跳转传值(3)
Jimven的博客
博客等级 码龄10年 27粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值