HelloWorld 及源碼關聯 & Manifest 類關聯

Http://androidtoast.iteye.com/blog/1159191
1.構建一個helloworldandroid程序非常簡單,直接new 一個android的項目,直接運行,一個helloworld的項目就完成了。這一篇主要詳細講一下android的項目目錄結構以及源碼關聯。看圖:



相對於J2EE項目結構的靈活,Android項目的結構顯得比較固定,只要你弄清楚每個資源文件裏面該放什麼東西,就不會出現J2EE中,資源放錯地方not found的問題。當然兩者的相同之處還是很明顯的,android項目中圍繞着四大組件構建起來的業務邏輯,在JavaEE中你可以看作是Servlet或者SSH,每一個組件或者每一個框架都負責處理屬於自己的東西。AndroidManifest.xml可以看做是web.xml

src :包含應用程序的所有源代碼

gen :gen下面的R類是自動生成的,這是一個非常頑強的類即使把它刪除也會自動創建。這個類裏面 包含很多內部類,每個內部類對應相應的資源文件。

Java代碼 複製代碼 收藏代碼
  1. public final class R {
  2. public static final class attr {
  3. }
  4. //此類對應res資源包下的drawable
  5. public static final class drawable {
  6. //每一張圖片都會生成一個唯一的整型標識符
  7. public static final int icon=0x7f020000;
  8. }
  9. //此類對應佈局文件layout
  10. public static final class layout {
  11. //位佈局文件生成的對應的標識符
  12. public static final int main=0x7f030000;
  13. }
  14. //對應values資源包主要用於國際化
  15. public static final class string {
  16. //爲不同的字符串生成相對應的標識符
  17. public static final int app_name=0x7f040001;
  18. public static final int hello=0x7f040000;
  19. }
  20. }
[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. public final class R {  
  2.     public static final class attr {  
  3.     }  
  4.     //此類對應res資源包下的drawable  
  5.     public static final class drawable {  
  6.     //每一張圖片都會生成一個唯一的整型標識符  
  7.         public static final int icon=0x7f020000;  
  8.     }  
  9.     //此類對應佈局文件layout  
  10.     public static final class layout {  
  11.     //位佈局文件生成的對應的標識符  
  12.         public static final int main=0x7f030000;  
  13.     }  
  14.     //對應values資源包主要用於國際化  
  15.     public static final class string {  
  16.     //爲不同的字符串生成相對應的標識符  
  17.         public static final int app_name=0x7f040001;  
  18.         public static final int hello=0x7f040000;  
  19.     }  
  20. }  

assets: 可以存放一些其他,額外的文件或者資源

res:資源文件包 drawable用於存放圖片資源,layout用於存放佈局文件,values用於存放程序所

需文字資源。着重說一下drawable在之前的版本中,只有一個drawable,而2.1版本之後(包括 2.1)出現了drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是爲了支持多分辨率。

  他們的主要區別

  (1)drawable-hdpi裏面存放高分辨率的圖片,如WVGA (480x800),FWVGA (480x854)

  (2)drawable-mdpi裏面存放中等分辨率的圖片,如HVGA (320x480)

  (3)drawable-ldpi裏面存放低分辨率的圖片,如QVGA (240x320)

  系統會根據機器的分辨率來分別到這幾個文件夾裏面去找對應的圖片。

  在開發程序時爲了兼容不同平臺不同屏幕,建議各自文件夾根據需求均存放不同版本圖片。

AndroidManifest.xml:應用程序的描述文件,此文件定義應用程序的Activity,ContentProvider,Service,receiver以及意圖過濾器。還定義了應用程序所需要的權限等等。

Default.properties:主要定義了應用程序最低的兼容版本。

Proguard.cfg:主要用於優化,壓縮,混淆java字節碼文件的工具。

2,開發中經常需要擴展或者自定義某些功能,這就需要對源代碼有一些深入的瞭解。目前android 除了支持平板的3.0以上的版本源碼還沒有開放。其餘版本都可以下載到。說一下如何關聯源碼。例如我關聯android2.2版本的。



然後在Eclipse上新建一個android的程序,右鍵→propertiesJava Buid Path


此時源碼已經關聯好了,但是還有一個類無法找到。Manifest.java 權限的清單文件。這個類定義了所有需要用到的權限。


重啓Eclipse,查找一下該類,看下是否關聯上!


有需要源碼的留下郵箱。

 

發佈了72 篇原創文章 · 獲贊 13 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章