首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問(wèn)我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 11659|回復(fù): 0
上一主題 下一主題
[教程]

android的activity學(xué)習(xí)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
7
activity生命周期   
docs/index.html   
1
、onCreate:第一次被啟動(dòng)、   
2、onStart:activity可視時(shí)調(diào)用、   
3、onResume:activity獲得用戶焦點(diǎn)是被調(diào)用、   
4、onPause:?jiǎn)?dòng)另外一個(gè)activity時(shí)被調(diào)用、   
5、onStop:另一個(gè)activity啟動(dòng)完成后被調(diào)用(第一個(gè)Activity處于不可見(jiàn)的狀態(tài))、   
若啟動(dòng)另外一個(gè)activity時(shí),onStop方法未執(zhí)行,當(dāng)重新回到第一個(gè)activity時(shí)直接調(diào)用OnResume   
6
、onRestart:第一個(gè)activity未被銷毀前又重新啟動(dòng)時(shí)被調(diào)用,執(zhí)行完之后繼續(xù)執(zhí)行onStart   
7
、onDestroy:activity代碼中執(zhí)行finish方法時(shí)或者android系統(tǒng)資源不夠用時(shí)自動(dòng)銷毀時(shí)調(diào)用
窗口形態(tài)的activity   
在manifest.xml中定義activity時(shí)指定android:theme="@android:style/Theme.Dialog"即可
activity還要考慮能否被kill掉,資源被系統(tǒng)回收,(被調(diào)用onPause onStop onDestroy的activity有可能被資源緊缺的系統(tǒng)所銷毀)
Task   
存放多個(gè)activity的棧
五、handler的使用   
線程的生命周期:就緒、運(yùn)行、阻塞、死亡
1、創(chuàng)建一個(gè)handler對(duì)象:   
Handler handler = new Handler();   
2
、調(diào)用post方法   
handler.post(updateThread);//把線程updateThread放入消息隊(duì)列中去   
3、定義線程,并在run方法內(nèi)部執(zhí)行postDelayed或post方法繼續(xù)循環(huán)   
Runnable updateThread = new Runnable(){   
public void run(){   
     
  //
執(zhí)行自定義操作   
  //過(guò)3000毫秒后再把線程放入消息隊(duì)列中去被調(diào)用執(zhí)行  handler.postDelayed(updateThread,3000);   
}   
};   
4
、調(diào)用removeCallbacks   
handler.removeCallnacks(updateThread);//
從消息隊(duì)列中移除線程,結(jié)束handler
   
執(zhí)行   
handler.post(updateThread);   
1
   
Runnable updateThread = new Runnable(){   
public void run(){   
     
  i =+ 10; //
得到一個(gè)消息對(duì)象,Message類是由android系統(tǒng)提供   
  Message msg = handler.obtainMessage();   
     
  msg.arg1 = i;   
     
  //
將msg加入到消息隊(duì)列中,然后會(huì)異步的執(zhí)行handler的handleMessage方法取出消息   
  handler.sendMessage(msg);   
  if(i == 100){   
   handler.removeCallbacks(updateTread);   
  }   
}   
};
2、使用匿名內(nèi)部類復(fù)寫Handler的handleMessage,取出消息隊(duì)列中的Message對(duì)象   
Handler handler = new Handler(){   
public void handleMessage(Message msg){   
  bar.setBarProgress(msg.arg1);   
  //
將線程繼續(xù)加入到隊(duì)列當(dāng)中   
  handler.post(updateThread);   
}   
};
以上處理線程的過(guò)程中并沒(méi)有建立新的線程,而是直接執(zhí)行當(dāng)前activity線程的run方法,若用以下方法,則定義一個(gè)新的線程并去執(zhí)行新線程   
Thread t  = new Thread(r)   
t.start();   
Runnable updateThread = new Runnable(){   
public void run(){}   
};
</div

上一篇:android開(kāi)發(fā)環(huán)境的搭建
下一篇:invalidate與postInvalidate用法

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-10-20 00:27 , Processed in 0.056039 second(s), 15 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表