Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android技術基礎 >> 第5章、解析Hello,world!知其然,更要知其所以然(從零開始學Android)

第5章、解析Hello,world!知其然,更要知其所以然(從零開始學Android)

編輯:Android技術基礎

盡管經典之中的經典Hello,world!已經悄然運行在我們的手機上了,但如果現在讓你告訴別人你會Android開發,估計你自己都心虛,讓我們一起再會Hello,world!項目,揭開廬山真面目。

  第一次在Eclipse中看Android項目工作區估計眼都花了,頭都暈了,你一定會想:這麼復雜!
  但事實上,可能會比你想得簡單,而且我們采取循序漸進方式,你很快就會掌握的。 

一、Android項目工作區概覽

  \

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

  其中:
  第①部分:表示Java源程序;
  第②部分:代表系統資源ID,類似於C語言的*.h文件,請千萬不要手工修改R.java文件;
  第③部分:Android4.2表示當前SDK是4.2,是目前最新版本;
  第④部分:表示資源文件,其中layout布局你可以認為就是界面;
  第⑤部分:每一個Android項目都包含一個清單(Manifest)文件--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。

 

二、Android項目分析

  1、布局文件(res\layout\activity_main.xml)
  雙擊“res\layout\activity_main.xml”打開布局文件。注意①代表布局文件圖形界面;②代表布局文件代碼界面。

  \       

  \

  Android App應用程序類似於.net的Winform程序,其中①和②相當於標題欄,①為標題欄的圖標,②為標題;③代表標簽,類似於眾多程序的Label。

  \

  我們再來看一下代碼:

 

         xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      tools:context=".MainActivity" >

                 android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerHorizontal="true"
          android:layout_centerVertical="true"
          android:text="@string/hello_world" />

  

  希望你在探討本段代碼之前,至少至少要有XML文件的概念,如果沒有請了解這後再來繼續學習。

  本段代碼包含了兩個重要標簽:代表線性布局管理器;代表標簽組件。其它的皆為兩個標簽的屬性。

  

  我們著重來看一下:android:text="@string/hello_world",我們的運行結果是“Hello world!”而不是“hello_world”!

  Why?

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

  雙擊“res\values\strings.xml”打開文本資源文件。與布局文件一樣:①代表文本資源圖形界面;②代表文本資源代碼界面。

  

  \

  \

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

     Hello world!

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

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

 

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

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

  \

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

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

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

4、AndroidManifest.xml文件

  雙擊“AndroidManifest.xml”項目配置文件。

  \

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

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

  在節點中配置的android:label="@string/app_name",表示此應用程序的標簽名稱從strings.xml文件中讀取,內容為app_name對應的內容。現在你也可以更換應用程序標題了,你知道了它在哪!

  當然,你還可以更改Activity的標題,什麼是Activity?

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

5、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):調用布局文件。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved