Android開(kāi)發(fā)自學(xué)筆記(二):工程文件剖析
無(wú)論使用何種IDE開(kāi)發(fā)Android,集成官方Android SDK并創(chuàng)建Android工程之后,該工程都會(huì)默認(rèn)包括一整套Android項(xiàng)目文件,這個(gè)工程都可以直接run在你的真機(jī)或者模擬器上。
本文主要簡(jiǎn)單剖析這個(gè)默認(rèn)的完整的一套項(xiàng)目工程的文件結(jié)構(gòu),這樣我們?cè)陂_(kāi)發(fā)我們自己的項(xiàng)目的時(shí)候才能熟練做到有的放矢。
AndroidManifest.xml
這個(gè)AndroidManifest.xml文件可謂是整個(gè)Android工程的靈魂架構(gòu)師,它不僅定義了你的Android程序運(yùn)行時(shí)所需的功能特性,同時(shí)也定義了該Android程序所需權(quán)限以及Android核心組件。
這里簡(jiǎn)單介紹目前我們所遇到最重要的節(jié)點(diǎn)元素之一:<uses-sdk> 。
這個(gè)節(jié)點(diǎn)定義了你的應(yīng)用的設(shè)備兼容性問(wèn)題,我們都知道Android設(shè)備五花八門(mén),但不同的設(shè)備都是有Android版本,比如我們常聽(tīng)說(shuō)的Android2.2, 2.3,平板專(zhuān)用的Android3.0和現(xiàn)在的Android4.x,這些版本都有定義好的SDKVersion,所在這個(gè)節(jié)點(diǎn)里面我們得指定最小Android版本(android:minSdkVersion)以及目標(biāo)Android版本(android:targetSdkVersion)這兩個(gè)屬性。所以應(yīng)該形如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" />
...
</manifest>
其中最小Android版本指定為8,并且指定目標(biāo)版本為19,需要注意的是:
1.android:targetSdkVersion應(yīng)設(shè)置盡可能的高,這個(gè)屬性的作用是當(dāng)設(shè)備的SDK version和指定的目標(biāo)版本一致,無(wú)需設(shè)備打開(kāi)兼容功能;
2.android:minSdkVersion而這個(gè)屬性則提現(xiàn)了你的應(yīng)用向下兼容程度,一旦設(shè)備的SDK version低于這個(gè)數(shù)字,則無(wú)法安裝出現(xiàn)下述錯(cuò)誤:
Installing com.example.HelloWorld
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.HelloWorld"
pkg: /data/local/tmp/com.example.HelloWorld
Failure [INSTALL_FAILED_OLDER_SDK]
1.如果不顯式指定targetSdkVersion,則默認(rèn)等同于minSdkVersion;
2.另外,我們有時(shí)會(huì)看到android:maxSdkVersion,其作用和minSdkVersion相反,這個(gè)屬性主要體現(xiàn)在Android 1.5, 1.6, 2.0, 和2.0.1中,這些老的系統(tǒng)一旦在做完系統(tǒng)更新時(shí),會(huì)重現(xiàn)驗(yàn)證并安裝老系統(tǒng)中安裝的應(yīng)用程序,一旦發(fā)現(xiàn)maxSdkVersion低于升級(jí)之后的新系統(tǒng),則新系統(tǒng)不予安裝這些應(yīng)用。
src/
src目錄,顧名思義存放的是應(yīng)用程序的源碼文件,當(dāng)然程序在編譯之后這個(gè)目錄就不復(fù)存在了,否則源碼被人家盜了不是?
res/
res目錄是指資源文件resource的存放目錄,這個(gè)目錄包含了一些子目錄。
比如存放圖片的目錄drawable-xxx,在現(xiàn)在的默認(rèn)環(huán)境中,一般有4個(gè)類(lèi)似的目錄,分別用來(lái)存放不同分辨率的圖片(drawable-xhdpi/hdpi/mdpi/ldpi),好的應(yīng)用為了盡可能多的適配多種不同分辨率的機(jī)型,是需要做多套不同分辨率的圖片,并分別存放在這4個(gè)目錄中。
res目錄下還有用來(lái)存放定義用戶界面GUI(應(yīng)用程序界面)的布局文件,這些布局文件則存放在layout目錄下;
另外還有一個(gè)用來(lái)存放定義變量集的xml的目錄,即values,這個(gè)目錄可以定義顏色和字符串等變量集合。
相關(guān)文章
Android實(shí)現(xiàn)簡(jiǎn)易登陸注冊(cè)邏輯的實(shí)例代碼
在android的應(yīng)用中越來(lái)越多的包含了網(wǎng)絡(luò)互動(dòng)功能,這就帶來(lái)了注冊(cè),登陸賬號(hào)功能,這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)簡(jiǎn)易登陸注冊(cè)邏輯的相關(guān)資料,需要的朋友可以參考下2021-06-06
Android定時(shí)開(kāi)機(jī)的流程詳解
這篇文章給大家分享了Android定時(shí)開(kāi)機(jī)及其實(shí)現(xiàn)流程,對(duì)此知識(shí)點(diǎn)有興趣的朋友,可以學(xué)習(xí)參考下。2018-07-07
Android開(kāi)發(fā)重寫(xiě)Animation實(shí)現(xiàn)下拉圖片后彈射回去效果示例
這篇文章主要介紹了Android開(kāi)發(fā)重寫(xiě)Animation實(shí)現(xiàn)下拉圖片后彈射回去效果,結(jié)合實(shí)例形式分析了Android自定義類(lèi)繼承Animation實(shí)現(xiàn)圖片彈射效果的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
實(shí)例詳解Android自定義ProgressDialog進(jìn)度條對(duì)話框的實(shí)現(xiàn)
這篇文章主要介紹了實(shí)例詳解Android自定義ProgressDialog進(jìn)度條對(duì)話框的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-01-01
Libgdx解決部分Android機(jī)型鎖屏崩潰的方法
今天小編就為大家分享一篇關(guān)于Libgdx解決部分Android機(jī)型鎖屏崩潰的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Android帶刷新時(shí)間顯示的PullToRefresh上下拉刷新
這篇文章主要為大家詳細(xì)介紹了Android帶刷新時(shí)間顯示的PullToRefresh上下拉刷新,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
在Android中查看當(dāng)前Activity是否銷(xiāo)毀的操作
這篇文章主要介紹了在Android中查看當(dāng)前Activity是否銷(xiāo)毀的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03

