组件化arouter依赖
implementation (‘com.alibaba:arouter-api:1.4.1’)
annotationProcessor ‘com.alibaba:arouter-compiler:1.2.2’
implementation project(’:model名字’)
小象testInstrumentationRunner下面
javaCompileOptions {
annotationProcessorOptions {
arguments = [ AROUTER_MODULE_NAME : project.getName() ]
}
}
大象
plugins {
id “calces.appconfig” version “3.3.0-alpha01”
}
appConfig {
debugEnable false
apps {
APP名字{
mainActivity “com.bwie.zuoye.MainActivity”
modules ‘:m1’,
‘:m2’
}
}
modules {
m1 {
applicationId "com.bwie.m1"
mainActivity ".MainActivity"
isRunAlone true
}
m2 {
applicationId "com.bwie.m2"
mainActivity ".MainActivity"
isRunAlone true
}
}
}
model里面apply plugin: ‘calces.modules’
buildscript里applicationid删掉
每个model里面写application
public class AppLI extends Application {
@Override
public void onCreate() {
super.onCreate();
//打印日志
ARouter.openDebug();
//开启调试模式
ARouter.openDebug();
//初始化尽可能早
ARouter.init(this);
}
}
在app的清单文件里面注册name=“刚才的application名字”
然后是发送消息这边
//注解
@Route(path = “/zujianhua/zujianhua”)
public class MainActivity extends AppCompatActivity {
TextView textView;
String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.t1);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ARouter.getInstance().build("/m1/wangzeyun")//要发送给的路劲名字
.withString(“name”,“消息”).navigation();
}
});
}
}
接收代码块:
@Route(path = “/m1/wangzeyun”)
public class MainActivity extends AppCompatActivity {
//接受消息
@Autowired(name = “name”)
public String name;
TextView t;
private TextView Tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
ARouter.getInstance().inject(this);
t = findViewById(R.id.Tv);
Toast.makeText(this, "名字是:" + name, Toast.LENGTH_SHORT).show();
t.setText(name);
}
private void initView() {
Tv = (TextView) findViewById(R.id.Tv);
}
}