版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Android開發(fā)簡(jiǎn)介本章內(nèi)容Android的歷史Android的特征Android平臺(tái)體系結(jié)構(gòu)建立Android開發(fā)環(huán)境第一個(gè)Android程序創(chuàng)建Android程序使用虛擬機(jī)程序結(jié)構(gòu)與組成源代碼理解Android的歷史Android的特征Android平臺(tái)體系結(jié)構(gòu)建立Android開發(fā)環(huán)境第一個(gè)Android程序創(chuàng)建Android程序使用虛擬機(jī)程序結(jié)構(gòu)與組成源代碼理解開放手機(jī)聯(lián)盟開放手機(jī)聯(lián)盟(OpenHandsetAlliance,OHA)由谷歌公司于2007年發(fā)起的一個(gè)全球性的聯(lián)盟組織,成立時(shí)包含34家聯(lián)盟成員,現(xiàn)在已經(jīng)增加了很多。聯(lián)盟組織的目標(biāo)研發(fā)移動(dòng)設(shè)備的新技術(shù),用以大幅削減移動(dòng)設(shè)備開發(fā)與推廣成本同時(shí)通過聯(lián)盟各個(gè)合作方的努力,建立了移動(dòng)通信領(lǐng)域新的合作環(huán)境,促進(jìn)了創(chuàng)新移動(dòng)設(shè)備的開發(fā),創(chuàng)造了目前移動(dòng)平臺(tái)實(shí)現(xiàn)的用戶體驗(yàn)開放手機(jī)聯(lián)盟開放手機(jī)聯(lián)盟成員電信運(yùn)營商半導(dǎo)體芯片商手機(jī)硬件制造商軟件廠商商品化公司電信運(yùn)營商:中國移動(dòng)通信、KDDI(日本)、NTTDoCoMo(日本)、SprintNextel(美國)、T-Mobile(美國)、Telecom(意大利)、中國聯(lián)通、Softbank(日本)、Telefonica(西班牙)和Vodafone(英國)
電信運(yùn)營商半導(dǎo)體芯片商:Audience(美國)、AKM(日本)、ARM(英國)、AtherosCommunications(美國)、Broadcom(美國)、Intel(美國)、Marvell(美國)、nVIDIA(美國)、Qualcomm(美國)、SiRF(美國)、Synaptics(美國)、ST-Ericsson(意大利、法國和瑞典)和TexasInstruments(美國)
半導(dǎo)體芯片商手機(jī)硬件制造商:Acer(中國臺(tái)灣)、華碩(中國臺(tái)灣)、Garmin(中國臺(tái)灣)、宏達(dá)電(中國臺(tái)灣)、LG(韓國)、三星(韓國)、華為(中國)、摩托羅拉(美國)、索尼愛立信(日本和瑞典)和東芝(日本)
手機(jī)制造商軟件廠商:AscenderCorp(美國)、eBay(美國)、谷歌(美國)、LivingImage(日本)、NuanceCommunications(美國)、Myraid(瑞士)、Omron(日本)、PacketVideo(美國)、SkyPop(美國)、Svox(瑞士)和SONiVOX(美國)
軟件廠商商品化公司:AplixCorporation(日本)、NoserEngineering(瑞士)、Borqs(中國)、TAT-TheAstonishing(瑞典)、TelecaAB(瑞典)和WindRiver(美國)
商品化公司2007年11月5日,開放手機(jī)聯(lián)盟成立
2007年11月12日,谷歌發(fā)布Android
SDK預(yù)覽版,這是第一個(gè)對(duì)外公布的Android
SDK,為發(fā)布正式版收集用戶反饋發(fā)展史2008年4月17日,谷歌舉辦開發(fā)者競(jìng)賽2008年8月28日,谷歌開通Android
Market,供Android手機(jī)下載需要使用的應(yīng)用程序2008年9月23日,發(fā)布Android
SDK
v1.0版,這是第一個(gè)穩(wěn)定的SDK版本2008年10月21日,谷歌開放Android平臺(tái)的源代碼
發(fā)展史2008年10月22日,第一款A(yù)ndroid手機(jī)T-MobileG1在美國上市,由中國臺(tái)灣的宏達(dá)電制造2009年2月,發(fā)布Android
SDK
v1.1版發(fā)展史2009年2月17日,第二款A(yù)ndroid手機(jī)T-Mobile
G2正式發(fā)售,仍由宏達(dá)電制造2009年4月15日,發(fā)布Android
SDK
v1.5版2009年6月24日,中國臺(tái)灣的宏達(dá)電發(fā)布了第三款A(yù)ndroid手機(jī)HTC
HeroAndroid的歷史Android的特征Android平臺(tái)體系結(jié)構(gòu)建立Android開發(fā)環(huán)境第一個(gè)Android程序創(chuàng)建Android程序使用虛擬機(jī)程序結(jié)構(gòu)與組成源代碼理解提供訪問硬件的API函數(shù),簡(jiǎn)化像攝像頭、GPS等硬件的訪問過程具有自己的運(yùn)行時(shí)和虛擬機(jī)提供豐富的界面控件供使用者之間調(diào)用,加快用戶界面的開發(fā)速度,保證Android平臺(tái)上程序界面的一致性提供輕量級(jí)的進(jìn)程間通訊機(jī)制Intent,使跨進(jìn)程組件通信和發(fā)送系統(tǒng)級(jí)廣播成為可能提供了Service作為無用戶界面,長時(shí)間后臺(tái)運(yùn)行的組件支持高效、快速的數(shù)據(jù)存儲(chǔ)方式AndroidL新特性2014年6月,谷歌在谷歌I/O大會(huì)上帶來了全新移動(dòng)操作系統(tǒng)AndroidL。對(duì)比目前使用的Android系統(tǒng),這個(gè)新系統(tǒng)帶來了很多重要更新,從用戶界面到底層代碼結(jié)構(gòu)都有不同程度的改進(jìn)。AndroidL最大的變化莫過于采用被稱為“材料設(shè)計(jì)(MaterialDesign)”的全新設(shè)計(jì)語言,這是谷歌為了解決碎片化問題的重要舉措,將統(tǒng)一包括手機(jī)、平板、筆記本以及網(wǎng)頁端設(shè)計(jì)風(fēng)格。AndroidL另一大改變?cè)谟谝苿?dòng)瀏覽器端。全新移動(dòng)網(wǎng)頁端同樣使用“材料設(shè)計(jì)”設(shè)計(jì)語言,并且動(dòng)畫看起來就像原生應(yīng)用一樣,幀數(shù)可達(dá)60FPSAndroidL默認(rèn)采用ART運(yùn)行環(huán)境,完全兼容64位移動(dòng)處理器,采用預(yù)編譯的方式將使得Android系統(tǒng)運(yùn)行更為流暢,應(yīng)用啟動(dòng)速度更快,是此前Dalvik模式性能兩倍。AndroidL&Android4.4Android的歷史Android的特征Android平臺(tái)體系結(jié)構(gòu)建立Android開發(fā)環(huán)境第一個(gè)Android程序創(chuàng)建Android程序使用模擬器程序結(jié)構(gòu)與組成源代碼理解
采用軟件堆層的架構(gòu),共分為四層硬件和其他軟件堆層之間的一個(gè)抽象隔離層提供安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議堆棧、和驅(qū)動(dòng)程序等Linux內(nèi)核由函數(shù)庫和Android運(yùn)行時(shí)構(gòu)成函數(shù)庫,主要提供一組基于C/C++的函數(shù)庫SurfaceManager,支持顯示子系統(tǒng)的訪問,提供應(yīng)用程序與2D、3D圖像層的平滑連接MediaFramework,實(shí)現(xiàn)音視頻的播放和錄制功能SQLite,輕量級(jí)的關(guān)系數(shù)據(jù)庫引擎OpenGLES,基于3D圖像加速FreeType,位圖與矢量字體渲染W(wǎng)ebKit,Web瀏覽器引擎SGL,2D圖像引擎SSL,數(shù)據(jù)加密與安全傳輸?shù)暮瘮?shù)庫Libc,標(biāo)準(zhǔn)C運(yùn)行庫,Linux系統(tǒng)中底層應(yīng)用程序開發(fā)接口中間件層Android運(yùn)行時(shí)核心庫,提供Android系統(tǒng)的特有函數(shù)功能和Java語言函數(shù)功能Dalvik虛擬機(jī),實(shí)現(xiàn)基于Linux內(nèi)核的線程管理和底層內(nèi)存管理提供Android平臺(tái)基本的管理功能和組件重用機(jī)制ActivityManager,管理應(yīng)用程序的生命周期WindowsManager,啟動(dòng)應(yīng)用程序的窗體ContentProvider,共享私有數(shù)據(jù),實(shí)現(xiàn)跨進(jìn)程的數(shù)據(jù)訪問PackageManager,管理安裝在Android系統(tǒng)內(nèi)的應(yīng)用程序TeleghonyManager,管理與撥打和接聽電話的相關(guān)功能應(yīng)用程序框架ResourceManager,允許應(yīng)用程序使用非代碼資源LocationManager,管理與地圖相關(guān)的服務(wù)功能NotificationManager,允許應(yīng)用程序在狀態(tài)欄中顯示提示信息提供一系列的核心應(yīng)用程序包括電子郵件客戶端、瀏覽器、通訊錄和日歷等應(yīng)用程序Android的歷史Android的特征Android平臺(tái)體系結(jié)構(gòu)建立Android開發(fā)環(huán)境第一個(gè)Android程序創(chuàng)建Android程序使用模擬器程序結(jié)構(gòu)與組成源代碼理解在手機(jī)中運(yùn)行Android程序1)JDK安裝一般來說,android的開發(fā)需要java環(huán)境以及開發(fā)IDE和相應(yīng)的SDK。如果已經(jīng)安裝了Java環(huán)境,則只需要安裝IDE和SDK即可。JDK安裝:判斷是否安裝了Java,可以打開cmd窗口(快捷鍵Win+R),輸入命令java–version,看是否有類似下圖的反映。如果系統(tǒng)沒有安裝java,則需要先安裝JDK。2)Android開發(fā)環(huán)境安裝具體來說,Android開發(fā)環(huán)境包括相應(yīng)的IDE(IntegratedDevelopmentEnvironment)和SDK(SoftwareDevelopmentKits)。直白地說,IDE就是用于你寫程序、編譯程序的開發(fā)環(huán)境,類似的IDE還有VisualStudio等。一般選用Eclipse作為java的開發(fā)環(huán)境。而為了開發(fā)android應(yīng)用程序,還需要ADT(AndroidDevelopmentTool)插件。好消息是目前可以直接下載已經(jīng)集成eclipse和ADT的IDE,下載鏈接如下。下載鏈接:(該鏈接是google提供的,大陸可能無法訪問)該鏈接中的eclipse文件夾中,eclipse.exe可以直接運(yùn)行,就是我們的IDE開發(fā)環(huán)境!設(shè)置工作環(huán)境第一次運(yùn)行時(shí),會(huì)出現(xiàn)如下圖所示的要求設(shè)置工作路徑的界面,之后就會(huì)出現(xiàn)如下圖所示的包含Eclipse和ADT的集成開發(fā)環(huán)境。主界面3)SDK安裝上述下載的文件中,除了Eclipse以外,還有SDK安裝向?qū)?。運(yùn)行“SDKManager”,會(huì)出現(xiàn)如圖所示的界面。這里可以選擇不做任何操作。你也可以選擇要安裝的條目后,即可安裝SDK,非常簡(jiǎn)單。Android的歷史Android的特征Android平臺(tái)體系結(jié)構(gòu)建立Android開發(fā)環(huán)境第一個(gè)Android程序創(chuàng)建Android程序使用模擬器程序結(jié)構(gòu)與組成源代碼理解在手機(jī)中運(yùn)行Android程序創(chuàng)建Android程序開發(fā)環(huán)境安裝好以后,就可以開始我們的第一個(gè)Android程序了。選擇File->New->AndroidApplicationProject,進(jìn)入下頁所示的界面:其中,ProjectName表示整個(gè)項(xiàng)目的名稱,可以和ApplicationName一樣。ApplicationName會(huì)出現(xiàn)在google的PlayStore中。PackageName和Java中的包一樣。下面的SDK表示整個(gè)項(xiàng)目可以兼容的最低和最高android版本。之后可以一直Next,最后創(chuàng)建第一個(gè)android程序。項(xiàng)目名稱包名稱所需的最低和目標(biāo)adnroid版本運(yùn)行Android程序不做任何修改,我們即可運(yùn)行上述Android程序。為了看到運(yùn)行效果,需要啟動(dòng)模擬器AVD(AndroidVirtualDevice)。選擇Window->androidvirtualdevicemanager或者工具欄的
圖標(biāo),可見到如下圖所示的界面。創(chuàng)建模擬器選擇New,新建一個(gè)模擬器平臺(tái),其中Target項(xiàng)表示所選的android版本,Keyboard項(xiàng)表示是否在模擬器中顯示一些手機(jī)按鈕(比如上下鍵、電源鍵等),取消Keyboard和Skin項(xiàng),則模擬器不會(huì)出現(xiàn)右邊黑背景部分,只有手機(jī)屏幕部分啟動(dòng)模擬器選中其中一個(gè)模擬器,點(diǎn)擊“Start…”按鈕可以啟動(dòng)模擬器。當(dāng)然,系統(tǒng)也會(huì)在程序運(yùn)行時(shí)自動(dòng)啟動(dòng)模擬器。啟動(dòng)后的模擬器如下頁所示,不同的android版本會(huì)有不同的界面。模擬器打開以后,可以不用關(guān)!!因?yàn)槟M器啟動(dòng)很慢,所以打開后不要關(guān)掉,程序修改后會(huì)自動(dòng)更新到模擬器。要運(yùn)行程序,可以選擇工具欄上的綠色啟動(dòng)按鈕
,或者在左邊的包瀏覽器中右鍵->runas->androidapplication。如果模擬器不工作。。。如果模擬器卡住或者不工作,具體可能的解決方法有:模擬器本身很慢,可以調(diào)整模擬器的內(nèi)存。回到AVD頁面,選中模擬器,點(diǎn)擊Edit…按鈕,采用低版本的模擬器。打開SDKManager(工具欄里
),下載低版本的AndroidAPI。將模擬器的版本調(diào)整為低版本API,比如2.2如果模擬器顛倒,要切換模擬器的顯示(橫著或者豎著),可以用ctrl+F11或者ctrl+F12。程序包文件組成默認(rèn)在Eclipse的最左邊,是Package瀏覽器,如下頁的圖所示。如果沒看到,可以選擇Window->showview->packageexplorer。我們來看看整個(gè)程序包包含哪些文件。系統(tǒng)資源和主要的代碼是分開的文件夾及文件列表一個(gè)工程中重要的文件夾及其文件列表如下所示源代碼理解Android開發(fā)和以往常見的基于VisualStudio等的開發(fā)有較大的不同。這種不同主要體現(xiàn)在android開發(fā)中,界面UI、資源(語言、字符串、顏色變量、圖像等)和代碼是分離的。這種模式非常靈活,適合升級(jí),適合不同分辨率的設(shè)備,也適合多語言環(huán)境的開發(fā)。下面,通過講解最基本的代碼,來了解android的基本開發(fā)模式。變量的定義與訪問以res/values/string.xml文件為例,說明變量的定義。該xml文件如下所示這個(gè)文件中定義了三個(gè)變量:app_name,action-settings和hello_wold。這三個(gè)變量的值也都可以看到。相關(guān)的引用在UI文件(見下面)中,android:text=”@string/hell_world”,這個(gè)@string/hell_world是引用資源的寫法,用@+文件名+”/”+資源名的格式。用戶也可以在values文件夾的xml文件中自定義各種變量。UI的編輯UI定義都存放在res/layout中,本例中的UI定義在activity_main.xml中。這個(gè)文件中的內(nèi)容就是針對(duì)android界面布局的描述。整個(gè)UI界面有一個(gè)文本標(biāo)簽(TextView類),其中的文本內(nèi)容則是在string.xml中定義的hello_wold變量,其值是Helloworld!,如下圖所示。當(dāng)然,你也可以改變?cè)摽丶膶傩?,比如?lt;TextView>標(biāo)簽中添加android:textColor=”#FF0000”,可以將文本顏色改為紅色。主源碼src目錄下放置的是Java源文件,這個(gè)文件中可以創(chuàng)建若干的Java包,在包中可以創(chuàng)建應(yīng)用的處理邏輯。本例中的“MainActivity.java”就是在創(chuàng)建項(xiàng)目的時(shí)候創(chuàng)建的一個(gè)Activity。這里的Activity可以看成是一個(gè)窗口,在Activity中可以編寫控制View(可以看成是各種控件)的邏輯。核心的控制邏輯都都會(huì)寫在這里,看看“mainactivity.java”中都有什么第一行表示包的名稱。3-5行代碼導(dǎo)入Android的包,相當(dāng)于.net中的using語句引入命名空間。7-21行是MainActivity類的主體,該類繼承自Activity,android中所有的用戶界面展示的類都直接或間接繼承自Activity。9-12行是一個(gè)重要的函數(shù),這個(gè)函數(shù)重寫Actitity中的onCreate,每一個(gè)繼承自Activity的子類都要重寫該方法來初始化界面,和中Page_Load事件相似,可以在這個(gè)方法中初始化界面上的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年超市促銷方案5篇范文模板
- 石河子大學(xué)《食品物性學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《結(jié)構(gòu)力學(xué)二》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《簡(jiǎn)明新疆地方史教程》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《風(fēng)景畫表現(xiàn)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《自動(dòng)武器原理與構(gòu)造》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《交互設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2018年四川內(nèi)江中考滿分作文《我心中的英雄》12
- 沈陽理工大學(xué)《電力電子技術(shù)》2023-2024學(xué)年期末試卷
- 廣州 存量房交易合同 范例
- MOOC 3D工程圖學(xué)-華中科技大學(xué) 中國大學(xué)慕課答案
- 提高出院病案7天回收率PDCA持續(xù)改進(jìn)方案
- 爭(zhēng)戰(zhàn)得勝之方江秀琴
- 淺析初中數(shù)學(xué)學(xué)科特點(diǎn)與思想方法
- 施工方案及施工三措
- 生涯彩虹圖(含分析)
- 港口理貨業(yè)務(wù)PPT課件
- 村廉政風(fēng)險(xiǎn)點(diǎn)及防控措施一覽表檔
- 生管SWOT分析
- (完整版)離子共存問題習(xí)題及參考答案(最新(精華版)
- 門座式起重機(jī)檢驗(yàn)規(guī)程
評(píng)論
0/150
提交評(píng)論