美文网首页
组件化的理解

组件化的理解

作者: 破晓11 | 来源:发表于2022-10-17 19:48 被阅读0次

    1.使用了AutoService,autoService使用了代理模式,autoService会在各个是具体实现的接口接口模块下生成一个这个文件,完成装在,模块注入

    2.Router实际上就是利用注解,使用javapoet的apt技术在代码运行时自动编译代码,使用@ARouter(path=“/app/MainActivity”)在类上面注解,在模块之间进行跳转时,是取出app作为gruop,当项目中有很多module,每个module都会有一个组,每个组下面会有很多activity的业务代码,利用javapoet生成

    这是javapoet生成的组文件,key是每个moudle的名字,value是相对应的activity的名字

    javapoet生成的每个activity的类文件对应的path,key是跳转的路径,value是对应的Routerbean

    在跳转的时候,根据group找到每个path,根据key找到对应的routerbean,跳转的时候取出routerBean对应的类,使用startActivity(new Intent())来进行跳转的

    传递参数,会使用javapoet生成对应的parameter对应的文件,在属性上面使用@Parameter(name ="/user/getUserInfo")这个注解,生成下面对应的文件

    navigation实际上是利用了bundler类进行跳转的,最终的跳转

    RouterBean routerBean = loadPath.getPathMap().get(path);

    if (routerBean!=null) {

    switch (routerBean.getTypeEnum()) {

    case ACTIVITY:

    Intent intent =new Intent(context,routerBean.getMyClass());

    intent.putExtras(bundleManager.getBundle());

    context.startActivity(intent);

    break;

    相关文章

      网友评论

          本文标题:组件化的理解

          本文链接:https://www.haomeiwen.com/subject/hdxggrtx.html