欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Android Activity的生命周期和Activity間傳遞數(shù)

系統(tǒng) 2000 0

Activity 生命周期:

使用Bundle 在Activity 間傳遞數(shù)據(jù)1:
1.1從源Activity 中傳遞數(shù)據(jù)

    Intent openWelcomeActivityIntent=new Intent();
Bundle myBundelForName=new Bundle();
myBundelForName.putString("Key_Name",inName.getText().toString());
myBundelForName.putString("Key_Age",inAge.getText().toString());
openWelcomeActivityIntent.putExtras(myBundelForName);
openWelcomeActivityIntent.setClass(AndroidBundel.this, Welcome.class);
startActivity(openWelcomeActivityIntent);
  

?

1.2目標(biāo)Activity 中獲取數(shù)據(jù)

    //從Intent 中獲取數(shù)據(jù)
Bundle myBundelForGetName=this.getIntent().getExtras();
String name=myBundelForGetName.getString("Key_Name");
myTextView_showName.setText("歡迎您進(jìn)入:"+name);
  

使用Bundle 在Activity 間傳遞數(shù)據(jù)2:
2.1從源請求Activity 中通過一個(gè)Intent 把一個(gè)服務(wù)請求傳到目標(biāo)Activity 中

//從Intent 中獲取數(shù)據(jù)

    Bundle myBundelForGetName=this.getIntent().getExtras();
String name=myBundelForGetName.getString("Key_Name");
myTextView_showName.setText("歡迎您進(jìn)入:"+name);
private Intent toNextIntent;//Intent 成員聲明
toNextIntent=new Intent();//Intent 定義
toNextIntent.setClass(TwoActivityME3.this, SecondActivity3.class);
//設(shè)定開啟的下一個(gè)Activity
startActivityForResult(toNextIntent, REQUEST_ASK););
  

2.2開啟Intent 時(shí)候,把請求碼同時(shí)傳遞在源請求Activity 中等待Intent 返回應(yīng)答結(jié)果,通過重載onActivityResult()方法

@Override

    protected void onActivityResult(int requestCode,int resultCode,Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  if(requestCode==REQUEST_ASK){
    if(resultCode==RESULT_CANCELED){
      setTitle("Cancel****");
    }else if(resultCode==RESULT_OK){
      showBundle=data.getExtras();//從返回的Intent中獲得Bundle
      Name=showBundle.getString("myName");//從bundle中獲得相應(yīng)數(shù)據(jù)
       text.setText("the name get from the second layout:\n"+Name);
     }
    }
}
  

? 第一個(gè)參數(shù)是你開啟請求Intent時(shí)的對應(yīng)請求碼,可以自己定義。
? 第二個(gè)參數(shù)是目標(biāo)Activity返回的驗(yàn)證結(jié)果碼
? 第三個(gè)參數(shù)是目標(biāo)Activity返回的Intent
2.3目標(biāo)Activity 中發(fā)送請求結(jié)果代碼,連同源Activity 請求的數(shù)據(jù)一同綁定到Bundle
中通過Intent 傳回源請求Activity 中

  1. backIntent= new ?Intent(); ??
  2. stringBundle= new ?Bundle(); ??
  3. stringBundle.putString( "myName" ,?Name); ??
  4. backIntent.putExtras(stringBundle); ??
  5. setResult(RESULT_OK,?backIntent); //返回Activity結(jié)果碼 ??
  6. finish();??


Android Activity的生命周期和Activity間傳遞數(shù)據(jù)

?

方法名稱
描述
Killable?(能否被殺掉)
下一個(gè)調(diào)用的方法
當(dāng)這個(gè)Activity第一次被創(chuàng)建的時(shí)候,調(diào)用此方法。這個(gè)方法通常用于:1、為Activity設(shè)置所要使用的布局文件2、為按鈕綁定監(jiān)聽器等靜態(tài)的設(shè)置操作。
No
當(dāng)Activity處于可見狀態(tài)時(shí),調(diào)用此方法。
No
開始與用戶進(jìn)行交互時(shí)(能夠獲得用戶焦點(diǎn),可以進(jìn)行點(diǎn)擊等操作的時(shí)候),調(diào)用此方法。
No
之前被停止,現(xiàn)在重新啟動(dòng),調(diào)用此方法。
No
當(dāng)系統(tǒng)啟動(dòng)另外一個(gè)新的Activity時(shí),先調(diào)用前一個(gè)Activity的此方法。這個(gè)方法通常用于:保存現(xiàn)有的Activity中的數(shù)據(jù)、停止動(dòng)畫等,這個(gè)實(shí)現(xiàn)方法必須非常快。
Yes
當(dāng)Activity處于不可見狀態(tài)時(shí)(現(xiàn)有的Activity被新的Activity完全覆蓋時(shí)),調(diào)用此方法。
注:如果只是在現(xiàn)有的Activity中彈出一個(gè)對話框,沒有完全覆蓋現(xiàn)有的Activity的話是不會(huì)調(diào)用此方法的。
Yes
銷毀Activity。
有兩種情況會(huì)對Activity進(jìn)行銷毀:1、在系統(tǒng)不足以支撐現(xiàn)有的應(yīng)用程序的情況下,系統(tǒng)會(huì)關(guān)閉(銷毀)掉一部分系統(tǒng)認(rèn)為不必要的Activity,以節(jié)省空間。2、程序中手動(dòng)調(diào)用finish()方法進(jìn)行銷毀。
Yes
nothings
關(guān)于能否被殺掉:當(dāng)一個(gè)Activity調(diào)用了onPause()、onStop()或onDestroy()方法( Killable? 為Yes的方法),而系統(tǒng)在一定情況下(如系統(tǒng)不足以支撐現(xiàn)有的應(yīng)用程序的情況下),會(huì)先關(guān)閉(銷毀)掉這部分Activity。

