【Android的從零單排開發日記】之入門篇(四)——Android四大組件之Activity

來源:互聯網
上載者:User

標籤: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 }
  1. onCreate函數:函數是你進行初始化的地方,這個也是執行setContentView(View)函數的地方,setContentView(View)函數可以傳入一個由XML編製的UI介面,可以使UI和具體實現完全分離。
  2. onStart函數:該方法在 onCreate() 方法之後被調用。
  3. onRestart()函數:在 Activity 從 Stop 狀態轉換為 Active 狀態時被調用。
  4. onResume()函數:在 Activity 從 Pause 狀態轉換到 Active 狀態時被調用。
  5. onFreeze()函數:當你的activity被暫停而其他的activity恢複與使用者互動的時候這個方法會被調用(在其他activity顯示之前)
  6. onPause()函數:當系統要啟動一個其他的activity時調用(其他的activity顯示之前)
  7. onStop()函數:當另外一個activity恢複並遮蓋住此activity,導致其對使用者不再可見時調用。
  8. onDestroy()函數:在你的activity被銷毀前所調用的最後一個方法。

二、Activity 的配置
  1. 註冊Activity,除了系統自動產生的Activity之外,其他的Activity都必須在manifest.xml檔案中進行註冊
    <activity android:name=".Demo" android:label="@string/app_name"> //.Demo是要註冊的Activity名字,當然不在預設包內的話,前面要加上包名。後面的是Activity的名字</activity>
  2. 啟動另一個Activity
    Intent intent =new Intent(CurrentActivity.this,OtherActivity.class); startActivity(intent);

    當然OtherActivity也必須在manifest.xml檔案中進行註冊。其中intent是一個通訊機制,這個以後會專門介紹它。

三、一些關於 Activity 的技巧
  1. 鎖定Activity螢幕的運行方向
    <activity android:name=".EX01" android:label="@string/app_name"  android:screenOrientation="portrait">// 豎屏 , 值為 landscape 時為橫屏 </activity>
  2. 全屏的Activity
    // 設定全螢幕模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,     WindowManager.LayoutParams.FLAG_FULLSCREEN);  // 去除標題列 requestWindowFeature(Window.FEATURE_NO_TITLE);
  3. 在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)
著作權聲明:本文的著作權歸作者與部落格園共有。歡迎轉載閱讀,轉載時須註明本文的詳細連結。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.