定義一個類繼承actvity
一、開啟activity的兩種方式
1-開啟方式1
startActivity(intent);//(沒有要返回的數(shù)據(jù).就是簡簡單單開啟activity)
2-開啟方式2
// [1]開啟activity 當(dāng)開啟activity 還要開啟之前關(guān)閉activity返回的數(shù)據(jù)
//參數(shù)2:請求嗎
startActivityForResult(intent, 1);
//onActivityResult當(dāng)開啟的activit關(guān)閉的時候這個方法會執(zhí)行
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//取出數(shù)據(jù) 請求碼
if (requestCode == 1) {
// 代表我要請求ContactActivity這個頁面的數(shù)據(jù)
String phone = data.getStringExtra("phone");
et_number.setText(phone);
} else if (requestCode == 2) {
// 代表我要請求SmsTemplateActivity短信模板頁面的數(shù)據(jù)
String smsTemplate = data.getStringExtra("smsTemplate");
et_content.setText(smsTemplate);
}
/*
* if (resultCode == 10) { //說明 data數(shù)據(jù)是從ContactActivity這個頁面返回
//取出數(shù)據(jù) 結(jié)果碼
String phone = data.getStringExtra("phone");
//展示數(shù)據(jù)
* et_number.setText(phone);
*
* }else if(resultCode == 20){ //說明data數(shù)據(jù)是從SmsTemplateActivity這個頁面返回
* String smsTemplate = data.getStringExtra("smsTemplate");
* et_content.setText(smsTemplate); }
*/
}
關(guān)閉頁面前把數(shù)據(jù)返回
// [4]取出點中條目的數(shù)據(jù)
String smsTemplate = objects[position];
// [5]把短信模板的數(shù)據(jù)返回到mainActivity 調(diào)用者
Intent intent = new Intent();
intent.putExtra("smsTemplate", smsTemplate);
setResult(20, intent);
// [6]調(diào)用finish把當(dāng)前頁面關(guān)閉 把數(shù)據(jù)返回
finish();
頁面跳轉(zhuǎn)--intent匹配
1隱式意圖跳轉(zhuǎn)(意圖過濾器有啥匹配啥)
// [1]創(chuàng)建意圖對象 可以和我自己定義的意圖過濾器進行匹配 實現(xiàn)一件事 可以簡單的去實現(xiàn) 也可以復(fù)雜化
Intent intent = new Intent();
// 意圖過濾器有啥匹配啥
// [2]設(shè)置action 匹配action--配置啥寫啥
//
intent.setAction("com.kailing.testactivity");
// [3]匹配category :是為了執(zhí)行我們定義的動作(action)提供的環(huán)境--default安卓默認(rèn)提供的環(huán)境 intent.addCategory("android.intent.category.DEFAULT");
// [5]匹配 type類型 這個方法會自動清除之前通過setdata方法設(shè)置的數(shù)據(jù)
// intent.setType("aa/bb");
// [4]頁面跳轉(zhuǎn)加上了攜帶的數(shù)據(jù) ---scheme的數(shù)據(jù)再隨便加個數(shù)據(jù)--:號是固定格式
// 這個方法會自動清除之前通過setType方法設(shè)置的數(shù)據(jù)
// intent.setData(Uri.parse("kailing:"+1110));
// 當(dāng)清單文件既配置了data(scheme) 又配置了type 我們應(yīng)該使用下面這個方法
intent.setDataAndType(Uri.parse("kailing:" + 1110), "aa/bb1");
// [6]開啟意圖
startActivity(intent);
2顯示意圖跳轉(zhuǎn)
// [1]創(chuàng)建意圖對象 (參數(shù)1:上下文--參數(shù)2:這個類的字節(jié)碼)
Intent intent = new Intent(getApplicationContext(), Test2Activity.class);
// [3]開啟意圖
startActivity(intent);
二、activity生命周期和啟動模式
三、多圖標(biāo)
若清單文件中的Activity聲明為:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
則此Activity將作為程序的入口,有幾個作為入口的Activity,apk文件安裝的時候就會生成幾個圖標(biāo)。