Android四層體系架構(gòu)
1.系統(tǒng)核心層(Linux Kernel)
2.執(zhí)行層c/c++函數(shù)庫層(Libraries)及Android Runtime
3.應(yīng)用程序框架層(Application FrameWork)
4.應(yīng)用程序?qū)樱ˋpplications)
Android項(xiàng)目架構(gòu)分析:
src(開發(fā)人員源碼放置目錄)
gen(自動生成R.java,所有的資源文件都會在R.java文件中以final static內(nèi)部類的形式被注冊。所以可以通過R.id,R.layout等形式來訪問資源。)
assets(資產(chǎn)目錄。在這個目錄中放置的資源文件,不會在R.java文件中被注冊。一般程序中的音頻或視頻文件可以放置在這個目錄下。)
bin(編譯后的class等文件在此目錄。自動生成APK)
libs(第三方Jar包)
res(資源文件。是Android編程中最重要的目錄。所有的資源都定義在這個目錄下。)
drawable【圖片資源的文件名[a~z0~9_ ],不能數(shù)字開頭】
layout(布局文件放置的目錄)
menu(菜單文件放置的目錄)
values(字符串、尺寸等文件放置的目錄)
AndroidManifest.xml(Android清單文件——是Android開發(fā)中非常重要的文件。
該文件中定義了本App的版本號;
適用的手機(jī)操作系統(tǒng)最大及最小的兼容版本號;
整個項(xiàng)目中每寫一個組件(Activity、Service、Broadcast),都需要在該清單文件中注冊;
運(yùn)行本程序的權(quán)限等等。(電話,SD卡,短信,聯(lián)網(wǎng)等。。。)
res和assets目錄的不同:
是否在R.java文件中被注冊;
res所放的文件類型是規(guī)定好的;而assets目錄下放置的文件類型不限制;
訪問方法不同。res中文件使用R.內(nèi)部靜態(tài)類.id來訪問;而assets中的文件通過IO流來訪問。
assets與res/raw目錄下的資源在編譯打包時(shí),不會被編譯成二進(jìn)制文件,所以一般在該目錄下放置音頻、視頻等文件
四大組件
Activity,
Service服務(wù),
Content Provider內(nèi)容提供者,
BroadcastReceiver廣播接收器