android5 route,GitHub - JasmineBen/AndroidRouter: A router library for Android App use annotation(@R...

AndroidRouter

A router library for Android App use annotation(@Route(authority="",path="",desc="")). Use this library, App can start an activity by Router.getInstance().openScheme(Context context, String url, Bundle data)

UserGuide:

step1:add following code in project's build.gradle

在project的build.gradle文件中添加如下依赖

maven {

url "https://dl.bintray.com/jasmineben/maven/"

}

dependencies {

classpath 'com.conan.router:router-plugin:1.0.0'

}

step2: add following code in module's build.gradle

在模块的build.gradle中添加如下依赖

dependencies {

implementation 'com.conan.router:router-anno:1.0.1'

annotationProcessor 'com.conan.router:router-compiler:1.0.1'

implementation 'com.conan.router:router-lib:1.0.1'

}

apply plugin: 'router.plugin'

router{

routerImpl='com.conan.router.AppRouter'

}

step3:define Route

can only define on subclasss of Activity

定义Activity的路由,只能定义在Activity的子类

@Route(authority="sampleAuthority",path="samplePath",desc="sampleDesc")

public class xxxActivity extends AppCompatActivity{

}

this Route refer to URI: xxx://sampleAuthority/samplePath?...

路由格式和URI类似

step4:register Router

rigister Router implementation in your application,paramter must equals to

注册没有模块的路由实现类,该类的全路径必须和routerImpl一致

router{

routerImpl=""

}

for example:

Router.getInstance().addBaseRouterImpl("com.conan.router.AppRouter");

step5:multi-module support

if you apply AndroidRouter int multi-module project,each module must define different authority.

besides,yoou must register sub-module's Router implementation int main module,such as you can rigister this code in your main module:

如果在多module中使用这个路由,需要在主module中采用同样的方式注册子模块 路由实现

SampleApplicationLike.getInstance().onCreate();

step6:Inject params

if you want to send data to Activity,you can use @Inject(name="") annotation,inject params must define int your url.

如果要给目标Activity传如参数,可以通过@Inject方式进行注入,注意@Inject的name如果不为空,那么url中的参数必须一样,如果为空,url中的参数名需要和Inject定义的变量名一致

step7:start targetActivity

如下方式可以打开界面。

boolean result = Router.getInstance().openScheme(activity,url,bundleData,requestCode)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值