Android自定义路由编写,GitHub - chenguo0421/CRouter: CRouter是一款自定义的Android路由框架,采用kotlin编写,当前版本可以实现module之间的解...

CRouter

crouter是一款依赖于python和kotlin来设计的android路由框架,主要实现多module之间的完全解耦。其中python版本3.7,kotlin版本1.3.31。

主要特色

将Python应用在Android的编译期,帮助完成一些自动化工作。

## 例如

通过Python在编译时解析注解相关内容,无需再运行时再对注解进行解析。

通过Python在命令行自动生成MVP模板,无需创建多个文件夹及文件,只需要一行命令,即可完成MVP所有相关文件夹及文件创建。

## 例如 在指定包下新增一个Activity或Fragment或DialogFragment

你可以使用如下命令:

## cmd: python mvp.py cn.com.cg.base.test Portal Activity

## cmd: python mvp.py cn.com.cg.base.test Home Fragment

## cmd: python mvp.py cn.com.cg.base.test Register DialogFragment

## 命令执行过后,你将可以看到你的MainActivity和HomeFragment以及RegisterFragment被创建完成,并附带创建了m层和p层,以及contract

89f9fda6e13f4aa1f2f4e33b1b1142fc.png

路由寻址

在编译时,使用python处理所有的注解类,生成相关路由表。在运行时,读取路由表,获得对应类的路由,通过反射机制与相应的类进行通信。

功能点:

## 1.路由寻址 ##

例如:

/**

* 通过注解反射跳转到Test2Activity

* 支持指定的Intnt.flags

* 支持共享元素过度

* 支持跳转动画

* 支持目标也面向当前页面回调

*/

private fun gotoT2() {

val intent = Intent()

intent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP

RouterManager.getInstance()

.with(this)

.sharedElement(img)

.anim(R.anim.slide_in_left,R.anim.slide_out_right)

.action("Test2Activity")

.intent(intent)

.setCallBack(this)

.navigation()

}

## 1.1 路由拦截 ##

支持注入自定义路由拦截器,例如在你的Application代码中新增如下代码:

RouterManager.getInstance().setInterceptor(DefaultRouterInterceptor()).init(this)

## 2.可视化日志 ##

ab0c147c8a6c7e9df0749f3355e836a8.png

可视化日志模式下,可以轻易的查看每一步日志,无需连接usb去控制台查看,也无需写入到sdcard中再查看。且日志不影响界面触摸操作,日志不拦截触摸事件。同时,提供上一页,下一页按钮,方便回看。

可视化日志触发:

在依赖可视化日志包并且初始化后,只需要在屏幕任意空白位置连续快速点击二十次,则会触发可视化日志模式。该模式默认在屏幕右上方显示一个黄色的小圆,点击黄色的圆,则显示日志列表,再次点击,则隐藏日志列表。长按该圆,则结束可视化日志模式。再次点击屏幕空白区域二十次,则再次触发该模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值