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是專門為移動(dòng)設(shè)備定制的,它針對手機(jī)內(nèi)存、cpu性能有限等情況做了優(yōu)化處理。
linux內(nèi)核層:android系統(tǒng)是基于linux2.6內(nèi)核的,這層為android設(shè)備的各種硬件提供了底層的驅(qū)動(dòng),如顯示驅(qū)動(dòng)、音頻驅(qū)動(dòng)、照相機(jī)驅(qū)動(dòng)、藍(lán)牙驅(qū)動(dòng)、wi-fi驅(qū)動(dòng)、電源管理等。
2011年Android已發(fā)布版本

Android應(yīng)用開發(fā)特色
1.四大組件:活動(dòng)(activity):所有Android應(yīng)用程序的門面,凡是在應(yīng)用中你看到的東西。
? ? ? ? ? ? ? ? ? ? 服務(wù)(service);在后臺(tái)運(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ù)庫:輕量級(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啟動(dòng)模擬器
創(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)目中添加任何資源都會(huì)生成一個(gè)相應(yīng)的資源ID
? ? ? ? ? ,這個(gè)文件永遠(yuǎn)不要手動(dòng)修改。
assets:主要存放些隨程打包的文件,在程序運(yùn)行時(shí)可動(dòng)態(tài)讀取這些文件內(nèi)容。另外,如果程序中使用了webview加載本地網(wǎng)頁功能,所有網(wǎng)頁 ? ? ? ? ? ? ? ? 相關(guān)的文件也都存放在這個(gè)目錄下。
bin:主要包含了一些在編譯時(shí)自動(dòng)產(chǎn)生的文件。其中會(huì)有一個(gè)你當(dāng)前項(xiàng)目編譯好的安裝包,展開bin目錄會(huì)看到app名.apk,把它拷到手機(jī)上可 ? ? ? ? ? ? 直接安裝。
libs:如果項(xiàng)目中使用了第三方Jar包,就需要把這些Jar包都放在libs目錄下,放在這的Jar包都會(huì)被自動(dòng)添加到構(gòu)建路徑里去。
res:項(xiàng)目中使用到的所有圖片、布局、字符串等資源都放在這目錄下,前面R.JAVA中的內(nèi)容也根據(jù)這個(gè)文件目錄下文件自動(dòng)生成的。目錄下有 ? ? ? ? ?很多子目錄,圖片放在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)版本。所有的活動(dòng)都要在AndroidManifest。xml中進(jìn)行注冊才能生效。
Project.properties:這個(gè)文件就是通過一行代碼指定了編譯程序時(shí)所使用SDK版本,可以在這里改成其他版本API。



