android一個完整工程組成部分

來源:互聯網
上載者:User

Android 工程目錄結構介紹 
   當我們完成完 Android 工程如(HelloWorld)後,展開“Package Explorer”視窗裡的 
“HelloWorld”項名稱,可以看見如下目錄結構: 


 
src目錄 
       該目錄是Android工程的來源程式目錄,該目錄是存放項目的原始碼的 

gen目錄 
       該目錄存放所有自動產生的檔案,這個目錄中最關鍵的檔案是R.java。R.java是個中介檔案,在建立項目時自動產生,這個檔案是唯讀模式的,不能更改。R.java檔案是自動產生的R類,R類中包含很多靜態類,且靜態類的名字都與res中的一個名字對應,就像是個資源字典大全。其中包含了使用者介面、映像、字串等對應各個資源的標識符,R類定義了該項目所有資源的索引。例如介面中有一個文字框控制項,這個控制項就在布局檔案中有id,id是“android:id="@+id/textview"”,那麼通過R.id.textview"就可以找到這個控制項。通過R.java可以很快地尋找到所需要的資源,同時編譯器也會檢查R.java列表中的資源是否被使用,沒被使用到的資源不會被編譯到軟體中,這樣可以減少在手機佔用的空間。 

assets目錄 
      除了提供res目錄存放資源檔外,Android在assets目錄也可以存放資源檔,assets目錄下的資源檔不會在R.java自動產生id,所以讀取assets目錄下的檔案必須指定檔案的路徑,可以通過AssetManager類來訪問這些檔案,如下代碼實現了訪問一個該目錄片檔案的功能: 
private Bitmap getImageFromAssetFile(String fileName){  
Bitmap image = null;  
try{  
AssetManager am = context.getAssets();  
InputStream is = am.open(fileName);  
image = BitmapFactory.decodeStream(is);  
is.close();  
}catch(Exception e){  
}  
return image;  


bin目錄 
      在使用Eclipse開發時,可以不用關心bin目錄。如果在Eclipse中看不到,可以到資源管理員下面查看。 

res目錄 
       res資來源目錄,它包含項目中的資源檔並將其編譯進應用程式中,向此目錄添加資源時,會被R.java自動記錄。res目錄存放所有程式中用到的資源檔。“資源檔”指的是資料檔案、圖片等。子目錄有:drawable、layout、values。 
       drawable。存放一些應用程式需要用的圖片檔案(*.png、*.jpg),Android 1.5及以下版本目錄是drawable,Android 1.5以上版本有3個:drawable-hdpi、drawable-mdpi和drawable-ldpi。drawable-hdpi放置高品質的圖片。drawable-mdpi放置中品質圖片,drawable-ldpi放置低品質的圖片。雖然是3個目錄,但是在使用R檔案訪問時,與Android
1.5及以下版本一樣的。 
       layout。螢幕布局目錄,layout目錄內預設布局檔案是main.xml,可以在該檔案內放置不同的布局結構和控制項,來滿足項目介面的需要,也可以建立布局檔案。 
       values。參數值目錄,存放軟體所需要顯示的各種文字和一些資料。可以在這個目錄下的strings.xml存放各種文字,還可以存放不同類型的資料,比如arrays.xml、colors.xml、styles.xml等。例如:在main.xml布局檔案中訪問strings.xml檔案內容可以是"@+string/hello"方式,在程式中訪問方式為R.string.hello。 
      raw資來源目錄。使用Eclipse建立Android工程,預設情況下不會在res目錄下面建立這個目錄,如果需要可以自己建立這個目錄,它可以通過I/O流訪問,如應用中內建音頻檔案,就可以放置在這個目錄下面。訪問方式為R.raw.xxx方式。 
       關於res和assets的區別請參考:http://www.eyeandroid.com/thread-1826-1-1.html 

AndroidManifest.xml 
       它是每個android程式中必需的檔案,它在工程的根目錄下。AndroidManifest.xml是項目的總設定檔,記錄應用中所使用的各種組件。這個檔案列出了應用程式所提供的功能,可以指定應用程式中使用到的服務許可權(如GPS服務、互連網服務、簡訊服務等)。

相關文章

聯繫我們

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