react 前端框架如何驱动企业数字化转型与创新发展
609
2022-10-23
Android 最简单、灵活的路由框架
Router
中文wiki. 方便的话给个star! ❤️
Getting started
Add router gradle plugin to your project-level build.gradle, as shown below.
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:+' classpath "com.chenenyu.router:gradle-plugin:版本号" }}
Apply router plugin in your module-level 'build.gradle'.
apply plugin: 'com.android.application' // apply plugin: 'com.android.library'apply plugin: 'com.chenenyu.router'
注意: 在rootProject的build.gradle文件中, 可以指定插件引用的library版本.
ext { routerVersion = 'x.y.z' compilerVersion = 'x.y.z' compilerLoggable = true/false // 打开/关闭编译期log}
基本用法
添加-(可选)
@Interceptor("SampleInterceptor")public class SampleInterceptor implements RouteInterceptor { @Override public RouteResponse intercept(Chain chain) { // do something return chain.process(); }}
添加注解
// 给Activity添加注解,指定了路径和-(可选)@Route(value = "test", interceptors = "SampleInterceptor")public class TestActivity extends AppCompatActivity { @InjectParam(key="foo") // 参数映射 String foo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Router.injectParams(this); // 自动从bundle中获取并注入参数 ... }}// 给Fragment添加注解@Route("test")public class TestFragment extends Fragment { ...}
跳转
// 简单跳转Router.build("test").go(this);// startActivityForResultRouter.build("test").requestCode(0).go(this);// 携带bundle参数Router.build("test").with("key", Object).go(this);// 添加回调Router.build("test").go(this, new RouteCallback() { @Override public void callback(RouteStatus status, Uri uri, String message) { // do something }});// 获取路由对应的intentRouter.build("test").getIntent();// 获取注解的FragmentRouter.build("test").getFragment();
进阶用法
建议浏览 wiki.
讨论
QQ group: 271849001
Donate ❤️
Click here.
License
Apache 2.0
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~