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

來源:互聯網
上載者:User

標籤:

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時調用。該活動仍在棧中,而不是啟動新的活動。

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.