欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ARouter简易ARouter+手动组件化跳转Module应用总结

程序员文章站 2022-06-15 20:26:46
ARouter应用一、添加依赖和配置(将所有要用的Module中的build.gradle里面添加)//添加在build.gradle中->android->defaultConfig 下javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] }...

ARouter应用
一、添加依赖和配置(将所有要用的Module中的build.gradle里面添加)

//添加在build.gradle中->android->defaultConfig 下
javaCompileOptions {
            annotationProcessorOptions {
                arguments = [AROUTER_MODULE_NAME: project.getName()]
            }
        }
//以下是需要导入的依赖
implementation ('com.alibaba:arouter-api:1.4.1')
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'

二、在一个最初的(第一个运行的Module)Module继承自applaction中并初始化ARouter

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //打印日志
        ARouter.openLog();
        //开启调试模式
        ARouter.openDebug();
        //初始化
        ARouter.init(this);
    }
}

三、添加注解
添加注解
在支持路由的页面上添加注解
1.这里的路径需要注意的是至少需要有两级,/xx/xx一般是本类名+上一级文件夹名

//设置注解路径
@Route(path="/mafengwo/MainActivity")
public class MainActivity extends AppCompatActivity {

2.需要注册、(在设置路径的地方本Activity中)

ARouter.getInstance().inject(this);

3.在需要跳转的地方写入

//设置点击事件
 text1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            //再导入依赖和配置后使用
            			//build中写入跳转的路径
     ARouter.getInstance().build("/myhome/MyHomeMainActivity")
     					//传值
                        .withString("name","田老师")
                        .navigation();
            }
        });

4.接受跳转的值

//注解获取获取值
@Autowired(name="name")
//必须public 接收name
public String name;
//2.通过Autowired注解 & 将key1作为属性的名称   &  需要在onCreate中调用ARouter.getInstance().inject(this);配合使用
TextView text1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home_activity_main);
    //注册
    ARouter.getInstance().inject(this);
    //初始化控件
    text1=findViewById(R.id.home_text1);
    //设置textView
    text1.setText(name);
}

本文地址:https://blog.csdn.net/qq_45394277/article/details/107958017