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);