學習之Android運行原理

來源:互聯網
上載者:User

一、Android應用程式架構

當我們安裝好Android到IDE後,我們可以看到如下程式架構,其中:

l src

java原代碼存放目錄

l gen

gen 目錄中存放所有由Android開發工具自動產生的檔案。目錄中最重要的就是R.java檔案。 這個檔案由Android開發工具自動產生的。Android開發工具會自動根據你放入res目錄的xml介面檔案、表徵圖與常量,同步更新修改R.java檔案。正因為R.java檔案是由開發工具自動產生的,所以我們應避免手工修改R.java。R.java在應用中起到了字典的作用,它包含了介面、表徵圖、常量等各種資源的id,通過R.java,應用可以很方便地找到對應資源。另外編繹器也會檢查R.java列表中的資源是否被使用到,沒有被使用到的資源不會編繹進軟體中,這樣可以減少應用在手機佔用的空間。

l Res

在這個目錄中我們可以存放應用使用到的各種資源,如xml介面檔案,圖片或資料。具體請看ppt下方備忘欄。

l AndroidManifest.xml

功能資訊清單檔,這個檔案列出了應用程式所提供的功能,在這個檔案中,你可以指定應用程式使用到的服務(如電話語音、互連網服務、簡訊服務、GPS服務等等)。另外當你新添加一個Activity的時候,也需要在這個檔案中進行相應配置,只有配置好後,才能調用此Activity

l default.properties

項目環境資訊,一般是不需要修改此檔案

二、編寫應用程式思路

在建立一個應用程式,我們先要去配置清單AndroidManifest.xml中指定應用程式的基本資料,例標,標題,應用程式名稱(相關值的設定可以在values中配置string.xml)等,然後我們需要註冊一個activity(一般一個應用程式對應一個activity),然後我們可以註冊一下意圖。詳細說明如下:

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

以上代表意圖過濾器,匹配了意圖,那麼就有activity處理這件事情,例如我們點擊表徵圖的時候,被封裝成為一個意圖intent(action和category兩參數),然後android.intent.action.MAIN被封裝成為一個action,android.intent.category.LAUNCHER被封裝成為一個category,然後有和這兩個參數匹配的意圖過濾器,相應去找對應的activity

接下來我們需要修改res中的drawable的表徵圖資訊,layout(修改布局資訊main.xml)以及values(修改字串資訊)。配置好後,進行相應的商務邏輯代碼編寫,最後發布到手機上即可。

三、運行原理

當我們點擊一個應用的時候,系統會自動建立一個相應的activity類執行個體,然後執行Oncreate方法,接著會執行以下兩行代碼,解釋如下:

super.onCreate(savedInstanceState);一定要執行。完成一些圖形的繪製

setContentView(R.layout.main);指定由哪個檔案指定布局(main.xml),可以將這個介面顯示出來,然後我們進行相關操作,我們的操作會被封裝成為一個意圖,然後這個意圖對應有相關的activity進行處理。

 

作者:jpr1990

聯繫我們

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