一直以爲本身的技術沒有一門專長,彷佛什麼都會一點,可是卻一點都不深刻。決定學習Android的開發,說不出的理由,但願本身可以堅持下去。java
其實以前已經搭建好了Android的開發環境eclipse+ADT+SDK,這裏就不作具體介紹了,我的以爲仍是很是有必要把這3個軟件單獨安裝一下,android
這樣對開發工具能有個系統的認識。Eclipse是一個IDE,針對多門開發語言都可以使用,SDK是針對Android應用開發提供的一個框架,其中有開發app
過程當中使用到的包和一些集成的工具,ADT是安裝在eclipse上的一個插件,這樣纔可以把eclipse和SDK關聯起來,使得開發者經過eclipse這個IDE框架
方便的進行Android應用程序開發。eclipse
我使用的教程是《第一行代碼:Android》,主要是看到stormzhang的推薦,另外也看了做者郭霖在csdn上的博客,對大牛的崇拜之情油然而生。ide
在試讀完一章pdf教程後,立馬決定就用它帶我入門了。工具
言歸正傳,今天主要學習的內容是建立第一個HelloWorld Android程序以及對Android程序的總體結構有一個比較大概的認識。佈局
新建一個Android application工程後,工程目錄結構以下:學習
各個目錄的用途以下:開發工具
一、src是java源代碼存放目錄
二、gen 這個目錄是由ADT自動生成的,主要有一個R.java和BuildConfig.java文件,這些文件不能手動進行修改,具體含義後面再去仔細瞭解
三、assets目錄是一些隨程序打包時用到的文件
四、bin 不須要太多關注,當前項目編譯後的安裝包會保存在這裏,例如HelloWorld.apk
五、libs 存放開發時用到的第3方jar包
六、res目錄下的子目錄有:drawable 存放各個機型適配的圖片 ,layout,佈局文件 ,menu 存放菜單文件, values 字符串配置文件
七、AndroidManifest.xml 整個Android項目的配置文件,程序中定義的全部四大組件都須要在這個文件裏註冊。同時還可以進行其餘設置,後續再詳細分析。
八、Project.properties 指定了編譯程序時所使用的SDK版本,在個人例子中,其實就是 "target=android-14" 這一行代碼
Android 程序的運行機制
Android有4大組件,分別是活動、服務、廣播接收器和內容提供器。目前我只接觸到活動這個組件。因此就先記錄下本身目前的認識:
提供activity組件實際上就是提供一個繼承於Activity類的子類,這個子類須要實現基類的onCreate()方法,這個方法是activity被建立時必須被執行的方法。固然,
我也嘗試把這個方法更名(實現沒變),結果是界面仍然能夠呈現,可是具體的差別估計還得之後深刻學習後纔可以理解。另外,基類的方法onCreateOptionsMenu()是用於菜單的建立,
在此也暫不深究。
在res/layout 目錄下,能夠建立Layout類型的Android XML File文件,在這個佈局文件中,咱們能夠添加最簡單的TextView控件用以顯示字符串,具體示例以下:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />
其中顯示的字符串經過@string/hello_world來得到,@string/tag_name 是從res/values/strings.xml中得到值的一種方式,這種方式的便捷在於只須要修改strings.xml文件,就能夠
把APP用另外一種語言呈現。相似strings.xml中的配置項的讀取能夠有如下兩種方式:
1. 在代碼中經過 R.string.hello_world能夠得到該字符串的引用;
2. 在 XML 中經過@string/hello_world能夠得到該字符串的引用。
在layout類型文件建立完成後,這時候在activity組件的onCreate方法中,顯示佈局內容經過setContentView(R.layout.first_layout);
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first_layout); }
在複寫的onCreate方法中使用了layout類型的文件後,最後一步就是在AndroidManifest.xml文件中對activity進行註冊。具體方法以下:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".FirstActivity" android:label="This is FirstActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
其中<activity>標籤內的是對activity進行註冊的基本操做,其中<intent-filter>標籤內容是必不可少的,我本身在實驗過程當中因爲本身犯錯把category寫成action,結果報錯。
在對activity在AndroidManifest.xml中正確進行註冊後,一個最簡單的Android app就建立完成了,運行該工程,便可在設備上看到顯示HelloWorld
再次總結我對Android應用程序的初步認識,佈局由Layout類型的xml文件來實現,activity類實現例如加載Layout佈局,顯示菜單等功能,最後AndroidManifest.xml
文件對activity進行註冊,保證activity組件能夠在設備上正確顯示。