實(shí)例:創(chuàng)建一個(gè) Android 應(yīng)用程序,寫兩個(gè) Activity ,都實(shí)現(xiàn)以上 7 個(gè)方法,通過從第一個(gè) Activity 跳轉(zhuǎn)到第二個(gè) Activity ,然后點(diǎn)擊模擬器右側(cè)的返回按鈕,根據(jù)應(yīng)用程序中輸出的內(nèi)容觀察 Activity 的生命周期。

在這里順便大致記錄一下開發(fā)步驟:

1 、創(chuàng)建一個(gè) Android 應(yīng)用程序

2 、寫兩個(gè) Activity FirstActivity SecondActivity ),都實(shí)現(xiàn)以上 7 個(gè)方法,并都輸出一句語句。

3 、因?yàn)橐獜? FirstActivity 跳轉(zhuǎn)到 SecondActivity ,所以要在 FirstActivity 的布局文件中添加一個(gè)按鈕,并且要寫一個(gè)監(jiān)聽器,為按鈕綁定 OnclickListener 事件。

4 、不要忘記將新創(chuàng)建的 Activity 添加到 AndroidManifest.xml 文件中。

5 、然后運(yùn)行程序觀察。

(這里只大致講了一下開發(fā)流程沒有將具體的代碼貼出來,現(xiàn)在將程序打包了,有需要的可在附件中下載)

運(yùn)行程序:

1 、當(dāng)程序剛開始運(yùn)行 FirstActivity 的時(shí)候,控制臺輸出以下內(nèi)容:

從控制臺輸出內(nèi)容來看,程序先執(zhí)行了 FirstActivity onCreate() 方法,然后再依次執(zhí)行了 onStart() onResume() 方法。

2 、當(dāng)點(diǎn)擊 FristActivity 上的按鈕時(shí),控制臺輸出以下內(nèi)容:

從控制臺輸出內(nèi)容來看,程序先調(diào)用了 FirstActivity onPause() 方法,然后再一次調(diào)用了 SecondActivity onCreate() onStart() onResume() 方法,最后調(diào)用了 FirstActivity onStop() 方法。

3 、點(diǎn)擊模擬器右側(cè)的返回按鈕,控制臺輸出以下內(nèi)容:

Android Activity的生命周期和Activity間傳遞數(shù)據(jù)

從控制臺輸出內(nèi)容來看,程序先調(diào)用了 SecondActivity onPause() 方法,然后再依次調(diào)用了

FirstActivity onRestart() onStart() onResume() 方法,再調(diào)用了 SecondActivity onStop() onDestroy() 方法。

注意:當(dāng)點(diǎn)擊返回的時(shí)候,這里調(diào)用的不是 FirstActivity onCreate() 方法而是 onRestart() 方法,因?yàn)樵谥? FirstActivity 已經(jīng)被創(chuàng)建過了并且沒有銷毀,只要當(dāng) FirstActivity 銷毀了再調(diào)用 FirstActivit y 的時(shí)候才會(huì)調(diào)用 onCreate() 方法。

Android Activity的生命周期和Activity間傳遞數(shù)據(jù)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 四虎影视国产884a精品亚洲 | 欧美ol丝袜高跟秘书在线播放 | 美女福利网站 | 一区二区三区免费看 | 一级黄色α片 | 五月激情综合网 | 欧美一区在线观看视频 | 免费观看成人拍拍拍1000视频 | 午夜寂寞少妇aaa片毛片 | 日韩毛片欧美一级a网站 | 看中国毛片 | 国产乱码精品一区二区三区中文 | 亚洲国产综合精品中文第一区 | 亚洲一区二区三区在线播放 | 一级特黄特黄毛片欧美的 | 欧美日在线 | 91成人国产网站在线观看 | 四虎av电影 | 亚洲欧美精品伊人久久 | 国产不卡视频在线 | 欧美激情综合网 | av日韩一区二区三区 | 亚洲视频在线观看 | 欧美日韩精品一区二区三区 | 久久久国产精品免费视频 | 亚洲第一区第二区 | 33eee在线视频免费观看 | 精品综合 | 婷婷色综合久久五月亚洲 | 亚洲97| 日本黄色视屏 | 毛片链接| 91看片官网 | 欧美一级毛片在线 | 日本在线视 | 东方亚洲东方欧美色二区 | 久久精品视频在线观看 | 日韩精品久久 | 人人射人人爱 | 天天爽天天操 | 久久视频在线视频 |