Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 沒有main函數,怎麼找到程序執行入口呢?以及activity主要生命周期的方法說明

android 沒有main函數,怎麼找到程序執行入口呢?以及activity主要生命周期的方法說明

編輯:關於Android編程

android應用程序,由一到多個Activity組成.每個Activity沒有很緊密的聯系,因為我們可以在自己的程序中調用其它Activity,特別是調用自己的代碼之外生成的Activity,比如android提供的發短信或者打電話的Activity.

Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber);
startActivity(call);

Intent sms = new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+phonenumber);
startActivity(sms);
從這點上看,android應用程序實際上是由多個Activity按照一定的次序拼裝起來的,只不過拼裝的過程中,後台傳遞了一些數據,使得各個Activity之間能比較好的銜接起來.
扯了這麼多,其實我的意思還是想說,android應用程序中,並沒有像c++和java這樣有main函數來作為應用程序的入口.android應用程序提供的是入口Activity,而非入口函數.
在eclipse中創建一個android應用程序的時候,默認會創建一個Activity.這個Activity實際上就是入口Activity了.從哪裡定義它是Activity呢?AndroidManifest.xml文件中定義了整個android應用所包含的Activity.默認生成的Activity的定義為:






action節點中的android.intent.action.MAIN表明它所在的Activity是整個應用程序的入口點.而category中的android.intent.category.LAUNCHER意思是把這個Activityg歸屬到加載器類,即把這個Activity標注為自動會加載和啟動的Activity,這樣程序啟動時候就先加載這個Activity了.參考手冊上是這麼說的----"the LAUNCHER category says that this entry point should be listed in the application launcher."意思和我理解的有出入.不過意思都是說這個Activity要被應用程序加載.

activity主要生命周期的方法說明:
       onCreate(Bundle savedInstanceState):創建activity時調用。設置在該方法中,還以Bundle的形式提供對以前儲存的任何狀態的訪問!
  onStart():activity變為在屏幕上對用戶可見時調用。
  onResume():activity開始與用戶交互時調用(無論是啟動還是重新啟動一個活動,該方法總是被調用的)。
       onPause():activity被暫停或收回cpu和其他資源時調用,該方法用於保存活動狀態的,也是保護現場,壓棧吧!
  onStop():activity被停止並轉為不可見階段及後續的生命周期事件時調用。
  onRestart():重新啟動activity時調用。該活動仍在棧中,而不是啟動新的活動。 
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved