Android 开发路由框架(二)注解模块详解(route-annotation)

一、注解模块的作用

route-annotation 模块是路由库的基础,它定义了所有与路由相关的注解,这些注解用于标记需要路由的页面、参数和方法。注解模块是一个纯 Java/Kotlin 模块,没有任何依赖,便于被其他模块引用。

二、核心注解

1. @IRoute 注解

用于标记需要路由的 Activity 或 Fragment,是最核心的注解。

/**
 * @Description: Activity 和 Fragment 注解
 * @param IRoute 用于和ARoute的区分开来
// 路由路径,格式:/模块名/页面名
    val path: String,
 */
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.BINARY)
annotation class IRoute(val path: String)

2. @RouteParam 注解

用于标记路由参数,支持自动注入和类型检查。

@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.BINARY)
annotation class RouteParam(
    // 参数所属的路由路径
    val routePath: String
)

三、注解的使用方法

1. 标记 Activity

@IRoute(path = "/app/MainActivity")
class MainActivity : AppCompatActivity() {
    // ...
}
  1. 标记 Fragment
@IRoute(path = "/app/MyFragment")
class MyFragment : Fragment() {
    // ...
}
  1. 标记参数类
 @JvmField // 必须放在@RouteParam上方
    @RouteParam(value = "tab_text")
    var tab: String? = null

四、注解的处理流程

注解的处理流程如下:

  1. 编译时 :注解处理器扫描代码中的注解
  2. 生成路由表 :根据注解信息生成路由表文件
  3. 运行时 :路由核心通过路由表查找和执行路由

五、最佳实践

  1. 路径命名规范 :使用 /模块名/页面名 的格式,如 /app/MainActivity
  2. 参数类设计 :为每个需要参数的页面创建单独的参数类
  3. 方法命名 :使用清晰、明确的方法名,便于理解其功能
    通过本章的学习,我们了解了注解模块的核心功能和使用方法,接下来我们将深入学习路由库的核心实现。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容