編輯:關於Android編程
本文分析了Android Activity中onStart()和onResume()的區別。分享給大家供大家參考,具體如下:
首先你要知道Activity的四種狀態:
① Active/Runing 一個新 Activity 啟動入棧後,它在屏幕最前端,處於棧的最頂端,此時它處於可見並可和用戶交互的激活狀態。
② Paused 當 Activity 被另一個透明或者 Dialog 樣式的 Activity 覆蓋時的狀態。此時它依然與窗口管理器保持連接,系統繼續維護其內部狀態,所以它仍然可見,但它已經失去了焦點故不可與用戶交互。
③ oped 當 Activity 被另外一個 Activity 覆蓋、失去焦點並不可見時處於 Stoped 狀態。
④ Killed Activity 被系統殺死回收或者沒有被啟動時處於 Killed 狀態。
分析:
protected void onStart() 該方法在 onCreate() 方法之後被調用,或者在 Activity 從 Stop 狀態轉換為 Active 狀態時被調用,一般執行了onStart()後就執行onResume()。
protected void onResume() 在 Activity 從 Pause 狀態轉換到 Active 狀態時被調用。
onResume是activity獲得用戶焦點,在與用戶交互
onStart是activity用戶可見,包括有一個activity在他上面,但沒有將它完全覆蓋,用戶可以看到部分activity但不能與它交互。
補充:Android Activity中的六個主要函數
Android中一個Activity一般都需要實現六個函數:
onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy().
1. onCreate函數:注冊你要用到的變量,比如說service,receiver,這些變量是無論你的Activity是在前台還是在後台都能夠被響應到的,然後調用上面那個用來初始化的函數初始化布局信息。
2. onStart函數:注冊一些變量。這些變量必須在Android Activity類在前台的時候才能夠被響應。
3. onResume函數:調用一些刷新UI的函數,每當Activity調用到這裡時就要刷新一下UI各控件的狀態。
4. onPause函數:一般是做一些變量的設置,因為這個時候Activity馬上就要切到後台處理,可能有些變量就要被釋放掉或者狀態要做些相應的調整。
5. onStop函數:反注冊在onStart函數中注冊的變量。
6. onDestory函數:反注冊在onCreate函數中注冊的變量。
在Android-Hello中,
public class UbiLrnActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
首先,聲明了一個onCreate函數,這個函數的傳入參數是savedInstanceState.型別是Bundle,Bundle是一個數據參數,一般用於Activity之間的數據傳送。onCreate()的參數都是Bundle類的。
super.onCreate表示的是調用父類onCreate。
setContentView(R.layout.main)表示的是通過加載main.xml來加載系統的resource.
更多關於Android Activity相關內容感興趣的讀者可查看本站專題:《Android編程之activity操作技巧總結》
希望本文所述對大家Android程序設計有所幫助。
關於滑動效果,在Android中用得比較多,本示例實現的滑動效果是使用ViewFlipper來實現的,當然也可以使用其它的View來實現。接下來就讓我們開始實現這種效果。
當要顯示的數據過多時,為了更好的提升用戶感知,在很多APP中都會使用分頁刷新顯示,比如浏覽新聞,向下滑動到當前ListView的最後一條信息(item)時,會提示刷新加載
小米Note是一款性能非常不錯的雙卡雙待手機,高清電影/電視劇、精彩的手機游戲肯定不在話下,但是高清視頻、手游都動辄1GB以上,小米Note的容量夠用嗎?如
微信怎麼鑒別二手機?現在還有不用微信的童鞋嗎?不過估計即使是最早的一批微信玩家,到現在也無法摸透它的所有隱藏功能。比如,用微信查崗和鑒別二手機,下面小編就給