標籤:
一丶什麼是活動(Activity)
活動是一種可以包含使用者介面的組件,主要用於和使用者進行互動。一個應用程式可以包含零個或多個活動.
二丶活動的基本用法
首先需要在AndroidManif中對活動進行註冊:
<activity>
......
</activity>
還可以在Acitiviy的類中的OnCreate方法中用requestWindowFeature方法指定活動的標題列
當然可以使用findViewById()方法來使用在資源檔裡載入的資源。如: Button button=(Button)findViewById(R.id.button);
Toast的用法:Toast.makeText(Activity.this,"",Toas.鍵參).show();
在活動中使用菜單,當然還是需要先在res中建立菜單的xml檔案,然後在Activity類中重寫onCreateOptionMenu()方法
pubilc boolean onCreateOptionMenu()
{
getMenuInflater().inflate(R.menu.菜單名,menu);
return true;
}
如果要響應菜單的點擊事件的話就需要在重寫onOptionsItemSelected(MenuItem item)方法,使用switch(item.getItemid()) 進行判斷就行了。
在不同的活動之間穿梭:使用Intent
顯式調用
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
隱式調用
Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("com.example.activitytest.MY_CATEGORY");
startActivity(intent);
還可以使用intent.setData()方法更多的顯示調用。比如如果要開啟百度:intent.setData(Url.parse("http://www.baidu.com"));
如果要開啟電話:intent.setData(Url.parse("tel:10086"));
Intent還可以用來在活動之間傳遞資料,它提供了putExtra()方法。
Activity1: intent = new Intent(Activity1.this,Activity2.class);
intent.putExtra("extra_data",data);
Activity2: intent = getIntent();
String data = intent.getStringExtra("extra_data");
如果需要返回資料給上一個活動,那麼需要使用startActivityForResult()來啟動子活動,然後在子活動中使用setResul方法,在主活動中重寫 onActivityResult(),在onActivityResult()中通過switch(reuestCode)來判斷是哪一個子活動,該值在啟動子活動時指定。
活動的生命週期:
1.onCreate() 2.onStart() 3.onResume() 4.onPause() 5.onStop() 6.onDestroy()
7.onRestart()
完整生存期:onCreate和onDestroy之間所經曆的
可見生存期:onStart和onStop之間所經曆的
前台生存期:onResum和onPause之間所經曆的
活動的啟動模式:
1.standard(預設)
2.SingleTop :在啟動時如果發現返回棧的棧頂已經是該活動,則認為可以之間使用它,不會再建立新的活動執行個體。
3.SingleTask :在啟動時首先檢查返回棧中是否存在該活動是執行個體,如果發現已經存在則直接使用該執行個體,並且把在這個活動之 上的所以活動統統出棧,如果沒有發現就建立一個新的活動執行個體。
4.SingleInstance :會指定一個新的返回棧來管理該活動。(解決共用活動執行個體)
活動實踐:
1.知曉當前是在哪一個活動: 建立一個BaseActivity使其它的活動都繼承於它,然後在onCreate()中 Log.d("BaseActivity",
getClass().getSimpleName());
2.隨時隨地退出程式:建立個ActivityCollector類作為Active Manager,使用List<Activity>activities來管理。
Android學習(一)Activity