从Activity跳转说起

来源:互联网 发布:uuidgen windows 编辑:程序博客网 时间:2024/06/06 19:45

从Activity跳转说起

Activity之间的跳转,我们一般这样写

startActivity(new Intent(MainActivity.this, SecondActivity.class));

如果需要附带参数的话

Intent intent = new Intent(MainActivity.this, SecondActivity.class);intent.putExtra("extra", "Hello World");startActivity(intent);

我们能不能简化一些呢?比如,像这样

PIntent.from(MainActivity.this).to(SecondActivity.class);

附带参数

PIntent.from(MainActivity.this)        .with("extra", "Hello World")        .to(SecondActivity.class);

这样是不是更加的通俗易懂,更容易理解Intent的作用呢?

我们再聊点其他的事情。
当我打算跳转BActivity的时候,BActivity需要什么参数,我们是不知道。难道我们要打开BActivity查看需要什么参数吗?这样太不友好了。我们可以像这样在BActivity中提供一个static方法,用于打开本身。

public static void open(Context context, String id) {    PIntent.from(context)            .with("id", id)            .to(BActivity.class);}

我们在需要打开BActivity的时候就可以直接这样调用

BActivity.open(MainActivity.this, id)

这样降低了对接的认知难度。
这种也许不是最优解决方案,只是一个规范,约定大于配置。

Demo 传送门

阅读全文
0 0
原创粉丝点击