Android介紹與開發(fā)環(huán)境搭建_第1頁
Android介紹與開發(fā)環(huán)境搭建_第2頁
Android介紹與開發(fā)環(huán)境搭建_第3頁
Android介紹與開發(fā)環(huán)境搭建_第4頁
Android介紹與開發(fā)環(huán)境搭建_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Android開發(fā)課程--Android介紹與開發(fā)環(huán)境搭建Android開發(fā)課程--翟國棟本章目標操作系統(tǒng)介紹Android平臺概述Android系統(tǒng)架構(gòu)Android系統(tǒng)版本Android應(yīng)用領(lǐng)域Android開發(fā)環(huán)境搭建Android工程的目錄結(jié)構(gòu)Android開發(fā)內(nèi)容Android核心組件介紹操作系統(tǒng)介紹操作系統(tǒng)目前操作系統(tǒng)主要有六種:PalmOS由3Com公司的PalmComputing開發(fā)32位嵌入式操作系統(tǒng)所占的內(nèi)存小不具備錄音和MP3播放功能Symbian由Symbian開發(fā)和維護,后被諾基亞收購實時多任務(wù)的32位操作系統(tǒng)功耗低、內(nèi)存占用少、應(yīng)用界面框架靈活不開放核心代碼,但公開API文檔操作系統(tǒng)Linux由計算機Linux操作系統(tǒng)演變而來開放源代碼有一些先天缺乏WindowsPhone7由微軟公司推出的移動設(shè)備操作系統(tǒng)播放音視頻、瀏覽網(wǎng)頁、MSN聊天、收發(fā)電子郵件硬件配置高、耗電量大、電池續(xù)航時間短、硬件本錢高操作系統(tǒng)iPhoneOS由蘋果公司開發(fā)的操作系統(tǒng)iPhoneOS的系統(tǒng)構(gòu)架支持內(nèi)置加速器Android由谷歌發(fā)布的基于Linux的開源平臺Android的組成第一個完全定制、免費、開放的平臺使用Java語言開發(fā)支持多種硬件設(shè)備Android平臺概述

