首頁 收藏 QQ群
 網(wǎng)站導航

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

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

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

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

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

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 11829|回復: 0
上一主題 下一主題
[教程]

android的activity學習

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

上一篇:android開發(fā)環(huán)境的搭建
下一篇:invalidate與postInvalidate用法
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

GMT+8, 2024-11-20 08:39 , Processed in 0.053924 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復 返回頂部 返回列表