十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、路由方案
成都创新互联公司主要业务有网站营销策划、网站设计制作、成都网站制作、微信公众号开发、重庆小程序开发、H5页面制作、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、营销型网站资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。原生的路由方案缺点:
显式:直接的类依赖,耦合严重
隐式:规则集中式管理,协作困难
Manifest扩展性较差
跳转过程无法控制
失败无法降级
ARouter的优势:
使用注解,实现了映射关系自动注册 与 分布式路由管理
编译期间处理注解,并生成映射文件,没有使用反射,不影响运行时性能
映射关系按组分类、多级管理,按需初始化
灵活的降级策略,每次跳转都会回调跳转结果,避免StartActivity()一旦失败将会抛出运营级异常
自定义拦截器,自定义拦截顺序,可以对路由进行拦截,比如登录判断和埋点处理
支持依赖注入,可单独作为依赖注入框架使用,从而实现 跨模块API调用
支持直接解析标准URL进行跳转,并自动注入参数到目标页面中
支持获取Fragment
支持多模块使用,支持组件化开发
…….
这么多好处,是时候来了解一下 ARouter
了。
二、ARouter框架
上图是根据 ARouter
一次基本的路由导航过程,整理的基本框架图,涉及到主要流程,下面进行详细介绍。
三、路由管理
1.注册
通过注解,在编译时收集使用了注解的类或变量并经过Android Process Tool处理进行统一管理。
包含三种注解@Autowired,@Interceptor,@Route。
@Route
注解定义
String path();//路径URL字符串 String group() default "";//组名,默认为一级路径名;一旦被设置,跳转时必须赋值 String name() default "undefined";//该路径的名称,用于产生JavaDoc int extras() default Integer.MIN_VALUE;//额外配置的开关信息;譬如某些页面是否需要网络校验、登录校验等 int priority() default -1;//该路径的优先级