Android 初識 Helloworld 詳解

來源:互聯網
上載者:User

在Eclipse+ADT中建立HelloWorld非常簡單,直接按照導航下一步就可以了。本文重點不在如何建立,而在理解HelloWorld項目的檔案。需要的朋友可以參考下 

HelloWorld的目錄結構有:

src:存放應用程式的邏輯代碼,這裡面的代碼是人工寫的
gen:存放資原始碼,這裡面的代碼是自動產生的
assets:存放mp3等視頻資源
bin:產生的可執行檔二進位檔案目錄
libs:引用到的庫,這裡和bin/dexedLibs裡面的目錄是一致的
res:資源檔。往這個目錄添加資源的時候,會被gen/R.java自動記錄,自動那個記錄到R.java中去。
AndroidManifest.xml:項目的總配置項,記錄應用中使用到各種全域的配置
ic_launcher-web.png:這個是為了google Play市場使用展示的表徵圖,它需要的是512×512的高解析度的表徵圖。
proguard-project.txt
project.properties

這兩個檔案是為了保護Android項目而做的代碼混淆使用的。官方文檔在:http://developer.android.com/tools/help/proguard.html

下面一個一個看:
src
存放使用者代碼的檔案夾,裡面至少會有一個Activity。Activity的概念就是介面,相當於C#中的Windows Form。

看到至少包含了一個onCreate函數,是在渲染介面的時候調用的,這裡使用R.layout.activity_main來渲染,這個就對應於gen/R中的

activity_main等號後面的是資源描述符。

這裡正好可以看一下R這個類

gen/R.java

R中的每個類都對應res中的一個資源,

比如layout對應res/layout

drawable對應res/drawable-XXdpi

所以上文中的R.layout.activity_main對應的實際是res/layout/activity_main.xml。這樣就把介面和邏輯分開了,這就是典型的mvc模式分層的概念。

gen/BuildConfig.java

裡面存放著全域的DEBUG開關,你可以使用這個開關做日誌和調試的操作。

但是如何修改這個呢?gen下面的檔案不應該手動修改,具體可以參照:http://drovik.com/html/5701262218.html

bin

這個目錄是組建檔案的目錄,可以看到,它把apk包,AndroidMainifest.xml都產生一份放在檔案夾內。

bin/class.dex


java編譯後產生的java位元組碼檔案,相當於java的.class檔案。但是由於Android使用的dalvik虛擬機器和標準的java虛擬機器是不相容的,所以dex和class是不一樣的。

現在網路上就有一些工具能通過dex來進行反編譯出Android代碼。比如這個:http://code.google.com/p/android-apkdb/

bin/HelloWorld.apk

這個就是應用的安裝包了(application package file)。一個apk檔案內包含被編譯的代碼檔案(.dex檔案),檔案資源(res),assets,認證(certificates),和資訊清單檔 (manifest file)。APK是基於zip檔案格式的。

bin/resources.ap_

這個是所有資源檔的集合,實際上是zip格式。我們可以將它的尾碼名修改,解壓可以看到裡面的結構是有mainfest,res等。

bin/dexedLibs

對應libs中引用的jar包

res

這個目錄就是所有的資源檔了

res/drawable-Xdpi:這裡存放的是對不同解析度的資源

res/layout:存放布局資源,src中的onCreate方法就載入了這裡面的activity_main資源

res/menu:手機的menu菜單

res/values:用來存放一些變數,參數等。

res/values-XX:對於不同裝置或者不同的安卓版本會有不同的參數設定

相關文章

聯繫我們

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