《第一行程式碼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。