Android启动活动的最佳写法

本文出自郭霖大神的<<第一行代码>>.
鄙人不才,抄做笔记,以供回顾,删改之处,如有错误,还望见谅.

启动活动

Intent 构建出当前的意图,然后调用startActivity()或startActivityForResult()方法将活动启动起来,如果有数据需要从一个活动传递到另一个活动,也可以借助Intent来完成.

假设SecondActivity中需要用两个非常重要的字符串参数,在启动SecondActivity的时候必须要传递过来,

我们怎么办.

Intent intent = new   Intent(FirstActivity.this,SecondActivity.class);

intent.putExtra("param1","data1");

intent.putExtra("param2","data2");

startActivity(intent);

这是完全正确的, 但在开发中经常有对接的问题出现,比如SecondActivity不是自己开发的,你负责的部分需要启动SecondActivity这个功能.而你不清楚启动这个活动需要传递哪些数据,这时你要么去阅读SecondActivity中的代码,要么问编写SecondActivity的同事.

只需要换一种写法

public class SecondActivity extends BaseActivity{

       public static void actonStart(Context context, String data1,String data2{

               Intent intent = new Intent(context,SecondActivity.class);
               intent.putExtra("param1",data1);
               intent.putExtra("param2",data2);
               context.startActivity(intent);
        }
}

在SecondActivity中添加了一个actionStart()方法,所有SecondActivity中需要的数据都是通过actionStart()方法中的参数传递过来的,然后再把它们存储到Intent中,最后调用startActivity()方法启动SecondActivity.

这样写的好处是,SecondActivity所需要的数据在方法参数中全部体现出来,不用阅读SecondActivity中的代码,也能知道启动SecondActivity需要传递哪些数据.

简化启动活动的代码

public void onClick(View v){
    SecondActivity.actionStart(FirstActivity.this,"data1","data2");
}

养成一个习惯,给每个编写的活动都添加类似的启动方法.

猜你喜欢

转载自blog.csdn.net/qq_36241003/article/details/77525026