若是你還不明白Hello,World!

                                      

     一雙鞋,剛買的時候,蹭上一點灰我都要彎下來擦乾淨,穿久以後,即便被人踩一腳,我也不多低頭.人大抵都是如此,不論對物,仍是對情,最初,她皺一下眉你都心疼,到後來,她掉眼淚你也不大緊張了.

第3章、解析Hello,world!知其然,更要知其因此然

 

             

  在咱們通往成功的路上,可能會有惡劣的天氣,泥濘的路,但也會有美麗的花園,讓你迷戀其中,有時候不見得惡劣環境會遲緩你的進程,美麗的花園也可能會把你引向歧路,始終不要忘記咱們前進的方向…… html

  儘管經典之中的經典Hello,world!已經悄然運行在咱們的手機上了,但若是如今讓你告訴別人你會Android開發,估計你本身都心虛,讓咱們一塊兒再會Hello,world!項目,揭開廬山真面目。java

  第一次在Eclipse中看Android項目工做區估計眼都花了,頭都暈了,你必定會想:這麼複雜!   但事實上,可能會比你想得簡單,並且咱們採起按部就班方式,你很快就會掌握的。android

1、Android項目工做區概覽windows

  

  新建一個Android項目,Eclipse會自動幫咱們創建諸多文件,咱們看一下:app

  其中:   第①部分:表示Java源程序;   第②部分:表明系統資源ID,相似於C語言的*.h文件,請千萬不要手工修改R.java文件;   第③部分:Android4.2表示當前SDK是4.2,是目前最新版本;   第④部分:表示資源文件,其中layout佈局你能夠認爲就是界面;   第⑤部分:每個Android項目都包含一個清單(Manifest)文件--AndroidManifest.xml,它存儲在項目層次中的最底層。清單能夠定義應用程序及其組件的結構和元數據。   若是你想了解更多AndroidManifest.xml,請單擊瞭解更多>>  佈局

  Android項目中主要文件及文件夾的做用:   (1)src:存放全部的*.java源程序。   (2)gen:爲ADT插件自動生成的代碼文件保存路徑,其中的R.java文件將保存全部的資源ID。   (3)Android 4.2:表示如今使用的Android SDK的版本是4.2。   (4)assets:能夠存放項目中一些較大的資源文件,如圖片、音樂、字體等。   (5)res:能夠存放項目中全部的資源文件,如圖片(*.png、*.jpg)、網頁(*.html)、文本等。   (6)res\drawable-hdpi:保存高分辨率圖片資源。   (7)res\drawable-ldpi:保存低分辨率圖片資源。   (8)res\drawable-mdpi:保存中等分辨率圖片資源。   (9)res\layout:存放全部佈局文件,主要是用於排列不一樣的顯示組件,在Android程序要讀取此配置。   (10)res\values:存放一些資源文件信息,用於讀取文本資源,在文件夾中有一些約定的文件名稱。(具體內容待之後詳解)   (11)res\raw:自定義的一些原生文件所在目錄,如音樂、視頻等文件格式。   (12)res\xml:用戶自定義的XML文件,全部的文件在程序運行時編譯到應用程序中。   (13)res\anim:用於定義動畫對象。   (14)activity_main:配置全部的控件。   (15)R.java:此文件爲自動生成並自動維護的,用戶添加的控件會自動在此文件中生成一個惟一的ID,以供程序使用。   (16)AndroidManifest.xml:主要配置文件,用於配置各個組件或一些訪問權限等。   總之,看着真的夠複雜,你先有個印象就能夠了。至少,你應該知道源文件是放在src文件夾;佈局文件在res/layout文件夾,其餘之後瞭解也ok。學習

 

2、Android項目分析字體

  一、佈局文件(res\layout\activity_main.xml)   雙擊「res\layout\activity_main.xml」打開佈局文件。注意①表明佈局文件圖形界面;②表明佈局文件代碼界面。動畫

         

  

  Android App應用程序相似於.net的Winform程序,其中①和②至關於標題欄,①爲標題欄的圖標,②爲標題;③表明標籤<TextViw>,相似於衆多程序的Label。this

  

  咱們再來看一下代碼:

 

  1.   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2. xmlns:tools="http://schemas.android.com/tools"  
  3. android:layout_width="match_parent"  
  4. android:layout_height="match_parent"  
  5. tools:context=".MainActivity" >  
  6.     <TextView  
  7. android:layout_width="wrap_content"  
  8. android:layout_height="wrap_content"  
  9. android:layout_centerHorizontal="true"  
  10. android:layout_centerVertical="true"  
  11. android:text="@string/hello_world" />  
  12. t;/RelativeLayout>  

  但願你在探討本段代碼以前,至少至少要有XML文件的概念,若是沒有請了解這後再來繼續學習。

  本段代碼包含了兩個重要標籤:<RelativeLayout>和<TextView>,<RelativeLayout>表明線性佈局管理器;<TextView>表明標籤組件。其它的皆爲兩個標籤的屬性。

  咱們着重來看一下:android:text="@string/hello_world",咱們的運行結果是「Hello world!」而不是「hello_world」!

  Why?

二、strings文本資源文件(res\values\strings.xml)

  雙擊「res\values\strings.xml」打開文本資源文件。與佈局文件同樣:①表明文本資源圖形界面;②表明文本資源代碼界面。

  

  

  

  咱們打開文本資源strings.xml文件以後,當咱們看到:

     <string name="hello_world">Hello world!</string>

  前面的疑慮應該頓消,原來如此啊!hello_world是文本資源文件中的一個標籤而已,其真正的內容是「Hello world!」。

  你能夠經過圖形界面或者字符界面添加一個字符串資源,究竟你選擇哪一種,隨你高興!

 

三、R.java文件(gen/com.genwoxue.hello/R.java)

  雙擊「gen/com.genwoxue.hello/R.java」打開資源ID文件。

  

  R.java資源文件保存全部資源的ID,譬如前面所講的hello_world,在這裏就是一個整數0x7f040001而已。

  若是你感受這個文件很奇怪也很正常,除非你曾經學習或者寫過C for windows應用程序就早已習覺得常了。

  這個文件你最好只是看看,不要動它!!!

四、AndroidManifest.xml文件

  雙擊「AndroidManifest.xml」項目配置文件。

  

  全部的Activity程序都在AndroidManifest.xml文件中進行註冊,故該文件是整個Android項目的核心配置文件。

   在<application>節點中配置的android:icon="@drawable/ic_launcher",表示引用 drawable(drawable-hdpi、drawable-ldpi、drawable-mdpi三個文件夾中導入)資源配置的圖標,引入圖標的 名稱爲ic_launcher。如今你能夠更換應用程序圖標了,你知道了它在哪!

   在<application>節點中配置的android:label="@string/app_name",表示此應用程序的標籤名稱 從strings.xml文件中讀取,內容爲app_name對應的內容。如今你也能夠更換應用程序標題了,你知道了它在哪!

  固然,你還能夠更改Activity的標題,什麼是Activity?

  Activity就是一個活動的窗體,一個項目應用程序能夠包含多個Activity。

五、MainActivity.java(src/com.genwoxue.hello/MainActivity.java)

  雙擊「src/com.genwoxue.hello/MainActivity.java」程序文件。

  

  本程序是Android整個項目的主程序,Activity是項目的基本組成部分。

  MainActivity繼承Activity類,onCreate()方法是啓動Activity地默認調用的方法。

  super.onCreate(savedInstanceState):調用父類的onCreate()方法;

  setContentView(R.layout.activity_main):調用佈局文件。

相關文章
相關標籤/搜索