從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)
這樣降低了對接的認知難度。
這種也許不是最優解決方案,只是一個規範,約定大於配置。