1、方法一;其实我觉得可以 自己实现一-个路由的动机,那到了我们Android开发中呢?如果我们把项目模块化了。那两个组 件间进行通讯或者跳转,我们一般构建Intent的方式就不再使用了:很简单,因为在模块A中根本找不到模块B中的C类。这就需要我们自定义路由规则,绕一道弯去进行跳转。说白了就是给你的类起一 个别名,我们用别用去引用.其实在我准备自己去实现一个路由的时候我是google了一些解诀方案的,
2、方法二:这些方案大致可分为两种:完全自己实现路由完全躁谯攉猡封装跳转参数利用隐式意图跳转,对于这两种方式我总结了一下,个人认为第一种方式封装的太多,甚至有些框架是RESTFullike的,这样的封装一是学习成本太高, 二是旧项目改动起来太麻烦.那第二种方式呢?利用隐式意图是一种不错的选择。而且Android原生支持。这也是大家在尝试模块化开发时的一个选择,不过这种方式仅支持Activity Service, BroadcastReceiver扩展性太差.综上因素;我还是决定自己实现一-个路由。参考自上面的局限性。我们的路由具有一下2个特点....上手简单,目标是与原生方式- -行代码之差就能实现
3、方法三:不仅让我们了解实现方法,还具有 扩展性强,开发者可以任意添加自己的路由实现,不仅仅局限于Activity,Service,BroadcastReceiver.体验一。在了解具体实现代码之前,我们先来了解一I下新的路由怎么使用,使用起来是不是符合上面两点,首先我们先建立三个moduler,分别是壳app,商城模块shoplib,bbs模块bbslib.app模
4、方法四:我们需要利用app模块去打包。而且app也是蚤疣毖扒依赖sopliboblib的,所以我们可以在app的apliation里进行路由的注。这里注册了两个路由,分别是商城模块的的ShopActivity和bbs模块的BBSActivity,它们都是通过Router类的静态方法router方法进行注册的,两个参数,第--个参数是路由地址(也可以理解成别名),第二个参数对应的类.注册完了,那接下来就是如何使用了,我们来看看在商城模块如何跳转BBS模块吧二个参数就是我们前面注册的路由了,这里都很好理解。关键是看它的返回值,这里直接返回了一个Intent,这--点是最棒的~返回Intent也就是说明下面的代码和我们使用原生方式没有任何区别!这一点符合上面我们说到的上手简单的目、至于第二点目标。高扩展性。大家可以实现Rule接口自定义路由Rule,然后调用RouteraddRule(Stringscheme,Rulerul坊法进行路由规则的注册.Rule接口的定义如下。解释下,首先是Rule接口的两个范型,第一个T是我们注册的路由类型例如前面使用的Activity类型,第二个V是invoke方法的返回值类型,例如前面使用的Intent类型至于自定义的代码。这里我赖了~。没有提供demo-~~大家可以尝试自定义-下.