我想为 Android 开发人员实现一个小的开放库。该库包含一个 Activity,它使用 startActivityForResult() 调用和接收参数,并使用 onActivityResult() 返回结果。我想从意图和开发人员中抽象出来,并为它实现一些帮助类。我看到两种方式:
扩展活动并建议开发人员从我在库中定义的类扩展他的活动。这是一种简单的方法,但并不方便,因为开发人员的项目可能需要从另一个库扩展。
使一些类获取活动作为参数并在回调方法中返回结果:
Class HelperClass { Activity mActivity; HelperClass(Activity activity) { mActivity=activity; } void setOption1() { ... } void setOption2() { ... } void start() { Intent intent = new Intent(mActivity, MyActivity.class); mActivity.startActivityForResult(intent, 0); } // This method unavailable in this case // public void onActivityResult(int requestCode, int resultCode, Intent data) { // // } }
这种方式最抽象,但也有一些麻烦。首先 - 如何从 Activity 接收数据?静态场?我认为这不是最好的方法。将 Activity 作为参数传递是否正确?
可能这里有另一种实现方式吗?请指教。