七、Android項目工作區概覽

新建一個Android項目,Eclipse會自動幫我們建立諸多文件,我們看一下:
其中:
第①部分:表示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)resdrawable-hdpi:保存高分辨率圖片資源。
(7)resdrawable-ldpi:保存低分辨率圖片資源。
(8)resdrawable-mdpi:保存中等分辨率圖片資源。
(9)reslayout:存放所有布局文件,主要是用于排列不同的顯示組件,在Android程序要讀取此配置。
(10)resvalues:存放一些資源文件信息,用于讀取文本資源,在文件夾中有一些約定的文件名稱。(具體內容待以后詳解)
(11)res
aw:自定義的一些原生文件所在目錄,如音樂、視頻等文件格式。
(12)resxml:用戶自定義的XML文件,所有的文件在程序運行時編譯到應用程序中。
(13)resanim:用于定義動畫對象。
(14)activity_main:配置所有的控件。
(15)R.java:此文件為自動生成并自動維護的,用戶添加的控件會自動在此文件中生成一個唯一的ID,以供程序使用。
(16)AndroidManifest.xml:主要配置文件,用于配置各個組件或一些訪問權限等。
總之,看著真的夠復雜,你先有個印象就可以了。至少,你應該知道源文件是放在src文件夾;布局文件在res/layout文件夾,其他以后了解也ok。
八、Android項目分析
1、布局文件(reslayoutactivity_main.xml)
雙擊 reslayoutactivity_main.xml 打開布局文件。注意①代表布局文件圖形界面;②代表布局文件代碼界面。


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

我們再來看一下代碼:

希望你在探討本段代碼之前,至少至少要有XML文件的概念,如果沒有請了解這后再來繼續學習。
本段代碼包含了兩個重要標簽:<RelativeLayout>和<TextView>,<RelativeLayout>代表線性布局管理器;<TextView>代表標簽組件。其它的皆為兩個標簽的屬性。
我們著重來看一下:android:text="@string/hello_world",我們的運行結果是 Hello world! 而不是 hello_world !
Why?
2、strings文本資源文件(resvaluesstrings.xml)
雙擊 resvaluesstrings.xml 打開文本資源文件。與布局文件一樣:①代表文本資源圖形界面;②代表文本資源代碼界面。


我們打開文本資源strings.xml文件之后,當我們看到:
<string name="hello_world">Hello world!</string>
前面的疑慮應該頓消,原來如此啊!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項目的核心配置文件。
在<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。
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):調用布局文件。
我相信你的Android手機上一定安裝了不少Android應用,那么如果把我們的Android程序發布為Android應用,以便讓別人使用呢?
1、選擇File>Export命令,在打開的界面中選擇Android>Export Android Application文件。

單擊 Next> 按鈕,選擇要導出的項目。
2、可以通過 Browse... 按鈕選擇Hello這個項目,如果項目處于打開狀態,會默認當前項目。

單擊 Next> 按鈕,進入創建證書界面。
3、導出項目,必須要有證書,我們可以選擇已經存在的證書或者創建證書,我們選擇 Create new keystore。
在此,我們輸入:
Location:D:Hello(我們可以起一個不同于項目的名稱)
Password和Confirm:123456
則在D盤根目錄下創建了Hello證書。單擊 next>按鈕,進入證書完整界面。
4、填寫完整的證書信息。
①部分為證書別名與有效年限;
②部分為開發者相關信息。
單擊 Next> 按鈕,進入導出Android Application界面。
5、導出項目(Export Android Application)
輸入D:Hello.apk,發布到D盤根目錄。
你也可以保存到別的文件夾,但注意該文件夾一定要存在。
單擊 Finish 按鈕完成整個項目發布過程。
現在,你可以采取你喜歡的任意方式(可以通過數據線、藍牙)或者發布到Android應用商店供別人下載使用。