本帖最後由 tonyh 於 2017-11-18 18:56 編輯
Intent 物件的三個主要用途:
1. 呼叫出對應的程式,並執行內容
用於此用途時,Intent 物件是由「動作」與「內容」所組成。- Uri uri=Uri.parse("tel:0911123456");
- Intent it=new Intent(Intent.ACTION_DIAL,uri);
- startActivity(it);
複製代碼 譬如上方的程式碼,會呼叫出手機上內建的 "撥號器" 並帶入電話號碼 "0911123456",按下通話鈕後即可撥出。
2. 頁面間的切換
所謂的頁面,就是手機螢幕上所顯示的一頁畫面,也就是 Activity。用於頁面切換用途時,可使用 Intent 類別的建構子或setClass()方法,設定欲切換的兩個頁面。- Intent it=new Intent(MainActivity.this, Second.class);
複製代碼 或- Intent it=new Intent();
- it.setClass(MainActivity.this, Second.class);
複製代碼
3. 在切換頁面的同時,夾帶資料
此時的 Intent 物件角色像郵差。我們運用 Bundle 物件將資料打包,打包字串資料時使用 putString() 方法,打包整數資料時使用 putInt() 方法,依此類推;再以 Intent 類別下的 putExtras() 方法將包裹交給郵差。- Bundle bd=new Bundle();
- bd.putString("NAME", name);
- bd.putInt("AGE", age);
- it.putExtras(bd);
複製代碼 在第二頁接收資料的步驟則是,以 Intent 類別下的 getExtras() 方法從郵差那兒收包裹;再以 getString()、getInt() 等方法將包裹打開取得資料。- Bundle bd=it.getExtras();
- String name=bd.getString("NAME");
- int age=bd.getInt("AGE");
複製代碼
下面是 用途1 的範例程式碼:
本帖隱藏的內容需要回復才可以瀏覽 |