ARouter框架
首先导入依赖
implementation(‘com.alibaba:arouter-api:1.4.1’)
annotationProcessor ‘com.alibaba:arouter-compiler:1.2.2’
然后再自定义一个继承自application的类
里面初始化ARouter
// 打印日志
ARouter.openLog();
// 开启调试模式(如果在InstantRun(就是AndroidStudio2.0以后新增的一个可以减少很多编译时间的运行机制)模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险)
ARouter.openDebug();
// 初始化尽可能早,推荐在Application中初始化
ARouter.init(this);
然后再主模块的清单文件中调用一下
跳转到的模块
//地址,路径必须是两级 /xxx/xxx
@Route(path = "/testmodule/TesttActivity")
public class TesttActivity extends AppCompatActivity {
private TextView aaa;
//获取传递过来的参数
@Autowired(name = "names")
public String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//注册
ARouter.getInstance().inject(this);
setContentView(R.layout.activity_testt);
aaa = (TextView) findViewById(R.id.aaa);
aaa.setText(name+"");
}
}
发起跳转
public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转需要指定地址
ARouter.getInstance().build("/testmodule/TesttActivity")
.withString("names","123")//传递参数
.navigation();
}
});
}
}