第3章、解析Hello,world!知其然,更要知其因此然 | |
儘管經典之中的經典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
咱們再來看一下代碼:
但願你在探討本段代碼以前,至少至少要有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):調用佈局文件。 |