1. 程式人生 > >《第一行程式碼Android》學習總結第二章 Activity建立與相關設定

《第一行程式碼Android》學習總結第二章 Activity建立與相關設定

一、id標籤

如果在XML檔案中引用一個id,則使用@id/id_name;

如果在XML檔案中定義一個id,則使用@+id/id_name。

二、程式中設定主活動

在AndroidMaifest.xml中設定

<intent-filter>
       <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>

三、Toast的用法

Toast:Android內部封裝的提醒方式,可將一些短小的資訊通知給使用者。

Toast.makeText(this,”This is a Toast”,Toast.LENGTH_SHORT).show();

第一個引數Context上下文。

第一個引數提醒資訊文字。

第三個引數通知顯示時長Toast.LENGTH_SHORT或Toast.LENGTH_LONG。

四、Menu的用法

    運用Menu使用大量選單。

1、在menu資料夾中新建Menu resource file檔案並在xml檔案中新增item

2、在Activity中重寫onCreateOptionMenu()方法 (快捷鍵Ctrl+O) ,getMenuInflater().inflate()建立Menu物件,並建立選單。

3、重寫onOptionItemSelected()方法定義選單響應事件。

四、銷燬活動

1、點選Back鍵。

2、運用Activity的finish()方法。

五、Intent的用法

   運用Intent進行android元件間互動,用於啟動活動、服務以及傳送廣播。

1、顯式Intent

Intent intent = new Intent(Activity.this,TargetActivity.class);
startActivity(intent);

2、隱式Intent

並不明確指出啟動哪個Activity,而是在AndroidMaifest.xml中指定action和category等屬性,由系統找出匹配的Activity,同時可以在<Intent-filter>標籤中配置<data>標籤,更精確的指定當前活動能夠響應什麼型別的資料。

每個Intent只能指定一個action,但可以指定多個category。

更多隱式Intent用法:

1)App中呼叫Android內建瀏覽器開啟網頁

Intent intent = new Intent(Intent.ACTION_VIEW);
Intent.setData(Uri.parse(“http://www.baidu.com”);
startActivity(intent);

2) 除了http協議外,還可以指定其他協議,比如geo表示顯示地理位置,tel表示撥打電話。

Intent intent = new Intent(Intent.ACTION_DIAL);
Intent.setData(Uri.parse(“tel:10086”);
startActivity(intent);

六、活動間資料傳遞

1、向下傳遞

    運用Intent中的putExtra()方法,將需要的資料以key-value形式存入Intent中,開啟另一活動,並將這些資料運用Intent中的getStringExtra()、getIntExtra()、getBooleanExtra()等獲取。

2、向上傳遞

   1)運用Activity中的startActivityForResult()方法,該方法在活動銷燬時返回一個結果給上一個活動。其中第一個引數為Intent,第二個引數為請求碼,用於之後的呼叫中判斷資料來源。

   2)在下一個Activity中建立Intent,並呼叫setResult()方法,該方法用於專門為上一個活動返回資料。

第一個引數為處理結果(RESULT_OK或RESULT_CANCELED)。

第二個引數為Intent。最後執行finish()方法銷燬活動。

   3)在上一個Activity中重寫onActivityResult()方法獲取返回得到的方法。

第一個引數requestCode為啟動活動時傳入的請求碼。

第二個引數resultCode為返回資料時傳入的處理結果。

第三個引數data攜帶返回資料的Intent。