晓游的专栏

无欲以观其妙,耐心沉淀自己

Activity的静态start方法

1、为业务Activity的 增加一个   静态start方法, 将启动本Activity所需要的参数全部标明在start方法的参数上, 这样的写法的好处有如下几点:

     a、让 业务Activity的用法更加清晰,便于调用此 业务Activity 的开发者了解 启动这个Activity所需要的参数

     b、让 Activity 的职责 更加 单一 , 减少团队成员间不必要的沟通。     

            试想,两个 安卓开发者 A和B,A编写ActivityA 的 代码,B编写ActivityB的代码,   当大家的任务都完成之后,最后开始集成,  在ActivityA里 需要 启动 ActivityB 并传递一些参数过去, 这时 A开发者 就 必须去 询问B开发者 需要哪些参数 以及 参数 的名称,  或A直接 去阅读 ActivityB的源码, 这样 白白 增加 许多 沟通集成 成本 。


写法如下:


public class CommentActivity extends BaseActivity{

    public static final String INTENT_EXTRA_COMMENT_DATA = "extra_comment_data";


    public static void start(Context context, ExtraCommentData extraCommentData) {
         Intent intent = new Intent(context, CommentListActivity.class);
         intent.putExtra(INTENT_EXTRA_COMMENT_DATA, extraCommentData);
         context.startActivity(intent);
    }
    public static void start(Context context, 参数2  名称, 参数3 名称) {
         Intent intent = new Intent(context, CommentListActivity.class);
         intent.putExtra(INTENT_EXTRA_COMMENT_DATA, extraCommentData);
         intent.putExtra(参数2, 名称2);
         intent.putExtra(参数3, 名称3);
context.startActivity(intent); }

}

如果 ActivityB 包含 多种启动用法, 可以根据参数 重载 出几个 start 方法,仅仅是 参数不同而已

         intent.putExtra(INTENT_EXTRA_COMMENT_DATA, extraCommentData);
         intent.putExtra(INTENT_EXTRA_COMMENT_DATA, extraCommentData);
阅读更多
文章标签: android
个人分类: Android
上一篇layout_weight 不常用的用法
下一篇mac 终端命令
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