Android開發(fā)自學(xué)筆記(二):工程文件剖析
無論使用何種IDE開發(fā)Android,集成官方Android SDK并創(chuàng)建Android工程之后,該工程都會默認包括一整套Android項目文件,這個工程都可以直接run在你的真機或者模擬器上。
本文主要簡單剖析這個默認的完整的一套項目工程的文件結(jié)構(gòu),這樣我們在開發(fā)我們自己的項目的時候才能熟練做到有的放矢。
AndroidManifest.xml
這個AndroidManifest.xml文件可謂是整個Android工程的靈魂架構(gòu)師,它不僅定義了你的Android程序運行時所需的功能特性,同時也定義了該Android程序所需權(quán)限以及Android核心組件。
這里簡單介紹目前我們所遇到最重要的節(jié)點元素之一:<uses-sdk> 。
這個節(jié)點定義了你的應(yīng)用的設(shè)備兼容性問題,我們都知道Android設(shè)備五花八門,但不同的設(shè)備都是有Android版本,比如我們常聽說的Android2.2, 2.3,平板專用的Android3.0和現(xiàn)在的Android4.x,這些版本都有定義好的SDKVersion,所在這個節(jié)點里面我們得指定最小Android版本(android:minSdkVersion)以及目標Android版本(android:targetSdkVersion)這兩個屬性。所以應(yīng)該形如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" />
...
</manifest>
其中最小Android版本指定為8,并且指定目標版本為19,需要注意的是:
1.android:targetSdkVersion應(yīng)設(shè)置盡可能的高,這個屬性的作用是當(dāng)設(shè)備的SDK version和指定的目標版本一致,無需設(shè)備打開兼容功能;
2.android:minSdkVersion而這個屬性則提現(xiàn)了你的應(yīng)用向下兼容程度,一旦設(shè)備的SDK version低于這個數(shù)字,則無法安裝出現(xiàn)下述錯誤:
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,則默認等同于minSdkVersion;
2.另外,我們有時會看到android:maxSdkVersion,其作用和minSdkVersion相反,這個屬性主要體現(xiàn)在Android 1.5, 1.6, 2.0, 和2.0.1中,這些老的系統(tǒng)一旦在做完系統(tǒng)更新時,會重現(xiàn)驗證并安裝老系統(tǒng)中安裝的應(yīng)用程序,一旦發(fā)現(xiàn)maxSdkVersion低于升級之后的新系統(tǒng),則新系統(tǒng)不予安裝這些應(yīng)用。
src/
src目錄,顧名思義存放的是應(yīng)用程序的源碼文件,當(dāng)然程序在編譯之后這個目錄就不復(fù)存在了,否則源碼被人家盜了不是?
res/
res目錄是指資源文件resource的存放目錄,這個目錄包含了一些子目錄。
比如存放圖片的目錄drawable-xxx,在現(xiàn)在的默認環(huán)境中,一般有4個類似的目錄,分別用來存放不同分辨率的圖片(drawable-xhdpi/hdpi/mdpi/ldpi),好的應(yīng)用為了盡可能多的適配多種不同分辨率的機型,是需要做多套不同分辨率的圖片,并分別存放在這4個目錄中。
res目錄下還有用來存放定義用戶界面GUI(應(yīng)用程序界面)的布局文件,這些布局文件則存放在layout目錄下;
另外還有一個用來存放定義變量集的xml的目錄,即values,這個目錄可以定義顏色和字符串等變量集合。
相關(guān)文章
Android SharedPreferences實現(xiàn)數(shù)據(jù)存儲功能
這篇文章主要為大家詳細介紹了Android SharedPreferences實現(xiàn)數(shù)據(jù)存儲功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06Android自定義LocationMarker的實現(xiàn)詳解
這篇文章主要為大家詳細介紹一個比較簡單的東西:自定義繪制Marker 其實就是自定義view, 跟軌跡沒太多關(guān)聯(lián),感興趣的小伙伴可以跟隨小編一起了解一下2023-02-02Android根據(jù)電話號碼獲得聯(lián)系人頭像實例代碼
這篇文章主要介紹了Android根據(jù)電話號碼獲得聯(lián)系人頭像實例代碼,是Android程序開發(fā)中非常重要的技巧,需要的朋友可以參考下2014-09-09詳解關(guān)于Android Studio中安裝和gradle的一些坑
本篇文章主要介紹了關(guān)于Android Studio中安裝和gradle的一些坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10最近較流行的效果 Android自定義View實現(xiàn)傾斜列表/圖片
最近較流行的效果,這篇文章主要介紹了Android自定義View實現(xiàn)傾斜列表/圖片的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-06-06Android在多種設(shè)計下實現(xiàn)懶加載機制的方法
這篇文章主要介紹了Android在多種設(shè)計下實現(xiàn)懶加載機制的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06