Android系統(tǒng)構(gòu)架
應(yīng)用層:所有安裝在手機(jī)上的應(yīng)用程序都屬于這層。如聯(lián)系人导坟、短信等。
應(yīng)用框架層:這層主要提供了構(gòu)建應(yīng)有程序時(shí)可能用到各種API(應(yīng)用程序接口)递递,android自帶的一些核心應(yīng)用就是使用這些API完成的開發(fā)者也可通過使用這些api構(gòu)建自己的應(yīng)用程序。
系統(tǒng)運(yùn)行庫層:這層通過些c/c++庫為android系統(tǒng)提供了主要的特性支持。如SQlite庫提供數(shù)據(jù)支持稽煤,OpenGL|ES庫提供了3d繪圖支持,Webkit ?庫提供瀏覽內(nèi)核支持等
? ? ? ? ? ? ? ? ? ? ? ? ? ? 同樣這層還有android運(yùn)行時(shí)庫,它主要提供了一些核心庫察藐,能夠允許開發(fā)者使用JAVA語言來編寫android應(yīng)用睹限。另外android運(yùn)行時(shí)庫中還包含了Dalvik虛擬機(jī)羡疗,它使得每一個(gè)android應(yīng)用都能運(yùn)行在獨(dú)立的進(jìn)程中染服,并且擁有一個(gè)自己的Davik虛擬機(jī)實(shí)例叨恨。相較于Java虛擬機(jī),Dalvik是專門為移動設(shè)備定制的,它針對手機(jī)內(nèi)存、cpu性能有限等情況做了優(yōu)化處理。
linux內(nèi)核層:android系統(tǒng)是基于linux2.6內(nèi)核的,這層為android設(shè)備的各種硬件提供了底層的驅(qū)動,如顯示驅(qū)動、音頻驅(qū)動、照相機(jī)驅(qū)動踢星、藍(lán)牙驅(qū)動澳叉、wi-fi驅(qū)動沐悦、電源管理等藏否。
2011年Android已發(fā)布版本
Android應(yīng)用開發(fā)特色
1.四大組件:活動(activity):所有Android應(yīng)用程序的門面泌枪,凡是在應(yīng)用中你看到的東西。
? ? ? ? ? ? ? ? ? ? 服務(wù)(service)秕岛;在后臺運(yùn)行的東西
? ? ? ? ? ? ? ? ? ? 廣播接收器(broadcast)碌燕; 可以允許你的應(yīng)用接收來自各處的廣播消息,比如電話继薛、短信等修壕。
? ? ? ? ? ? ? ? ? ?內(nèi)容提供器(content prorider);應(yīng)用程序間共享數(shù)據(jù)提供了可能遏考,比如讀取系統(tǒng)電話薄中的聯(lián)系人慈鸠,就需要通過內(nèi)容提供器來實(shí) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 現(xiàn)。
2.豐富的系統(tǒng)控件:方便編寫出漂亮的界面灌具,也完全可以定制屬于自己的控制青团。
3.SQLite數(shù)據(jù)庫:輕量級譬巫、運(yùn)算速度極快的嵌入式關(guān)系型數(shù)據(jù)庫,支持標(biāo)準(zhǔn)SQL語法督笆,還可通過Android封裝好的API進(jìn)行操作芦昔。
4.地理位置定位:手機(jī)內(nèi)置GPS可定位自己位置。應(yīng)用可結(jié)合功能強(qiáng)大的地圖功能娃肿,LBS這一領(lǐng)域潛力無限咕缎。
5.強(qiáng)大的多媒體:豐富的多媒體服務(wù),如音樂料扰、視頻凭豪、錄音、拍照晒杈、鬧鈴等嫂伞。
6.傳感器:手機(jī)內(nèi)置多種傳感器,如加速度傳感器拯钻、方向傳感器等末早。
需準(zhǔn)備軟件
jdk ? ?eclipse ? ?Android sdk?
? ? ? ? ? ?adt
綁定好的SDK工具包 ?下載地址:http://pan.baidu.com/s/1ntLYp5J
SDK版本上只需勾選API14(即Android 4.0)以上的SDK版本
打開eclipse在window—>android sdk manager—>下載API 14以上的SDK版本
之后點(diǎn)開
—>new(創(chuàng)建一個(gè)新模擬器)
AVD Name:虛擬機(jī)名字
Device:屏幕大小
Target:API版本
。
说庭。
SD Card:size:可設(shè)512mb(設(shè)置大了容易卡)
ok—>點(diǎn)start—>launch啟動模擬器
創(chuàng)建helloworld項(xiàng)目
在導(dǎo)航欄中點(diǎn)file—>new—>android application project
application name:app名字
然磷。
。
Package Name:com.test.app名字
Minimum Required sdk:最低API
Target SDK:最高API
Next—>Next—>設(shè)置圖標(biāo)logo
shape:none ? ?square(方形) ?cirde(圓形)
Background color:顏色
—>Next—>Next
Activity Name:給Blank Activity起名
—>Finish
在eclipse工具欄右側(cè)的Java選項(xiàng)刊驴。右擊HelloWord(自己項(xiàng)目)—>RunAs—>Andriod Application打開虛擬機(jī)查看自己的app
分析你第一個(gè)Android程序
src:放置所有Java代碼的地方
gen:主要有一個(gè)R.Java文件姿搜,在項(xiàng)目中添加任何資源都會生成一個(gè)相應(yīng)的資源ID
? ? ? ? ? ,這個(gè)文件永遠(yuǎn)不要手動修改捆憎。
assets:主要存放些隨程打包的文件舅柜,在程序運(yùn)行時(shí)可動態(tài)讀取這些文件內(nèi)容。另外躲惰,如果程序中使用了webview加載本地網(wǎng)頁功能致份,所有網(wǎng)頁 ? ? ? ? ? ? ? ? 相關(guān)的文件也都存放在這個(gè)目錄下。
bin:主要包含了一些在編譯時(shí)自動產(chǎn)生的文件础拨。其中會有一個(gè)你當(dāng)前項(xiàng)目編譯好的安裝包氮块,展開bin目錄會看到app名.apk,把它拷到手機(jī)上可 ? ? ? ? ? ? 直接安裝诡宗。
libs:如果項(xiàng)目中使用了第三方Jar包滔蝉,就需要把這些Jar包都放在libs目錄下,放在這的Jar包都會被自動添加到構(gòu)建路徑里去塔沃。
res:項(xiàng)目中使用到的所有圖片蝠引、布局、字符串等資源都放在這目錄下,前面R.JAVA中的內(nèi)容也根據(jù)這個(gè)文件目錄下文件自動生成的螃概。目錄下有 ? ? ? ? ?很多子目錄矫夯,圖片放在drawable目錄下,布局放在layout目錄下吊洼,字符串放在values目錄下训貌。
Andriod Manifest.xml(項(xiàng)目管理文件):整個(gè)Android項(xiàng)目的配置文件,在程序中定義的所有四大組件都需要在這個(gè)文件里注冊融蹂。另外還可以在 ? ? ? ? ?這個(gè)文件給應(yīng)用程序添加權(quán)限聲明,也可重新制定你創(chuàng)建項(xiàng)目時(shí)指定的程序最低兼容版本和目標(biāo)版本弄企。所有的活動都要在AndroidManifest超燃。xml中進(jìn)行注冊才能生效。
Project.properties:這個(gè)文件就是通過一行代碼指定了編譯程序時(shí)所使用SDK版本拘领,可以在這里改成其他版本API意乓。