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