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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章