1、不合适的启动方式
在很多初学者认为,启动Activity不就以下这样简单?
Intent intent = new Intent(Src.this,Target.class);
intent.putExtra("data","hello"); startActivity(intent);
对的,启动Activity就这么简单,某人当初也是这样认为。但在单人开发的项目中问题可能就不大,因为你记得启动的target活动需要传送data这个字符串数据,但在大型的项目里面,可能有几十乃至上百个Activity,就算是自己写的一个Activity也有可能忘记启动需要的某些参数。这样我们在对接启动其他开发成员写的Activity时,就必须去查看启动的Activity的源码,去理解它,或者询问他的编写者需要的是哪些数据。有人说,问就问呗有什么的,但你想想,如果你写的Activity需要对接启动很多很多的Activity,那么你一个一个的去询问,这样的开发效率不是很低?
2、正确的启动方法
假若我们在启动target目标Activity的时候,目标Activity能提供给我们一个启动方法,并且所需要的数据都设置了对应的形参,我们只要对应形参传给它必须的数据就能启动了,这样的设计方式不是可以让你少跑去询问目标Activity的编写者或者查看它的源码?下面带上正确启动Activity的方法。
这是Target.java的方法
public static void actionStart(Context context,String data){
Intent intent = new Intent(context,Target.class);//这里的Target.class是启动目标Activity
intent.putExtra("data",data); startActivity(intent);
}
这样我们只要在Src.java里以以下方法启动就可以了。
Target.actionStart(this,"hello");
这样的设计方式,我们就不需要翻看目标Activity的代码了,是不是很简单?
网友评论