【代码片段】Activity 调用

223 阅读1分钟
原文链接: mp.weixin.qq.com

Activity 调用

有时候会发现特别好用并且让人眼前一亮的代码。特将这些代码片段进行整理归纳,旨在减少重复性工作。

Talk is cheap.Show me your code.

主体代码

public class TestActivity extends Activity {    public static void launch(Context context, int startTab) {        Intent i = new Intent(context, TestActivity.class);        i.putExtra(INTENT_IN_INT_START_TAB, startTab);        context.startActivity(i);    }}

这段代码的主体是 launch 静态方法,通过 launch 将 TestActivity 的调用方式进行封装。这样的话调用者通过  launch 方法就可以了解调起 TestActivity 所需的参数。

举个栗子

假设我们需要调用 ImageActivity 来展示一张图片,我们一般写法就是:

Intent intent = new Intent(context, ImageActivity.class);intent.putExtra("uri", uri);context.startActivity(intent);

问题来了,我们是怎么确定 uri 这个参数了,当然了如果只自己开发的话查看下源码就好,如果是第三方开发的话情况好点就有个开发文档之类。

这时候我们将 Activity 调用的方式换成 launch 方式:

public class ImageActivity extends Activity {    public static void launch(Context context, Uri uri) {        Intent intent = new Intent(context, ImageActivity.class);        intent.putExtra("uri", uri);        context.startActivity(intent);    }}

现在我们的调用方式就是:

ImageActivity.launch(context, uri);

这样是不是就更加简单易懂了~


扫码关注,一起学习交流~~