Android平臺概述Android的本義指“機器人”,是Google于2007年11月5日宣布的基于Linux平臺的開源操作系統(tǒng)的名稱。Android是Google與開放聯(lián)盟〔Moto,高通,宏達,飛利浦,三星,T-Mobile等30多家企業(yè)〕合作開發(fā)和推進的操作系統(tǒng)。Google通過與運營商、設(shè)備制造商、開發(fā)商等結(jié)成深層次的合作伙伴關(guān)系,建立標準化、開放式的移動軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。市場上第一款支持Android的是在2008年9月22日發(fā)布的由HTC制造幵由T-Mobile供給的G1。開放聯(lián)盟開放聯(lián)盟〔OpenHandsetAlliance,OHA〕由谷歌公司于2007年發(fā)起的一個全球性的聯(lián)盟組織,成立時包含34家聯(lián)盟成員,現(xiàn)在已經(jīng)增加到50家。聯(lián)盟組織的目標研發(fā)移動設(shè)備的新技術(shù),用以大幅削減移動設(shè)備開發(fā)與推廣本錢。同時通過聯(lián)盟各個合作方的努力,建立了移動通信領(lǐng)域新的合作環(huán)境,促進了創(chuàng)新移動設(shè)備的開發(fā),創(chuàng)造了目前移動平臺實現(xiàn)的用戶體驗。開放聯(lián)盟開放聯(lián)盟成員電信運營商半導體芯片商硬件制造商軟件廠商商品化公司開放聯(lián)盟電信運營商:中國移動通信、KDDI〔日本〕、NTTDoCoMo〔日本〕、SprintNextel〔美國〕、T-Mobile〔美國〕、Telecom〔意大利〕、中國聯(lián)通、Softbank〔日本〕、Telefonica〔西班牙〕和Vodafone〔英國〕。開放聯(lián)盟半導體芯片商:Audience〔美國〕、AKM〔日本〕、ARM〔英國〕、AtherosCommunications〔美國〕、Broadcom〔美國〕、Intel〔美國〕、Marvell〔美國〕、nVIDIA〔美國〕、Qualcomm〔美國〕、SiRF〔美國〕、Synaptics〔美國〕、ST-Ericsson〔意大利、法國和瑞典〕和TexasInstruments〔美國〕。開放聯(lián)盟硬件制造商:Acer〔中國臺灣〕、華碩〔中國臺灣〕、Garmin〔中國臺灣〕、宏達電〔中國臺灣〕、LG〔韓國〕、三星〔韓國〕、華為〔中國〕、摩托羅拉〔美國〕、索尼愛立信〔日本和瑞典〕和東芝〔日本〕。開放聯(lián)盟軟件廠商:AscenderCorp〔美國〕、eBay〔美國〕、谷歌〔美國〕、LivingImage〔日本〕、NuanceCommunications〔美國〕、Myraid〔瑞士〕、Omron〔日本〕、PacketVideo〔美國〕、SkyPop〔美國〕、Svox〔瑞士〕和SONiVOX〔美國〕開放聯(lián)盟商品化公司:AplixCorporation〔日本〕、NoserEngineering〔瑞士〕、Borqs〔中國〕、TAT-TheAstonishing〔瑞典〕、TelecaAB〔瑞典〕和WindRiver〔美國〕市場份額薪資調(diào)查系統(tǒng)特點開放的平臺Dalvik虛擬機針對移動設(shè)備進行了優(yōu)化。優(yōu)化的圖形能力支持2D、3D圖形(OpenGLES1.0)。集成了基于開源WebKit引掣的瀏覽器。SQLite作為結(jié)構(gòu)化數(shù)據(jù)存儲。多媒體支持多種音頻、視頻格式。支持藍牙Bluetooth,3G和WiFi支持照相機、GPS、指南針和加速度儀等傳感器硬件依托Java豐富的編程資源豐富的開發(fā)環(huán)境。包括模擬機、調(diào)試工具、內(nèi)存運行檢測,以及為EclipseIDE所寫的插件。Android系統(tǒng)架構(gòu)系統(tǒng)架構(gòu)Linux內(nèi)核Android依賴Linux內(nèi)核2.6提供核心系統(tǒng)效勞,比方平安、內(nèi)存管理、進程管理、網(wǎng)絡(luò)、硬件驅(qū)動。在這里,Linux內(nèi)核扮演的是硬件層和系統(tǒng)其他層次之間的一個抽象層的概念。需要注意的是,這個操作系統(tǒng)并非類GNU/Linux的,因為其系統(tǒng)庫,系統(tǒng)初始化和編程接口都和標準的Linux系統(tǒng)是有所不同的。Android底層和普通內(nèi)核沒有什么大的區(qū)別,我們可以將其當作一個Linux來進行開發(fā)。Lib和運行環(huán)境Library以c/c++開發(fā),屬于系統(tǒng)元件,開發(fā)者可以透過ApplicationFramework來使用這些功能。豐富的庫類支持:2D和3D圖像庫OpenGLES、數(shù)據(jù)庫SQLite、對象數(shù)據(jù)庫db4o庫類、媒體庫、基于Linux底層系統(tǒng)C庫等等,讓應(yīng)用開發(fā)更簡單多樣。CoreLibraries:對應(yīng)于JavaProgrammingLanguage。DalvikVirtualMachine(簡稱DVM):針對開發(fā)虛擬機。應(yīng)用和框架ApplicationFramework:Google提供API,此framework內(nèi)已經(jīng)具備多種不同的根底模塊,在開發(fā)應(yīng)用程序時,可以直接使用。Applications:包含內(nèi)建的應(yīng)用程序-聯(lián)系人、eMail、Map、QQ等等;從Market上面下載的軟件;自己開發(fā)的軟件。Android系統(tǒng)版本系統(tǒng)版本Android應(yīng)用領(lǐng)域應(yīng)用領(lǐng)域智能領(lǐng)域摩托羅拉依靠Android操作系統(tǒng)起死回生。除了諾基亞和蘋果,其他的廠商全部支持Android。2012年第三季度,美國智能市場出貨量Android占44%,而且還在快速上升。蘋果占23%,其他系統(tǒng)都在快速下降。應(yīng)用領(lǐng)域平板電腦領(lǐng)域iPad依然占據(jù)平板電腦的絕大局部江山。其他廠商做的平板根本上都采用Android平臺,如三星、愛國者、聯(lián)想等。山寨廠商都采用Android平臺。應(yīng)用領(lǐng)域智能電視領(lǐng)域中國電子視像協(xié)會根本定調(diào)中國的智能電視系統(tǒng)都會采用Android平臺?,F(xiàn)在主要的廠商如:海爾、TCL、創(chuàng)維、海信、長虹都在研發(fā)Android平臺的智能電視。應(yīng)用領(lǐng)域其他消費類電子領(lǐng)域汽車車載電子設(shè)備醫(yī)療類電子設(shè)備家庭電子設(shè)備……Android環(huán)境搭建Ubuntu下搭建Android環(huán)境什么是Ubuntu?Android與Linux的關(guān)系為什么要用Ubuntu?如何安裝Ubuntu?Ubuntu下搭建Android開發(fā)環(huán)境Ubuntu下訪問Windows文件夾什么是UbuntuUbuntu是一個以桌面應(yīng)用為主的Linux操作系統(tǒng)。Ubuntu基于Debian發(fā)行版和GNOME桌面環(huán)境,與Debian的不同在于它每6個月會發(fā)布一個新版。Ubuntu的目標在于為一般用戶提供一個最新的、同時又相當穩(wěn)定的主要由自由軟件構(gòu)建而成的操作系統(tǒng)。Ubuntu具有龐大的社區(qū)力量,用戶可以方便地從社區(qū)獲得幫助。Android與Linux的關(guān)系從系統(tǒng)設(shè)計角度:Android采用Linux做為內(nèi)核。Android對Linux內(nèi)核做了修改,以適應(yīng)其在移動設(shè)備上的應(yīng)用。從開發(fā)應(yīng)用的角度:Android的工程編譯環(huán)境需要在Linux下配置。Android的某些調(diào)試手段需要用到Linux的一些命令行腳本。Android的模擬器在Linux上運行會快一些。為什么要用UbuntuUbuntu是目前全球使用最多的Linux發(fā)行版,目前 全球的裝機量已達1,000萬,有強大的社區(qū)支持和 資源。Ubuntu工程完全遵從開源軟件開發(fā)的原那么;并且鼓勵人們使用、完善并傳播開源軟件。也就是Ubuntu目前是并將永遠是免費的。如何安裝Ubuntu兩種方式:1、在硬盤上完全安裝一個Ubuntu操作系統(tǒng)。2、在Window操作系統(tǒng)下,安裝一個虛擬機軟件〔例如VMWare〕,然后再在虛擬機上安裝Ubuntu。優(yōu)劣比較:1、如果要獲得完全的性能,請在硬盤上獨立安裝一個完整的Ubuntu操作系統(tǒng)。驅(qū)動開發(fā)者推薦用此種方式。2、如果為了方便與Windows系統(tǒng)的切換,大局部時間還在Windows上開發(fā),建議通過虛擬機軟件安裝Ubuntu。應(yīng)用開發(fā)者推薦使用此方式。搭建Android開發(fā)環(huán)境需要準備以下軟件:1、JDK:JAVA程序開發(fā)包和運行時環(huán)境2、Eclipse:集成的IDE開發(fā)環(huán)境3、ADT:專門為Android開發(fā)定制的Eclipse插件4、AndroidSDKLinux:Android應(yīng)用開發(fā)SDK推薦使用版本:1、JDKjdk-6u24-linux-i586.bin(32bit)2、Eclipseeclipse-java-helios-SR2-linux-gtk.tar.gz(32bit)3、ADT4、AndroidSDK1.安裝JDK1.將jdk-6u24-linux-i586.bin放置于目標目錄下,例如/home/KingArthur/work(這個自己定義文件夾,無所謂,但要和將來配置的環(huán)境變量中的路徑一致)。2.翻開命令行終端,進入放置jdk的目錄:$cd/home/KingArthur/work3.更改文件權(quán)限為可執(zhí)行,在命令行下輸入以下命令:$sudochmod+xjdk-6u24-linux-i586.bin4.解壓文件,在命令行下輸入以下命令(‘./’表示執(zhí)行程序):$./jdk-6u24-linux-i586.bin這樣該目錄下就會出現(xiàn)的文件夾,JDK安裝完畢。備注:命令行終端的翻開方法,在系統(tǒng)面板上【應(yīng)用程序】->【附件】->【終端】或【Applications】->【Accessories】->【Terminal】菜單中。2.JAVA環(huán)境變量的配置翻開命令行終端,輸入以下命令:$sudogedit/etc/profile在翻開的profile文件最后添加如下內(nèi)容:exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$JAVA_HOME/binexportCLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib然后重啟系統(tǒng)!3、驗證是否配置成功:重啟后,翻開命令行,輸入:$java–version如果返回以下內(nèi)容,說明設(shè)置成功:javaversion"1.6.0_24"Java(TM)SERuntimeEnvironment(build1.6.0_24-b07)JavaHotSpot(TM)ServerVM(build19.1-b02,mixedmode)3、安裝Eclipse將解壓到/home/KingArthur/work這個之前設(shè)定好的目錄。雙擊eclipse就能啟動了。4.安裝其Android插件〔ADT〕翻開菜單"Help"->"InstallNewSoftware",在"AvailabeSoftware"中參加地址,然后安裝ADT(AndroidDevelopmentTools)。5.配置Linux版本的AndroidSDK將解壓到一個文件夾中,在eclipse中配置一下即可。Eclipse重啟后,選擇Window>Preferences...,在翻開的屬性框,選擇Android,在SDKlocation中輸入你的AndroidSDK所在的目錄,然后按Apply按鈕。AndroidSDK的配置(與JDK大同小異)翻開命令行終端,輸入以下命令:$sudogedit/etc/profile在翻開的profile文件添加如下內(nèi)容:exportANDROID_HOME=/home/KingArthur/work/android-sdk-linux_x86exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$JAVA_HOME/bin:$ANDROID_HOME/toolsexportCLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib6.創(chuàng)立Android模擬器Ubuntu下的Linux開發(fā)環(huán)境就安裝完畢了,趕快使用eclipse中的Window->AndroidSDKandAVDManager來創(chuàng)立一個模擬器并啟動。Android工程目錄結(jié)構(gòu)工程目錄結(jié)構(gòu)工程目錄結(jié)構(gòu)--src1.src文件夾-用于放置源程序系統(tǒng)生成了一個HelloWorld.java文件。他導入了兩個類android.app.Activity和,HelloWorld類繼承自Activity且重寫了onCreate方法。工程目錄結(jié)構(gòu)--src類:因為幾乎所有的活動〔activities〕都是與用戶交互的,所以Activity類關(guān)注創(chuàng)立窗口,你可以用方法setContentView(View)將自己的UI放到里面。然而活動通常以全屏的方式展示給用戶,也可以以浮動窗口或嵌入在另外一個活動中。有兩個方法是幾乎所有的Activity子類都實現(xiàn)的:1.onCreate(Bundle):初始化你的活動〔Activity〕,比方完成一些圖形的繪制。最重要的是,在這個方法里你通常將用布局資源〔layoutresource〕調(diào)用setContentView(int)方法定義你的UI,和用findViewById(int)在你的UI中檢索你需要編程地交互的小部件〔widgets〕。setContentView指定由哪個文件指定布局〔main.xml〕,可以將這個界面顯示出來,然后我們進行相關(guān)操作,我們的操作會被包裝成為一個意圖,然后這個意圖對應(yīng)有相關(guān)的activity進行處理。2.onPause():處理當離開你的活動時要做的事情。最重要的是,用戶做的所有改變應(yīng)該在這里提交〔通常ContentProvider保存數(shù)據(jù)〕。2.android.os.Bundle類:從字符串值映射各種可打包的〔Parcelable〕類型〔Bundle單詞就是捆綁的意思,所有這個類很好理解和記憶〕。如該類提供了公有方法——publicbooleancontainKey(Stringkey),如果給定的key包含在Bundle的映射中返回true,否那么返回false。該類實現(xiàn)了Parceable和Cloneable接口,所以它具有這兩者的特性。工程目錄結(jié)構(gòu)--gen2.gen文件夾-自動生成R.java文件,用于引用資源文件〔即res目錄下的數(shù)據(jù)〕R.java是在建立工程時自動生成的,這個文件是只讀模式的,不能更改。R.java文件中定義了一個類——R,R類中包含很多靜態(tài)類,且靜態(tài)類的名字都與res中的一個名字對應(yīng),即R類定義該工程所有資源的索引。通過R.java我們可以很快地查找我們需要的資源,另外編繹器也會檢查R.java列表中的資源是否被使用到,沒有被使用到的資源不會編繹進軟件中,這樣可以減少應(yīng)用在占用的空間。工程目錄結(jié)構(gòu)--assets3.assets文件夾-用于放置原始文件,Android不會對此目錄下的文件做任何處理,這是其與res目錄不同的地方包含應(yīng)用系統(tǒng)需要使用到的諸如mp3、視頻類的文件。工程目錄結(jié)構(gòu)--res4.res文件夾-資源目錄,包含你工程中的資源文件并將編譯進應(yīng)用程序。向此目錄添加資源時,會被R.java自動記錄。新建一個工程,res目錄下會有三個子目錄:drawable、layout、values。res/drawable-用于放置圖片之類的資源res/drawable-hdpi高密度圖片,res/drawable-ldpi低密度圖片res/drawable-mdpi中等密度的圖片這三個文件夾是存放圖片的,不同之處在于分辨率,是為了適應(yīng)不同屏幕分辨率不同的情況。工程目錄結(jié)構(gòu)--resres/layout-用于放置布局用的xml文件;layout:界面布局文件(main.xml)與WEB應(yīng)用中的HTML類同。res/values-用于放置一些常量數(shù)據(jù)values:軟件上所需要顯示的各種文字??梢源娣哦鄠€*.xml文件,還可以存放不同類型的數(shù)據(jù)。比方arrays.xml、colors.xml、dimens.xml、styles.xml。AndroidManifest.xmlAndroidManifest.xml-Android程序的清單文件,相當于配置文件,配置應(yīng)用程序名稱、圖標、Activity、Service、Receiver等。工程的總配置文件,記錄應(yīng)用中所使用的各種組件。這個文件列出了應(yīng)用程序所提供的功能,在這個文件中,你可以指定應(yīng)用程序使用到的效勞(如效勞、互聯(lián)網(wǎng)效勞、短信效勞、GPS效勞等等)。另外當你新添加一個Activity的時候,也需要在這個文件中進行相應(yīng)配置,只有配置好后,才能調(diào)用此Activity。AndroidManifest.xml將包含如下設(shè)置:applicationpermissions、Activities、intentfilters等。AndroidManifest.xml這是工程的重要配置文件,諸如Activity,權(quán)限,Intent等都在這里配置:1.Package:定義了該應(yīng)用的包。2.android:versionCode定義了應(yīng)用的版本號3.android:versionName定義了應(yīng)用的版本名字4.application標簽定義了一個應(yīng)用,一個工程最多有一個Application標簽。5.android:icon="@drawable/icon"定義了應(yīng)用的圖標引用資源文件中的icon圖片6.android:label="@string/app_name"定義了應(yīng)用的名稱7.activity標簽定義了一個Activity,你的每一個Activity必須在這里定義,否那么不能運行.8.Android:name定義了Activity的類名,這里的.HelloWorld是以上面的Package定義為根底的,也就是Package(com.flysnow)加上這個android:name(.HelloWorld)要能定位到這個Activity(com.flysnow.HelloWorld),否

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論