版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Android架構(gòu)與環(huán)境搭建 Android簡(jiǎn)介 Android 從面世以來到現(xiàn)在已經(jīng)發(fā)布了近二十個(gè)版本了。 在這幾年的發(fā)展過程中,谷歌為 Android王國建立了一 個(gè)完整的生態(tài)系統(tǒng)。手機(jī)廠商、開發(fā)者、用戶之間相 互依存,共同推進(jìn)著Android的蓬勃發(fā)展。開發(fā)者在其 中扮演著不可或缺的角色,因?yàn)樵賰?yōu)秀的操作系統(tǒng)沒 有開發(fā)者來制作豐富的應(yīng)用程序也是難以得到大眾用 戶喜愛的,相信沒有多少人能夠忍受沒有QQ、微信的 手機(jī)吧?而谷歌推出的Google Play更是給開發(fā)者帶來 了大量的機(jī)遇,只要你能制作出優(yōu)秀的產(chǎn)品,在 Google Play上獲得了用戶的認(rèn)可,你就完全可以得到 不錯(cuò)的經(jīng)濟(jì)回報(bào),從
2、而成為一名獨(dú)立開發(fā)者,甚至是 成功創(chuàng)業(yè)! Android系統(tǒng)架構(gòu) 1. Linux內(nèi)核層內(nèi)核層 Android系統(tǒng)是基于 Linux 2.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)、電源管理等。 2. 系統(tǒng)運(yùn)行庫層系統(tǒng)運(yùn)行庫層 這一層通過一些 C/C+庫來為Android系統(tǒng)提供了主要的特性支持。如 SQLite庫提供了數(shù)據(jù) 庫的支持,OpenGL|ES庫提供了3D繪圖的支持,Webkit庫提供了瀏覽器內(nèi)核的支持等。 同樣在這一層還有Android運(yùn)行時(shí)庫,它主要提供了一些核心庫,能夠允許開發(fā)者使用Java 語言
3、來編寫 Android應(yīng)用。另外Android運(yùn)行時(shí)庫中還包含了Dalvik虛擬機(jī),它使得每一個(gè)Android應(yīng)用 都能運(yùn)行在獨(dú)立的進(jìn)程當(dāng)中,并且擁有一個(gè)自己的 Dalvik虛擬機(jī)實(shí)例。相較于 Java 虛擬機(jī),Dalvik 是 專門為移動(dòng)設(shè)備定制的,它針對(duì)手機(jī)內(nèi)存、CPU性能有限等情況做了優(yōu)化處理 3. 應(yīng)用框架層應(yīng)用框架層 這一層主要提供了構(gòu)建應(yīng)用程序時(shí)可能用到的各種 API,Android 自帶的一些核心應(yīng)用就是 使用這些API完成的,開發(fā)者也可以通過使用這些API來構(gòu)建自己的應(yīng)用程序。 4. 應(yīng)用層應(yīng)用層 所有安裝在手機(jī)上的應(yīng)用程序都是屬于這一層的,比如系統(tǒng)自帶的聯(lián)系人、短信等程序,或
4、 者是你從Google Play上下載的小游戲,當(dāng)然還包括你自己開發(fā)的程序。 Android已發(fā)布的版本 2008年 9月,谷歌正式發(fā)布了 Android 1.0系統(tǒng),這也是 Android系統(tǒng)最 早的版本。隨后的幾年,谷歌以驚人的速度不斷地更新 Android系統(tǒng),2.1、2.2、 2.3系統(tǒng)的推出使Android占據(jù)了大量的市場(chǎng)。2011年 2月,谷歌發(fā)布了 Android 3.0系統(tǒng),這個(gè)系統(tǒng)版本是專門為平板電腦設(shè)計(jì)的,但也是Android為數(shù)不多比較 失敗的版本,推出之后一直不見什么起色,市場(chǎng)份額也少得可憐。不過很快,在 同年的10月,谷歌又發(fā)布了Android 4.0系統(tǒng),這個(gè)版本不
5、再對(duì)手機(jī)和平板進(jìn)行 差異化區(qū)分,既可以應(yīng)用在手機(jī)上也可以應(yīng)用在平板上,除此之外還引入了不少 新特性。 Android應(yīng)用開發(fā)特色 1. 四大組件四大組件 Android系統(tǒng)四大組件分別是活動(dòng)(Activity)、服務(wù)(Service)、廣播接收器 (BroadcastReceiver)和內(nèi)容提供器(Content Provider)。其中活動(dòng)是所有Android應(yīng)用 程序的門面,凡是在應(yīng)用中你看得到的東西,都是放在活動(dòng)中的。而服務(wù)就比較低調(diào)了, 你無法看到它,但它會(huì)一直在后臺(tái)默默地運(yùn)行,即使用戶退出了應(yīng)用,服務(wù)仍然是可以繼 續(xù)運(yùn)行的。廣播接收器可以允許你的應(yīng)用接收來自各處的廣播消息,比如電話、
6、短信等, 當(dāng)然你的應(yīng)用同樣也可以向外發(fā)出廣播消息。內(nèi)容提供器則為應(yīng)用程序之間共享數(shù)據(jù)提供 了可能,比如你想要讀取系統(tǒng)電話簿中的聯(lián)系人,就需要通過內(nèi)容提供器來實(shí)現(xiàn)。 2. 豐富的系統(tǒng)控件豐富的系統(tǒng)控件 Android 系統(tǒng)為開發(fā)者提供了豐富的系統(tǒng)控件,使得我們可以很輕松地編寫出漂 亮的界面。當(dāng)然如果你品味比較高,不滿足于系統(tǒng)自帶的控件效果,也完全可以定制屬于 自己的控件。 3. SQLite數(shù)據(jù)庫數(shù)據(jù)庫 Android 系統(tǒng)還自帶了這種輕量級(jí)、運(yùn)算速度極快的嵌入式關(guān)系型數(shù)據(jù)庫。它不 僅支持標(biāo)準(zhǔn)的SQL語法,還可以通過Android封裝好的API進(jìn)行操作,讓存儲(chǔ)和讀取數(shù)據(jù)變 得非常方便。 4. 地
7、理位置定位地理位置定位 移動(dòng)設(shè)備和 PC相比起來,地理位置定位功能應(yīng)該可以算是很大的一個(gè) 亮點(diǎn)。現(xiàn)在的Android手機(jī)都內(nèi)置有GPS,走到哪兒都可以定位到自己的位置, 發(fā)揮你的想象就可以做出創(chuàng)意十足的應(yīng)用,如果再結(jié)合上功能強(qiáng)大的地圖功能, LBS這一領(lǐng)域潛力無限。 5. 強(qiáng)大的多媒體 Android系統(tǒng)還提供了豐富的多媒體服務(wù),如音樂、視頻、錄音、拍照、 鬧鈴等等,這一切你都可以在程序中通過代碼進(jìn)行控制,讓你的應(yīng)用變得更加豐 富多彩。 6. 傳感器 Android 手機(jī)中都會(huì)內(nèi)置多種傳感器,如加速度傳感器、方向傳感器等, 這也算是移動(dòng)設(shè)備的一大特點(diǎn)。通過靈活地使用這些傳感器,你可以做出很多在
8、 PC上根本無法實(shí)現(xiàn)的應(yīng)用。 既然有Android這樣出色的系統(tǒng)給我們提供了這么豐富的工具,你還用 擔(dān)心做不出優(yōu)秀的應(yīng)用嗎?好了,純理論的東西也就介紹到這里,我知道你已經(jīng) 迫不及待想要開始真正的開發(fā)之旅了,那我們就開始啟程吧! Android搭建開發(fā)環(huán)境 準(zhǔn)備所需要的軟件 1. Android SDK Android SDK是谷歌提供的 Android開發(fā)工具包,在開發(fā) Android程序時(shí), 我們需要通過引入該工具包,來使用Android相關(guān)的 API。 2. Eclipse Eclipse支持極多的插件工具,使得它不僅僅可以用來開發(fā)Java,還可 以很輕松地支持幾乎所有主流語言的開發(fā),當(dāng)然
9、也非常適合Android開發(fā)。除了 Eclipse外,同樣適合開發(fā)Android程序的IDE還有IntelliJ IDEA、 Android Studio 等。其中 Android Studio是谷歌官方近期推出的新 IDE,由于是專門為開發(fā) Android程序定制的,在Android領(lǐng)域大有要取代 Eclipse的勢(shì)頭。 3. ADT ADT 全稱 Android Development Tools,是谷歌提供的一個(gè) Eclipse 插 件,用于在Eclipse 中提供一個(gè)強(qiáng)大的、高度集成的 Android 開發(fā)環(huán)境。安裝了 ADT,你不僅可以聯(lián)機(jī)調(diào)試,而且還能夠模擬各種手機(jī)事件、分析你的程
10、序性能 等等。由于是 Eclipse 的插件,你不需要進(jìn)行下載,在Eclipse中在線安裝就可以 了。 4.Android SDK SDK:(software development kit)軟件開發(fā)工具包。被軟件開發(fā)工程 師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā) 工具的集合。SDK開發(fā)工具包里面還包含文檔、源碼、示例等等 AVD工具 中間的圖標(biāo)是用來 開啟 Android模擬器的,如 果你還沒有 Android手機(jī)的 話,開時(shí)就必須使用模擬器 了 可以點(diǎn)擊右側(cè)的 New來創(chuàng)建一個(gè)新的模擬器 創(chuàng)建HelloWorld項(xiàng)目 在 Eclipse 的導(dǎo)航欄中點(diǎn)擊 Fil
11、eNewAndroid Application Project, 此時(shí)會(huì)彈出創(chuàng)建Android 項(xiàng)目的對(duì)話框。其中 Application Name 代表應(yīng)用名稱, 此應(yīng)用安裝到手機(jī)之后會(huì)在手機(jī)上顯示該名稱,這里我們填入Hello World。 Project Name代表項(xiàng)目名稱,在項(xiàng)目創(chuàng)建完成后該名稱會(huì)顯示在 Eclipse 中,這 里我們填入 HelloWorld(項(xiàng)目名通常不加空格)。接著Package Name代表項(xiàng)目 的包名,Android系統(tǒng)就是通過包名來區(qū)分不同應(yīng)用程序的,因此包名一定要有 唯一性,這里我們填入 com.test.helloworld。 接下來是幾個(gè)下拉選擇框,
12、Minimum Required SDK是指程序最低兼容 的版本,這里我們選擇Android 4.0。Target SDK是指你在該目標(biāo)版本上已經(jīng)做 過了充分的測(cè)試,系統(tǒng)不會(huì)再幫你在這個(gè)版本上做向前兼容的操作了,這里我們 選擇最高版本Android 4.4。Compile With是指程序?qū)⑹褂媚膫€(gè)版本的 SDK進(jìn)行 編譯,這里我們同樣選擇 Android 4.0。最后一個(gè) Theme是指程序UI所使用的主 題,一般選擇None。 現(xiàn)在我們可以點(diǎn)擊 Next 了,下一個(gè)界面是創(chuàng)建項(xiàng)目的一些配置,全部保 持默認(rèn)配置就好 直接點(diǎn)擊 Next 進(jìn)入到啟動(dòng)圖標(biāo)的配置界面,在這里配置的圖標(biāo)就會(huì)是 你的應(yīng)
13、用程序安裝到手機(jī)之后顯示的圖標(biāo) 你程序的 Logo還沒設(shè)計(jì)好,在項(xiàng)目里面也是可以配置啟動(dòng)圖標(biāo)的,這里我們就先不配置, 直接點(diǎn)擊 Next。 然后跳轉(zhuǎn)到的是創(chuàng)建活動(dòng)界面,在這個(gè)界面你可以選擇一個(gè)你想創(chuàng)建的活動(dòng)類型,這里我們 就選擇Blank Activity了 繼續(xù)點(diǎn)擊Next后,我們需要給剛剛選擇的 Blank Activity起一個(gè)名字, 然后給這個(gè)活動(dòng)的布局也起一個(gè)名字。Activity Name 就填入 HelloWorldActivity, Layout Name 就填入hello_world_layout 然后點(diǎn)擊Finish,項(xiàng)目終于創(chuàng)建完成了! 運(yùn)行HelloWorld 1.檢查
14、模擬器是否在線 點(diǎn)擊 Eclipse 導(dǎo)航欄中的 WindowOpen PerspectiveDDMS,這時(shí) 你會(huì)進(jìn)入到 DDMS的視圖中去。DDMS中提供了很多我們開發(fā)Android程序時(shí)需 要用到的工具 2.運(yùn)行程序 右擊HelloWorld項(xiàng)目Run AsAndroid Application。 1. src 毫無疑問,src目錄是放置我們所有 Java代碼的地方,它在這里的含義 和普通 Java項(xiàng)目下的src目錄是完全一樣的,展開之后你將看到我們剛才創(chuàng)建的 HelloWorldActivity文件就在里面。 2. gen 這個(gè)目錄里的內(nèi)容都是自動(dòng)生成的,主要有一個(gè)R.java文件,你在
15、項(xiàng)目 中添加的任何資源都會(huì)在其中生成一個(gè)相應(yīng)的資源 id。這個(gè)文件永遠(yuǎn)不要手動(dòng)去 修改它。 3. assets 這個(gè)目錄用得不多,主要可以存放一些隨程序打包的文件,在你的程序 運(yùn)行時(shí)可以動(dòng)態(tài)讀取到這些文件的內(nèi)容。另外,如果你的程序中使用到了 WebView 加載本地網(wǎng)頁的功能,所有網(wǎng)頁相關(guān)的文件也都存放在這個(gè)目錄下。 4. bin 這個(gè)目錄你也不需要過多關(guān)注,它主要包含了一些在編譯時(shí)自動(dòng)產(chǎn)生的文件。其 中會(huì)有一個(gè)你當(dāng)前項(xiàng)目編譯好的安裝包,展開 bin 目錄你會(huì)看到 HelloWorld.apk, 把這個(gè)文件拷到手機(jī)上就可以直接安裝了 分析第一個(gè) Android程序 5. libs 如果你的項(xiàng)目
16、中使用到了第三方Jar包,就需要把這些Jar包都放在libs 目錄下,放在這個(gè)目錄下的Jar包都會(huì)被自動(dòng)添加到構(gòu)建路徑里去。你可以展開 上圖中 Android 4.0、Android Private Libraries、Android Dependencies這些庫, 其中顯示的Jar包都是已經(jīng)被添加到構(gòu)建路徑里的。 6. res 這個(gè)目錄下的內(nèi)容就有點(diǎn)多了,簡(jiǎn)單點(diǎn)說,就是你在項(xiàng)目中使用到的所 有圖片、布局、字符串等資源都要存放在這個(gè)目錄下,前面提到的R.java中的內(nèi) 容也是根據(jù)這個(gè)目錄下的文件自動(dòng)生成的。當(dāng)然這個(gè)目錄下還有很多的子目錄, 圖片放在 drawable目錄下,布局放在 layo
17、ut目錄下,字符串放在 values目錄下 7. AndroidManifest.xml 這是整個(gè) Android項(xiàng)目的配置文件,你在程序中定義的所有四大組件都 需要在這個(gè)文件里注冊(cè)。另外還可以在這個(gè)文件中給應(yīng)用程序添加權(quán)限聲明,也 可以重新指定創(chuàng)建項(xiàng)目時(shí)指定的程序最低兼容版本和目標(biāo)版本 8. perties 這個(gè)文件非常地簡(jiǎn)單,就是通過一行代碼指定了編譯程序時(shí)所使用的 SDK 版本 掌握日志工具的使用 1.添加LogCat到你的Eclipse 點(diǎn)擊Eclipse導(dǎo)航欄中的 WindowShow ViewOther,會(huì)彈出 一個(gè) Show View對(duì)話框。你在Show V
18、iew對(duì)話框中展開Android目錄,會(huì)看 到有一個(gè)LogCat的子項(xiàng) 2.使用Android的日志工具 Log 1. Log.v() 這個(gè)方法用于打印那些最為瑣碎的,意義最小的日志信息。對(duì)應(yīng)級(jí)別 verbose,是Android日志里面級(jí)別最低的一種 2. Log.d() 這個(gè)方法用于打印一些調(diào)試信息,這些信息對(duì)你調(diào)試程序和分析問題應(yīng) 該是有幫助的。對(duì)應(yīng)級(jí)別debug,比verbose高一級(jí)。 3. Log.i() 這個(gè)方法用于打印一些比較重要的數(shù)據(jù),這些數(shù)據(jù)應(yīng)該是你非常想看到 的,可以幫你分析用戶行為的那種。對(duì)應(yīng)級(jí)別 info,比 debug高一級(jí) 4. Log.w() 這個(gè)方法用于打印一些警告信息,提示程序在這個(gè)地方可能會(huì)有潛在的 風(fēng)險(xiǎn),最好去修復(fù)一下這些出現(xiàn)警告的地方。對(duì)應(yīng)級(jí)別 warn,比info高一級(jí) 5. Log.e() 這個(gè)方法用于打印程序中的錯(cuò)誤信息,比如程序進(jìn)入到了 catch語句當(dāng) 中。當(dāng)有錯(cuò)誤信息打印出來的時(shí)候,一般都代表你的程序出現(xiàn)嚴(yán)重問題了,必須 盡快修復(fù)。對(duì)應(yīng)級(jí)別error,比warn高一級(jí) 3 為什么使用 L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海關(guān)出口報(bào)關(guān)合同
- 合同采用fidic條文
- 幼兒園《哈哈小孩》教學(xué)課件設(shè)計(jì)
- 煤礦工會(huì)管理相關(guān)制度匯編
- 農(nóng)村臨時(shí)救助申請(qǐng)書3篇
- 路演活動(dòng)策劃方案(共6篇)
- 2024勞動(dòng)合同保密協(xié)議
- 2024車輛汽車買賣合同
- 生物谷解決方案
- 深圳大學(xué)《音樂剪輯與制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 詢盤分析及回復(fù)
- 氯化工藝安全培訓(xùn)課件
- 指導(dǎo)巡察工作精細(xì)科學(xué)
- 企業(yè)法律知識(shí)培訓(xùn)消費(fèi)者權(quán)益保護(hù)實(shí)務(wù)
- 快樂讀書吧-讀后分享課:《十萬個(gè)為什么》教學(xué)案列
- 2024年 貴州茅臺(tái)酒股份有限公司招聘筆試參考題庫含答案解析
- 河上建壩糾紛可行性方案
- 第五單元學(xué)雷鋒在行動(dòng)(教案)全國通用五年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)
- 2024年華融實(shí)業(yè)投資管理有限公司招聘筆試參考題庫含答案解析
- 2024年1月普通高等學(xué)校招生全國統(tǒng)一考試適應(yīng)性測(cè)試(九省聯(lián)考)歷史試題(適用地區(qū):貴州)含解析
- 兒童心理健康問題的評(píng)估與干預(yù)方案
評(píng)論
0/150
提交評(píng)論