demo場景:app模塊主頁面分別跳轉購物車模塊頁面和個人中心模塊,個人中心模塊跳轉主界面和購物車模塊,購物車模塊跳轉個人中心模塊和主界面
框架地址:ARouter
使用步驟:
1、在項目的build.gradle文件中
2、分別在module的build.gradle中填加(如果某個module沒有填加會報錯There is no route match the path):
defaultConfig {
......
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName : project.getName()]
}
}
}
dependencies {
......
compile 'com.alibaba:arouter-api:1.3.1'
//註解器
annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
}
Kotlin配置見:Arouter(二)Kotlin和Java配置
3、初始化,建議在Application中進行
public class DemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在init之前打開日誌和調試
if (BuildConfig.DEBUG) {
ARouter.openLog();
ARouter.openDebug();
}
ARouter.init(this);
}
}
4、無參數跳轉頁面
跳轉頁面:
ARouter.getInstance().build("/main/MainActivity").navigation();
目標頁面
//添加註解
//註解路徑爲/AA/BB形式
@Route(path = "/main/MainActivity")
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ARouter.getInstance().inject(this);
setContentView(R.layout.activity_cart);
......
}
@Override
protected void onDestroy() {
super.onDestroy();
ARouter.getInstance().destroy();
}
}
5、帶參跳轉
跳轉頁面:
ARouter.getInstance()
.build("/cart/cartactivity")
.withString("from", "我從main來")
.navigation();
目標頁面:通過@Autowired註解
@Autowired
String from;
或
@Autowired(name = "from")
String name;
注意:不要忘了在AnroidManifest.xml文件中配置activity!