首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android 组件化】路由组件 ( 路由组件结构 )

文章目录 一、路由组件原理 二、路由组件基本组成 三、自定义注解模块 四、注解处理器模块 五、博客资源 一、路由组件原理 ---- 在之前博客 【Android 组件化】使用 Gradle 实现组件化...1 个 Activity 中如果要使用路由模块 , 先初始化路由模块 , 如果需要页面跳转 , 传入 " 路由地址 ", 跳转到对应界面 , " 路由地址 " 是在对应的 Activity 类上使用注解设定的...; 在 " 路由模块 " 中 , 维护了多个分组 , 每个分组维护一张 路由表 , 其中 包含了需要调用的 Activity , Service 等组件信息 , 每个组件都有一个路由地址与之对应 ,..., 选择对应的路由表进行加载 ; 二、路由组件基本组成 ---- 路由模块 实现时 , 需要使用注解 , 通过注解 , 生成对应 Java 类文件 , 该 Java 文件就是对应的 路由表 ; 这种涉及注解以及生成..., 选择性设置 * 路由节点可以按照分组进行加载 * @return */ String group() default ""; } 使用注解 , 需要在类上添加如下注解

38910

【Android 组件化】路由组件 ( 路由框架概述 )

JavaPoet 生成代码 ) 【Android 组件化】路由组件 ( 注解处理器参数选项设置 ) 【Android 组件化】路由组件 ( 构造路由表中的路由信息 ) 【Android 组件化】路由组件..., 路由框架不起任何作用 ; 在组件模式 , 由于没有直接引用其它模块的类 , 独立运行时 , 也可以单独编译运行 ; 完整的组件化项目 , 有一个主应用 , 和若干 Library 依赖库 , 主应用..., 选择性设置 * 路由节点可以按照分组进行加载 * @return */ String group() default ""; } 使用编译注解 : @Route...extends IRouteGroup>> routes) { routes.put("app", Router_Group_app.class); } } 使用 路由框架 , 首先要初始化路由表信息..., 在 Application 中调用 Router 的 init 方法 , 通过调用 注解处理器 编译 生成的 路由分组表 , Root 表 , 获取路由信息 ; 具体如何在 运行时 获取路由

49310
您找到你想要的搜索结果了吗?
是的
没有找到

【Android 组件化】路由组件 ( 组件间共享的服务 )

