1.为什么会想写Router
1.a 最近准备开始正正经经的写android的应用了,所以最近在想一些架构和结构的东西。这里最先想到的就是统一处理页面的跳转方式,这样有什么好处呢?
那我们先看一下传统的跳转传值方式
a.A跳转B页面时,如果不需要下个页面回传数据,调用方法是这样婶的
Intent intent = new Intent();
intent.setClass(this, OneActivity.class);
startActivity(intent);
b.A跳转B页面时,如果需要下个页面回传数据,调用方法是这样婶的
Snip20190318_3.png
并且需要在B页面设置resultCode值
Intent intent = new Intent();
intent.setClass(OneActivity.this, MainActivity.class);
intent.putExtra("price", 10);
setResult(1, intent);
finish();
而且还需要在A页面进行方法的监听,才能实现回传数据,天哪
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == 1) {
System.out.println(data);
}
}
c.如果是A->B->C,然后C->A,进行反向传值的话,需要这样处理
真的真的是好麻烦,并且这还是在不涉及到启动模式的情况下。如果涉及到不同的启动模式还需要实现不同的回调方法,才能监听到回传的数据。真的是感觉好麻烦。如果你对启动模式还不了解的话,请先移步到这里。https://www.cnblogs.com/claireyuancy/p