標籤:des android style blog http color 使用 os
在Android中,無論是開發人員還是使用者,接觸最多的就算是Activity。它是Android中最複雜、最核心的組件。Activity組件是負責與使用者進行互動的組件,它的設計理念在很多方面都和Web頁面類似。當然,這種相似性主要體現在設計思想上。在具體實現方面,Android的Activity組件有自己的設計規範,同時,它能夠更簡便地使用線程、檔案資料等本地資源。一、Activity 的生命週期
Activity 的生命週期是被以下的函數控制的。
1 public class Activity extends ApplicationContext { 2 protected void onCreate(Bundle icicle); 3 protected void onStart(); 4 protected void onRestart(); 5 protected void onResume(); 6 protected void onFreeze(Bundle outIcicle); 7 protected void onPause(); 8 protected void onStop(); 9 protected void onDestroy();10 }
- onCreate函數:函數是你進行初始化的地方,這個也是執行setContentView(View)函數的地方,setContentView(View)函數可以傳入一個由XML編製的UI介面,可以使UI和具體實現完全分離。
- onStart函數:該方法在 onCreate() 方法之後被調用。
- onRestart()函數:在 Activity 從 Stop 狀態轉換為 Active 狀態時被調用。
- onResume()函數:在 Activity 從 Pause 狀態轉換到 Active 狀態時被調用。
- onFreeze()函數:當你的activity被暫停而其他的activity恢複與使用者互動的時候這個方法會被調用(在其他activity顯示之前)
- onPause()函數:當系統要啟動一個其他的activity時調用(其他的activity顯示之前)
- onStop()函數:當另外一個activity恢複並遮蓋住此activity,導致其對使用者不再可見時調用。
- onDestroy()函數:在你的activity被銷毀前所調用的最後一個方法。
二、Activity 的配置
- 註冊Activity,除了系統自動產生的Activity之外,其他的Activity都必須在manifest.xml檔案中進行註冊
<activity android:name=".Demo" android:label="@string/app_name"> //.Demo是要註冊的Activity名字,當然不在預設包內的話,前面要加上包名。後面的是Activity的名字</activity>
- 啟動另一個Activity
Intent intent =new Intent(CurrentActivity.this,OtherActivity.class); startActivity(intent);
當然OtherActivity也必須在manifest.xml檔案中進行註冊。其中intent是一個通訊機制,這個以後會專門介紹它。
三、一些關於 Activity 的技巧
- 鎖定Activity螢幕的運行方向
<activity android:name=".EX01" android:label="@string/app_name" android:screenOrientation="portrait">// 豎屏 , 值為 landscape 時為橫屏 </activity>
- 全屏的Activity
// 設定全螢幕模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // 去除標題列 requestWindowFeature(Window.FEATURE_NO_TITLE);
- 在Activity的title中加入進度條
// 不明確進度條 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.main); setProgressBarIndeterminateVisibility(true); // 明確進度條 requestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main); setProgress(5000);
Activity還有更多可以詳細講解的地方,比如它的互動事件,構造菜單、對話方塊等附加的互動資源以及它的資料結構等等。這些在以後的學習中我們肯定會遇到。所以今天在這裡就不再贅述了,只是讓大家瞭解一下它的簡單機制。 參考文章:(1)android之Activity生命週期 http://www.cnblogs.com/draem0507/archive/2012/11/28/2793332.html (2)詳解 Android 的 Activity 組件 http://www.ibm.com/developerworks/cn/opensource/os-cn-android-actvt/ cpacm連絡方式:QQ 348515494(請註明部落格園)
出處:(http://www.cnblogs.com/cpacm/p/3900557.html)
著作權聲明:本文的著作權歸作者與部落格園共有。歡迎轉載閱讀,轉載時須註明本文的詳細連結。