实现组件化 ( 组件 / 集成模式下的 Library Module 开发 ) 【Android 组件化】路由组件 ( 路由组件结构 ) 【Android 组件化】路由组件 ( 注解处理器获取被注解的节点...) 【Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet 生成代码 ) 【Android 组件化】路由组件 ( 注解处理器参数选项设置 ) 【Android 组件化】路由组件 (...构造路由表中的路由信息 ) 【Android 组件化】路由组件 ( 使用 JavaPoet 生成路由表类 ) 一、组件间共享的服务 ---- 路由除了支持 Activity 之外 , 还要支持 组件间共享的服务...) : 类名 */ private Map mRootMap = new TreeMap(); /** * 该函数在初始化时调用...Diagnostic.Kind.NOTE, "打印 moduleName 参数 : " + mModuleName); } } /** * 该函数在注解处理器注册自动执行

83110

【Android 组件化】路由组件 ( 构造路由表中的路由信息 )

@Route 标注的 注解节点的类型 5、路由信息分组 三、完整的 注解处理器 代码 四、博客资源 组件化系列博客 : 【Android 组件化】从模块化到组件化 【Android 组件化】使用 Gradle...组件 / 集成模式下的 Library Module 开发 ) 【Android 组件化】路由组件 ( 路由组件结构 ) 【Android 组件化】路由组件 ( 注解处理器获取被注解的节点 ) 【Android...组件化】路由组件 ( 注解处理器中使用 JavaPoet 生成代码 ) 【Android 组件化】路由组件 ( 注解处理器参数选项设置 ) 在【Android 组件化】路由组件 ( 注解处理器参数选项设置...编译注解 " 依赖库 Module 中 , 定义 封装 路由信息 的 JavaBean 类 , 其中需要封装以下数据 ; ① 被 " kim.hsl.router_annotation.Route "...每个路由信息都有一个分组 , 在定义 Route 注解 , 分组为 “” 空字符串 ; @Target({ElementType.TYPE}) @Retention(RetentionPolicy.CLASS

52420

React-组件-Transition调函数和React-组件-受控组件

官方文档:https://reactcommunity.org/react-transition-group/transition本文主要介绍的就是 Transition 在之前的三种状态会自动触发对应的调函数...,在以后的需求当中可能会有在指定的调函数当中进行编写对应的业务代码,所以这里只是样式一下它的执行时机。...}}>隐藏 ); }}export default App;受控组件受控组件值受到...e.target.value); this.setState({ name: e.target.value }); }}export default App;图片受控组件处理技巧在我们有多个受控组件的时候...,这个时候有可能需要编写多个受控组件的处理方法,如果给每一个受控组件绑定一个对应的名称,我们就可以抽离出来一个公共的处理方法处理即可。

19120

【Android 组件化】路由组件 ( 使用 JavaPoet 生成路由表类 )

1、完整注解处理器代码 2、执行结果 四、博客资源 组件化系列博客 : 【Android 组件化】从模块化到组件化 【Android 组件化】使用 Gradle 实现组件化 ( Gradle 变量定义与使用...) 【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 ) 【Android 组件化】使用 Gradle 实现组件化 ( 组件 / 集成模式下的 Library Module...开发 ) 【Android 组件化】路由组件 ( 路由组件结构 ) 【Android 组件化】路由组件 ( 注解处理器获取被注解的节点 ) 【Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet...生成代码 ) 【Android 组件化】路由组件 ( 注解处理器参数选项设置 ) 【Android 组件化】路由组件 ( 构造路由表中的路由信息 ) 在 【Android 组件化】路由组件 ( 构造路由表中的路由信息...组件化】路由组件 ( 构造路由表中的路由信息 ) 中封装的 路由信息 对象 , 放在 HashMap 中管理 , 键 ( Key ) : 路由分组 名称 ; 值 ( Value ) : 路由信息 RouteBean

58520

组件设计 —— 重新认识受控与非受控组件

重新定义受控与非受控组件的边界 React 官网中对非受控组件与受控组件作了如图中下划线的边界定义。...值得一提的是, 以非受控组件的使用方式去调用受控组件是一种反模式, 在下文中会分析其中的弊端。 如何做到不管对于组件提供方还是调用方 Input 组件都为受控组件呢?...如若有则该子组件是当前组件的受控组件; 如若没有则该子组件是当前组件的非受控组件。 职能范围 基于调用方对于受控组件拥有控制权这一认知, 因此受控组件相较非受控组件能赋予调用方更多的定制化职能。...借助受控组件的赋能, 以 Input 组件为例, 比如调用方可以更为自由地对值进行校验限制, 又比如在值发生变更执行一些额外逻辑。..., 受控组件的职能相较非受控组件更加宽泛, 建议优先使用受控组件来构建基础组件

78110

vue中父组件传值给子组件,父组件值改变,子组件不能重新渲染

ref="str" 来声明组件,然后通过this....$refs.str.method()在值改变的地方来调用子组件中的方法 来 重新渲染(暂时使用有bug,不能够及时渲染,父组件值已经改变了,但是子组件值仍然没有改变,不能够及时渲染) 这个方法感觉props...’接收数据在调用方法之后,明明父组件的值已经改变了,但是父组件在调用子组件方法,数据仍然没有 接收到,调用之后才接收到,这个方法暂且没用,应该是声明ref的时候声明的是当前组件的实例,然后调用时调用的也是值未改变的属性...这个没什么用,可以用来调用子组件方法。...$refs.pieChart.getChange(); } }, 3 在子组件上使用 v-if =”flag” (谢谢各位老哥的建议) 初始flag:true 修改data changData(

2.7K30

Vue 组件通信与路由

组件通信 1.组件通信 (1) props $emit解决父子组件层数较少的情况 (2) attrs listeners 解决组件嵌套多层关系 (3)中央事件总线$bus new Vue( ) on()...emit 挂载的同-个实例化对象解决兄弟组件传值 5(4) vuex的流程图脑子要有这个概念 2.声明周期的图示 3.路由的使用 3.1引入包(两个全局的组件router-link to属性...router-view (匹配路由组件的出口) ) 3.2创建实例化VueRouter对象 3.3匹配路由规则 3.4挂载new Vue( )实例化对象中 给vue实例化对象挂载了两个对象this ....router (它就是VueRouter) thi . route ( 配置路由信息的对象) 路由解析 命名路由 绑定自定义的属性:to =" {name: '路由的名字'}” 路由的参数 path...(应用子的路由是不同的页面结构) /home/music ===> /home/ movie 一个router-view中嵌套 另外一个route-view 代码实现 <!

68120

Vue-Router多级路由,父组件重复加载的问题。

复现 代码中使用了两层路由,并且每层路由都使用了keep-alive,App.vue内初始代码如下: ...有三个子路由,View.vue代码同上。...一、问题描述 实际使用过程中发现分别加载view的三个子路由,View.vue会初始化三次。然后就开始考虑问题出现原因存在的可能性。  Vue-Router Bug?显然不是。  ...除了这三次初始化,往后都正常,说明是重复加载 了三次。...确定是重复加载了,开始排查代码 keep-alive让组件被切换之后,组件不被销毁,同时component的key值保证组件的复用,而代码中的key使用的是路由名称,子路由路由名称都是不相同的,也就导致了组件无法被正常复用

1.5K30

【Android 组件化】路由组件 ( 注解处理器调试 )

文章目录 一、添加断点 二、获取调试选项 三、创建 Gradle 调试任务 四、开始调试 五、博客资源 组件化系列博客 : 【Android 组件化】从模块化到组件化 【Android 组件化】使用...Gradle 实现组件化 ( Gradle 变量定义与使用 ) 【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 ) 【Android 组件化】使用 Gradle 实现组件化...( 组件 / 集成模式下的 Library Module 开发 ) 【Android 组件化】路由组件 ( 路由组件结构 ) 【Android 组件化】路由组件 ( 注解处理器获取被注解的节点 ) 【...Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet 生成代码 ) 【Android 组件化】路由组件 ( 注解处理器参数选项设置 ) 【Android 组件化】路由组件 ( 构造路由表中的路由信息...) 【Android 组件化】路由组件 ( 使用 JavaPoet 生成路由表类 ) 一、添加断点 ---- 在 注解处理器 的 process 方法中加上断点 , 二、获取调试选项 ---- 选择

20120

【Android 组件化】路由组件 ( 页面跳转参数依赖注入 )

、参数自动注入 二、自定义注解 三、使用 @Extra 自定义注解 四、注解处理器解析 @Extra 自定义注解 并生成相应 Activity 对应代码 五、博客资源 一、参数自动注入 ---- 在 组件化...中 , 使用 路由组件 进行界面跳转 , 涉及到参数的传递 , 传递过去的参数需要在目的地 Activity 的 onCreate 方法中 , 调用 getIntent().getXxxExtra(..., @Target({ElementType.FIELD}) 元注解表示该注解用于标注成员字段 , @Retention(RetentionPolicy.CLASS) 元注解表示该注解保留到字节码编译...private Map> mActivity2Field = new HashMap(); /** * 该函数在初始化时调用..., "ExtraProcessor : 打印 moduleName 参数 : " + mModuleName); } } /** * 该函数在注解处理器注册自动执行

85720

React路由 及 React 路由中核心组件

文章目录 React 路由 前端路由 React Router 基于 Web 的 React Router react-router-dom 的核心组件 Router组件 Route 组件 exact...属性 component 属性 Route:render 路由组件传参 动态路由 Link 组件 to 属性 NavLink 组件 activeStyle activeClassName isActive...传统模式下 我们把整个应用分成了多个页面, 然后通过 URL 进行链接, 但是这种方式也会有问题, 每次切换页面都需要重新发送所有请求和渲染页面, 不止性能上会有影响, 同时也会导致整个 JavaScript...重新执行, 丢失状态....的路由组件 Route 组件 通过该组件来设置应用中单个路由信息,Route 组件所在的区域就是当 URL 与当前 Route 设置的 path 属性匹配的时候,后面 component 将要显示的区域

1.4K20

【Android 组件化】路由组件 ( 生成 Root 类记录模块中的路由表 )

( 组件模式与集成模式切换 ) 【Android 组件化】使用 Gradle 实现组件化 ( 组件 / 集成模式下的 Library Module 开发 ) 【Android 组件化】路由组件 ( 路由组件结构...) 【Android 组件化】路由组件 ( 注解处理器获取被注解的节点 ) 【Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet 生成代码 ) 【Android 组件化】路由组件...( 注解处理器参数选项设置 ) 【Android 组件化】路由组件 ( 构造路由表中的路由信息 ) 【Android 组件化】路由组件 ( 使用 JavaPoet 生成路由表类 ) 【Android...组件化】路由组件 ( 组件间共享的服务 ) 一、Root 表作用 ---- 注解处理器 为每个 Module 模块生成一个路由表 , 该模块下凡是被 @Route 标注的路由节点都在该路由表中维护 ;...) : 类名 */ private Map mRootMap = new TreeMap(); /** * 该函数在初始化时调用

2.5K10

路由复用页面组件问题

,在 /foo/1 和 /foo/2 之间跳转的时候 动态路由匹配 文档请看这里 响应路由参数的变化 当使用路由参数,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用。...复用组件,想对路由参数的变化作出响应的话,有两种方法 watch (监测变化) $route 对象 使用 2.2 中引入的 beforeRouteUpdate 导航守卫 使用beforeRouteUpdate...获取到的还是失活页面组件的id 在beforeRouteUpdate钩子中,在next调函数中编写代码并没有执行,仿佛没有调用,但是去掉next(),路由就不会放行,有点奇怪。...beforeRouteEnter (调用守卫中传给 next 的调函数,创建好的组件实例会作为调函数的参数传入。...喜欢的小伙伴记得点赞关注收藏哟,看不迷路 欢迎大家评论交流, 蟹蟹

99510

Vue如何实现当前组件重新加载

背景 在最近开发一些功能需求的时候,会遇到重新加载当前组件的情况。当父组件发生了数据变化需要,重置按钮,只刷新当前加载的子组件等情况。 本文就来了解下Vue如何实现当前组件重新加载的几种使用方法。...(rander)渲染虚拟DOM,注意并不是重新加载组件。...$forceUpdate() } } } 使用组件中的 :key 如果需要每次在当前父页面更新重载某个组件就可以用这个方法,每次组件更新 :key 都会重新取值,而时间戳每次都是不同的...,组件发现 :key发生变化就会重新渲染。...$forceUpdate: 不会更新子组件,也不太推荐使用。 v-if通过控制变量的方式来实现重新加载,比较推荐。 使用组件中的 :key的方式相对比较优雅和简单,推荐使用。

11.2K40
领券