Board logo

標題: Intent [打印本頁]

作者: tonyh    時間: 2017-11-18 17:26     標題: Intent

本帖最後由 tonyh 於 2017-11-18 18:56 編輯

Intent 物件的三個主要用途:

1. 呼叫出對應的程式,並執行內容
用於此用途時,Intent 物件是由「動作」與「內容」所組成。
  1. Uri uri=Uri.parse("tel:0911123456");
  2. Intent it=new Intent(Intent.ACTION_DIAL,uri);
  3. startActivity(it);
複製代碼
譬如上方的程式碼,會呼叫出手機上內建的 "撥號器" 並帶入電話號碼 "0911123456",按下通話鈕後即可撥出。

[attach]3016[/attach][attach]3017[/attach]

2. 頁面間的切換
所謂的頁面,就是手機螢幕上所顯示的一頁畫面,也就是 Activity。用於頁面切換用途時,可使用 Intent 類別的建構子或setClass()方法,設定欲切換的兩個頁面。
  1. Intent it=new Intent(MainActivity.this, Second.class);
複製代碼
  1. Intent it=new Intent();
  2. it.setClass(MainActivity.this, Second.class);
複製代碼


3. 在切換頁面的同時,夾帶資料

此時的 Intent 物件角色像郵差。我們運用 Bundle 物件將資料打包,打包字串資料時使用 putString() 方法,打包整數資料時使用 putInt() 方法,依此類推;再以 Intent 類別下的 putExtras() 方法將包裹交給郵差。
  1. Bundle bd=new Bundle();
  2. bd.putString("NAME", name);
  3. bd.putInt("AGE", age);
  4. it.putExtras(bd);
複製代碼
在第二頁接收資料的步驟則是,以 Intent 類別下的 getExtras() 方法從郵差那兒收包裹;再以 getString()、getInt() 等方法將包裹打開取得資料。
  1. Bundle bd=it.getExtras();
  2. String name=bd.getString("NAME");
  3. int age=bd.getInt("AGE");
複製代碼


下面是 用途1 的範例程式碼:

本帖隱藏的內容需要回復才可以瀏覽

作者: 李允軒    時間: 2017-11-18 18:30

此帖僅作者可見
作者: 林宇翔    時間: 2017-11-25 13:08

此帖僅作者可見
作者: 劉得恩    時間: 2018-6-18 17:50

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2