Android應(yīng)用程序中文教材 有米分享_第1頁(yè)
Android應(yīng)用程序中文教材 有米分享_第2頁(yè)
Android應(yīng)用程序中文教材 有米分享_第3頁(yè)
Android應(yīng)用程序中文教材 有米分享_第4頁(yè)
Android應(yīng)用程序中文教材 有米分享_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Android應(yīng)用程序中文教材試 閱:上一小節(jié)已經(jīng)對(duì)SDK進(jìn)行了安裝與配置,本節(jié)將帶領(lǐng)讀者構(gòu)建基于Eclipse的集成開(kāi)發(fā)環(huán)境,具體步驟如下。 (1)讀者只需登錄到/downloads/即可下載最新版本的Eclipse安裝程序,本書(shū)采用的版本是3.5.1。 (2)將下載好的Eclipse解壓到C盤(pán)根目錄,如圖1-7所示。 圖1-7 eclipse安裝目錄(3)雙擊C:eclipse目錄下的eclipse.exe運(yùn)行Eclipse,依次單擊菜單Help/Install New Software,如圖1-8所示。 圖1-8 Eclipse的軟件安裝 (4)

2、單擊彈出的Install界面中的“Add”按鈕,在Name中輸入任意的名字,并在Location中輸入ADT的下載地址/android/eclipse/,如圖1-9所示.正 文: 第1章 Android平臺(tái)簡(jiǎn)介 Android是Google公司于2007年11月5日發(fā)布的基于Linux內(nèi)核的移動(dòng)平臺(tái),該平臺(tái)由操作系統(tǒng)、中間件、用戶(hù)界面和應(yīng)用軟件組成,是一個(gè)真正開(kāi)放的移動(dòng)開(kāi)發(fā)平臺(tái)。 本章將介紹Android系統(tǒng)的起源、特點(diǎn)、應(yīng)用程序框架以及開(kāi)發(fā)環(huán)境的搭建,讓讀者對(duì)Android平臺(tái)有個(gè)初步的了解,之后將開(kāi)發(fā)第一個(gè)Android程序Hello And

3、roid,并通過(guò)對(duì)該程序的簡(jiǎn)單分析,帶領(lǐng)讀者步入Android開(kāi)發(fā)的大門(mén)。 1.1 Android的來(lái)龍去脈 Android的創(chuàng)始人Andy Rubin是硅谷著名的“極客”,他離開(kāi)Danger移動(dòng)計(jì)算公司后不久便創(chuàng)立了Android公司,并開(kāi)發(fā)了Android平臺(tái),他一直希望將Android平臺(tái)打造成完全開(kāi)放的移動(dòng)終端平臺(tái)。之后Android公司被Google公司看中并將其收購(gòu)。不久,號(hào)稱(chēng)全球最大的搜索服務(wù)商Google大舉進(jìn)軍移動(dòng)通信市場(chǎng),并推出自主品牌的移動(dòng)終端產(chǎn)品。 2007年11月初,Google正式宣布與其他33家手機(jī)廠商、軟硬件供應(yīng)商、手機(jī)芯片供應(yīng)商、移動(dòng)運(yùn)營(yíng)商聯(lián)合組成開(kāi)放手機(jī)聯(lián)盟

4、(Open Handset Alliance),并發(fā)布名為Android的開(kāi)放手機(jī)軟件平臺(tái),希望建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)行業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng)。 Android作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)“隨時(shí)隨地為每一個(gè)人提供信息”這一企業(yè)目標(biāo)的實(shí)現(xiàn)。但Android只是補(bǔ)充,并不會(huì)代替谷歌長(zhǎng)時(shí)間以來(lái)奉行的移動(dòng)發(fā)展戰(zhàn)略:通過(guò)與全球各地的手機(jī)制造商和移動(dòng)運(yùn)營(yíng)商結(jié)成企業(yè)合作伙伴,開(kāi)發(fā)既有用又有吸引力的移動(dòng)服務(wù),并推廣這些產(chǎn)品。 1.2 掀起Android的蓋頭來(lái) 自從Android發(fā)布以來(lái),越來(lái)越多的人關(guān)注Android的發(fā)展,越來(lái)越多的開(kāi)發(fā)人員為Android系統(tǒng)開(kāi)

5、發(fā)應(yīng)用,那是什么使Android備受青睞,什么使Android在眾多移動(dòng)平臺(tái)中脫穎而出呢? 1.2.1 選擇Android的理由 與其他手機(jī)的操作系統(tǒng)相比,Android具有如下優(yōu)點(diǎn): . 開(kāi)放性; . 平等性; . 無(wú)界性; . 方便性; . 硬件的豐富性。 下面將對(duì)以上各個(gè)優(yōu)點(diǎn)進(jìn)行簡(jiǎn)單介紹。 1開(kāi)放性 提到Android的優(yōu)勢(shì),首先想到的一定是其真正的開(kāi)放,其開(kāi)放性包含底層的操作系統(tǒng)以及上層的應(yīng)用程序等,Google與開(kāi)放手機(jī)聯(lián)盟合作開(kāi)發(fā)Android的目的就是建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)單擊軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng)。 Android的開(kāi)放性也同樣會(huì)使大量的程序開(kāi)發(fā)人員投

6、入到Android程序的開(kāi)發(fā)中,這將為Android平臺(tái)帶來(lái)大量新的應(yīng)用。 2平等性 在Android的系統(tǒng)上,所有的應(yīng)用程序完全平等,系統(tǒng)默認(rèn)自帶的程序與自己開(kāi)發(fā)的程序沒(méi)有任何區(qū)別,程序開(kāi)發(fā)人員可以開(kāi)發(fā)個(gè)人喜愛(ài)的應(yīng)用程序未替代系統(tǒng)的程序,構(gòu)建個(gè)性化的Android手機(jī)系統(tǒng),這些功能在其他的手機(jī)平臺(tái)是沒(méi)有的。 在開(kāi)發(fā)之初,Android平臺(tái)就被設(shè)計(jì)成由一系列應(yīng)用程序組成的平臺(tái),所有的應(yīng)用程序都運(yùn)行在一個(gè)虛擬機(jī)上面。該虛擬機(jī)提供了系列應(yīng)用程序之間和硬件資源通信的API。而除了該虛擬機(jī),其他的所有應(yīng)用全部平等。 3無(wú)界性 Android平臺(tái)的無(wú)界性表現(xiàn)在應(yīng)用程序之間的無(wú)界,開(kāi)發(fā)人員可以很輕松地將自

7、己開(kāi)發(fā)的程序與其他應(yīng)用程序進(jìn)行交互,比如應(yīng)用程序需要播放聲音的模塊,而正好你的手機(jī)中已經(jīng)有一個(gè)成熟的音樂(lè)播放器,此時(shí)你就不需要再重復(fù)開(kāi)發(fā)音樂(lè)播放功能,只需簡(jiǎn)單地加上幾行代碼即可將成熟的音樂(lè)播放功能添加到自己的程序中。 4方便性 在Android平臺(tái)中開(kāi)發(fā)應(yīng)用程序是非常方便的,如果你對(duì)Android平臺(tái)比較熟悉的話,想開(kāi)發(fā)一個(gè)功能全面的應(yīng)用程序并不是什么難事。Android平臺(tái)為開(kāi)發(fā)人員提供了大量的實(shí)用庫(kù)及方便的工具,同時(shí)也將Google Map等強(qiáng)大的功能集成了進(jìn)來(lái),只需簡(jiǎn)單的幾行調(diào)用代碼即可將強(qiáng)大的地圖功能添加到自己的程序中。 5硬件的豐富性 由于平臺(tái)的開(kāi)放,眾多的硬件制造商推出了各種各樣、

8、千奇百怪的產(chǎn)品,但這些產(chǎn)品功能上的差異并不影響數(shù)據(jù)的同步與軟件的兼容,例如原來(lái)在諾基亞手機(jī)上的應(yīng)用程序,可以很輕松地被移植到摩托羅拉手機(jī)上使用,且聯(lián)系人、短信息等資料更是可以方便地轉(zhuǎn)移。 1.2.2 Android的應(yīng)用程序框架 從軟件分層的角度來(lái)說(shuō),Android平臺(tái)由應(yīng)用程序、應(yīng)用程序框架、Android運(yùn)行時(shí)庫(kù)層以及Linux內(nèi)核共4部分構(gòu)成,本節(jié)將分別介紹各層的功能,分層結(jié)構(gòu)如圖1-1所示。 圖1-1 Android平臺(tái)架構(gòu)圖 1應(yīng)用程序?qū)?本層的所有應(yīng)用程序都是由Java編寫(xiě)的,一般情況下,很多應(yīng)用程序都是在同一系列的核心應(yīng)用程序包中一起發(fā)布的,主要有撥號(hào)程序、瀏覽器、音樂(lè)播放器、通

9、信錄等。該層的程序是完全平等的,開(kāi)發(fā)人員可以任意將Android自帶的程序替換成自己的應(yīng)用程序。 2應(yīng)用程序框架層 對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),接觸最多的就是應(yīng)用程序框架層。該應(yīng)用程序的框架設(shè)計(jì)簡(jiǎn)化了組件的重用,其中任何一個(gè)應(yīng)用程序都可以發(fā)布自身的功能供其他應(yīng)用程序調(diào)用,這也使用戶(hù)可以很方便地替換程序的組件而不影響其他模塊的使用。當(dāng)然,這種替換需要遵循框架的安全性限制。 該層主要包含以下九大部分,如圖1-2所示。 圖1-2 應(yīng)用程序框架 . 活動(dòng)管理(Activity Manager)。用來(lái)管理程序的生命周期,以及提供最常用的導(dǎo)航回退功能。 . 窗口管理(Window Manager)。用來(lái)管理所有的應(yīng)

10、用程序窗口。 . 內(nèi)容管理(Content Providers)。通過(guò)內(nèi)容管理,可以使一個(gè)應(yīng)用程序訪問(wèn)另一個(gè)應(yīng)用程序的數(shù)據(jù),或者共享數(shù)據(jù)。 . 視圖管理(View System)。用來(lái)構(gòu)建應(yīng)用程序的基本組件,包括列表、網(wǎng)格、按鈕、文本框,甚至是可嵌入的Web瀏覽器。 . 包管理(Package Manager):用來(lái)管理Android系統(tǒng)內(nèi)的程序。 . 電話管理(Telephony Manager)。所有的移動(dòng)設(shè)備的功能統(tǒng)一歸電話管理器管理。 . 資源管理(Resource Manager)。資源管理器可以為應(yīng)用程序提供所需要的資源,包括圖片、文本、聲音、本地字符串、甚至是布局文件。 . 位置

11、管理(Location Manager)。該管理器是用來(lái)提供位置服務(wù)的,比如GPRS定位等。 . 通知管理(Notification Manager)。主要對(duì)手機(jī)頂部狀態(tài)欄的管理,開(kāi)發(fā)人員在開(kāi)發(fā)Android程序時(shí)會(huì)經(jīng)常使用,比如來(lái)短信提示、電量低提示,還有后臺(tái)運(yùn)行程序的提示等。 3Android運(yùn)行時(shí)庫(kù) 該層包含兩部分,程序庫(kù)及Android運(yùn)行時(shí)庫(kù)。 程序庫(kù)為一些C/C+庫(kù),這些庫(kù)能夠被Android系統(tǒng)中不同的應(yīng)用程序調(diào)用,并通過(guò)應(yīng)用程序框架為開(kāi)發(fā)者提供服務(wù)。而Android運(yùn)行時(shí)庫(kù)包含了Java編程語(yǔ)言核心庫(kù)的大部分功能,提供了程序運(yùn)行時(shí)所需調(diào)用的功能函數(shù)。 程序庫(kù)主要包含的功能庫(kù)如圖

12、1-3所示。 圖1-3 程序庫(kù)框架 . libc。是一個(gè)從BSD繼承來(lái)的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(kù),專(zhuān)門(mén)針對(duì)移動(dòng)設(shè)備優(yōu)化過(guò)的。 . Media Framework?;赑acketVideo公司的OpenCORE。支持多種常用音頻、視頻格式回放和錄制,并支持多種圖像文件,如MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG等。 . Surface Manager。Surface Manager主要管理多個(gè)應(yīng)用程序同時(shí)執(zhí)行時(shí),各個(gè)程序之間的顯示與存取,并且為多個(gè)應(yīng)用程序提供了2D和3D圖層無(wú)縫的融合。 . SQLite。所有應(yīng)用程序都可以使用的輕量級(jí)關(guān)系型數(shù)據(jù)庫(kù)引擎。 . WebKit。是一

13、套最新的網(wǎng)頁(yè)瀏覽器引擎。同時(shí)支持Android瀏覽器和一個(gè)可嵌入的Web視圖。 . OpenGLIES。是基于OpenGL ES 1.0 API標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)的3D繪制函數(shù)庫(kù)。該函數(shù)庫(kù)支持軟件和硬件兩種加速方式執(zhí)行。 . FreeType。提供位圖(bitmap)和矢量圖(vector)兩種字體顯示。 . SGL。提供了2D圖形繪制的引擎。 Android運(yùn)行時(shí)庫(kù)包括核心庫(kù)及Dalivik虛擬機(jī),如圖1-4所示。 圖1-4 Android運(yùn)行時(shí)庫(kù) . 核心庫(kù)(Core Libraries)。該核心庫(kù)包括Java語(yǔ)言所需要的基本函數(shù)以及Android的核心庫(kù)。與標(biāo)準(zhǔn)Java不一樣的是,系統(tǒng)為每個(gè)An

14、droid的應(yīng)用程序提供了單獨(dú)的Dalvik虛擬機(jī)來(lái)執(zhí)行,即每個(gè)應(yīng)用程序擁有自己?jiǎn)为?dú)的線程。 . Dalvik虛擬機(jī)(Dalvik Virtual Machine)。大多數(shù)的虛擬機(jī)(包括JVM)都是基于棧的,而Dalvik虛擬機(jī)則是基于寄存器的,它可以支持已轉(zhuǎn)換為.dex格式的Java應(yīng)用程序的運(yùn)行。.dex格式是專(zhuān)門(mén)為Dalvik虛擬機(jī)設(shè)計(jì)的,更適合內(nèi)存和處理器速度有限的系統(tǒng)。 4Linux內(nèi)核 Android平臺(tái)中操作系統(tǒng)采用的是Linux 2.6內(nèi)核,其安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型等基本依賴(lài)于Linux。對(duì)于程序開(kāi)發(fā)人員,該層為軟件與硬件之間增加了一層抽象層,使開(kāi)發(fā)過(guò)

15、程中不必時(shí)時(shí)考慮底層硬件的細(xì)節(jié)。而對(duì)于手機(jī)開(kāi)發(fā)商而言,對(duì)此層進(jìn)行相應(yīng)的修改即可將Android平臺(tái)運(yùn)行到自己的硬件平臺(tái)之上。 1.3 Android開(kāi)發(fā)環(huán)境的搭建 本節(jié)主要講述如何構(gòu)建基于Eclipse的Android開(kāi)發(fā)環(huán)境,之后對(duì)開(kāi)發(fā)環(huán)境進(jìn)行測(cè)試并創(chuàng)建第一個(gè)Android應(yīng)用程序Hello Android。 1.3.1 SDK的下載及安裝 前面已經(jīng)對(duì)Android平臺(tái)進(jìn)行了簡(jiǎn)單的介紹,從本節(jié)開(kāi)始,將帶領(lǐng)讀者逐步搭建自己的開(kāi)發(fā)環(huán)境,具體的步驟如下。 (1)登錄到SUN官方網(wǎng)站/javase/downloads下載最新的JDK安裝程序。 (2)雙擊剛剛下載的

16、JDK安裝程序jdk-6u18-windows-i586.exe,根據(jù)提示將JDK安裝到默認(rèn)目錄。 (3)右鍵單擊我的電腦,依次選擇屬性/高級(jí)/環(huán)境變量,在系統(tǒng)變量中新建一個(gè)名為JAVA_HOME,值為“C:Program FilesJavajdk1.6.0_18”的環(huán)境變量。 (4)再打開(kāi)Path環(huán)境變量,在最后加上“C:Program FilesJavajdk1.6.0_18bin;”,單擊“確定”按鈕即可。 (5)到頁(yè)面下載最新的SDK,本書(shū)使用的版本是2.1,其他版本的安裝與配置方法基本相同。 (6)將下載好的SDK壓縮包解壓到C盤(pán)

17、根目錄下,如圖1-5所示。 圖1-5 Android SDK安裝環(huán)境(7)右鍵單擊我的電腦,依次選擇屬性/高級(jí)/環(huán)境變量,打開(kāi)Path系統(tǒng)環(huán)境變量,在其最后加上SDK的解壓目錄中的tools目錄“C:android-sdk-windowstools”,單擊“確定”按鈕完成配置,如圖1-6所示。 圖1-6 SDK環(huán)境變量配置 1.3.2 Eclipse集成開(kāi)發(fā)環(huán)境的搭建 上一小節(jié)已經(jīng)對(duì)SDK進(jìn)行了安裝與配置,本節(jié)將帶領(lǐng)讀者構(gòu)建基于Eclipse的集成開(kāi)發(fā)環(huán)境,具體步驟如下。 (1)讀者只需登錄到/downloads/即可下載最新版本的Eclipse安裝程

18、序,本書(shū)采用的版本是3.5.1。 (2)將下載好的Eclipse解壓到C盤(pán)根目錄,如圖1-7所示。 圖1-7 eclipse安裝目錄(3)雙擊C:eclipse目錄下的eclipse.exe運(yùn)行Eclipse,依次單擊菜單Help/Install New Software,如圖1-8所示。 圖1-8 Eclipse的軟件安裝 (4)單擊彈出的Install界面中的“Add”按鈕,在Name中輸入任意的名字,并在Location中輸入ADT的下載地址/android/eclipse/,如圖1-9所示。 圖1-9 填寫(xiě)ADT地址 提示 如果輸入的地址

19、不能正常下載ADT,讀者可以嘗試將/ android/eclipse/改為/android/eclipse/。如果出現(xiàn)下載的ADT與已經(jīng)安裝的SDK版本不兼容的情況,可以手動(dòng)下載ADT壓縮包,然后單擊“Archive”按鈕選擇手動(dòng)下載ADT壓縮文件即可安裝,如圖1-10所示。 圖1-10 選擇ADT壓縮文件 (5)在Install界面選中“Developer Tools”并單擊“Next”按鈕,如圖1-11所示。 圖1-11 選擇Develpoer Tools (6)在彈出的界面中,直接單擊“Fini

20、sh”按鈕,如圖1-12所示。Eclipse將彈出提示窗口,單擊“Yes”按鈕,系統(tǒng)將自動(dòng)重啟Eclipse,到此為止已經(jīng)完成ADT的安裝。 圖1-12 ADT安裝完成界面(7)重啟Eclipse后,依次選擇Window/Preferences,如圖1-13所示。 圖1-13 選擇“Preferences”菜單 (8)在彈出的窗口中選擇左側(cè)的“Android”,然后通過(guò)單擊右側(cè)的“Browse”按鈕來(lái)選擇SDK的安裝目錄,單擊“OK”按鈕完成配置,如圖1-14所示。 圖1-14 Preferences配置 1.3.3 虛擬設(shè)備的創(chuàng)建與模擬器的運(yùn)行 前幾小節(jié)已經(jīng)完成了Eclipse集成環(huán)境的搭建

21、工作,但在運(yùn)行模擬器前還需要?jiǎng)?chuàng)建AVD(Android Virtual Device,Android虛擬設(shè)備)。AVD實(shí)質(zhì)上是用來(lái)描述模擬器的屬性的,有了AVD開(kāi)發(fā)人員可以為自己的模擬器進(jìn)行必要的設(shè)置,比如屏幕尺寸、內(nèi)存等。本節(jié)將運(yùn)用之前搭建好的Eclipse環(huán)境創(chuàng)建虛擬設(shè)備并運(yùn)行模擬器,具體步驟如下。 (1)在系統(tǒng)的開(kāi)始菜單中單擊“運(yùn)行”按鈕,在彈出的窗口中輸入“cmd”進(jìn)入命令行,如圖1-15所示。 圖1-15 啟動(dòng)cmd命令行(2)通過(guò)cd命令導(dǎo)航到android的安裝目錄下的tools下,并通過(guò)android list target命令來(lái)顯示當(dāng)前可用的目標(biāo)機(jī),如圖1-16所示。 圖1-

22、16 當(dāng)前可用的目標(biāo)機(jī) (3)然后通過(guò)android create avd-name android21-target 6命令創(chuàng)建一個(gè)名為android21、目標(biāo)機(jī)id為6的AVD,創(chuàng)建的AVD默認(rèn)存放在我的文檔下,而Android的AVD并不支持中文目錄,可以通過(guò)配置ANDROID_SDK_HOME環(huán)境變量來(lái)指定所創(chuàng)建的avd的存放位置。 提示 除了使用命令行方式來(lái)創(chuàng)建AVD外,還可以使用Eclipse自帶的AVD Manager來(lái)創(chuàng)建。在Eclipse中依次選擇“Window/Android SDK and AVD Manager”打開(kāi)AVD管理界面,如圖1-17和圖1-18所示,在AVD

23、管理界面中不僅可以創(chuàng)建AVD,還可以對(duì)已經(jīng)存在的AVD進(jìn)行管理。 圖1-17 打開(kāi)AVD管理器 圖1-18 AVD管理界面 (4)在CMD命令行中導(dǎo)航到android的tools目錄后輸入emulator-avd android21命令啟動(dòng)Android模擬器,如果安裝和配置正確的話,將出現(xiàn)如圖1-19所示的模擬器界面。 圖1-19 Android2.1模擬器效果圖 提示 運(yùn)行模擬器時(shí)可能會(huì)很慢,有時(shí)甚至可能達(dá)到幾分鐘時(shí)間,如果沒(méi)有報(bào)錯(cuò),請(qǐng)讀者耐心等待。 1.3.4 第一個(gè)Android程序 前面已經(jīng)對(duì)Android的開(kāi)發(fā)環(huán)境和模擬器進(jìn)行配置,本節(jié)將帶領(lǐng)讀者構(gòu)建第一個(gè)Android程序并對(duì)該程

24、序進(jìn)行簡(jiǎn)單的講解。 1創(chuàng)建第一個(gè)Android應(yīng)用程序 (1)啟動(dòng)Eclipse,依次選擇“File/New/ OtherEclipse”將彈出創(chuàng)建項(xiàng)目的窗口,如圖1-20所示。 圖1-20 創(chuàng)建項(xiàng)目界面 (2)選擇“Android Project”,單擊“Next”按鈕,將彈出填寫(xiě)項(xiàng)目信息的界面,如圖1-21所示。 圖1-21 填寫(xiě)項(xiàng)目信息(3)填寫(xiě)如圖1-21所示的信息后單擊“Finish”按鈕即可完成項(xiàng)目的創(chuàng)建。創(chuàng)建后可在Package Explorer窗口中觀察到項(xiàng)目的目錄結(jié)構(gòu),如圖1-22所示。 圖1-22 HelloAndroid項(xiàng)目目錄結(jié)構(gòu) (4)在項(xiàng)目名上單擊鼠標(biāo)右鍵,然后依次

25、選擇“Run As/Android Application”即可運(yùn)行剛才創(chuàng)建的HelloAndroid項(xiàng)目,運(yùn)行效果圖如圖1-23所示。 圖1-23 HelloAndroid項(xiàng)目豎屏效果圖 提示 因?yàn)橛泻芏喑绦蚧蛘哂螒蚴菣M屏模式的,所以在程序調(diào)試過(guò)程中,可能需要將模擬器切換成橫屏模式,讀者可以通過(guò)使用快捷鍵Ctrl+F12來(lái)切換模擬器的橫豎屏模式,HelloAndroid程序在橫屏模擬器中運(yùn)行效果如圖1-24所示。 圖1-24 HelloAndroid項(xiàng)目橫屏效果圖 2HelloAndroid的簡(jiǎn)單講解 通過(guò)前面的學(xué)習(xí),讀者已經(jīng)能夠創(chuàng)建并運(yùn)行簡(jiǎn)單的Android程序了,但可能對(duì)Android項(xiàng)

26、目還不夠了解,接下來(lái)將通過(guò)對(duì)HelloAndroid程序的詳細(xì)介紹使讀者了解Android項(xiàng)目的目錄結(jié)構(gòu)以及HelloAndroid的運(yùn)行機(jī)理。 (1)先來(lái)看看HelloAndroid項(xiàng)目中各個(gè)目錄和文件的作用。 . src目錄,src目錄用來(lái)存放應(yīng)用程序中所有的源代碼,代碼的源文件一般是存放在相應(yīng)的包下面,我們?cè)陂_(kāi)發(fā)Android應(yīng)用程序時(shí),大部分時(shí)間都是在編寫(xiě)src中的源代碼。 . gen目錄,該目錄下一般只有一個(gè)文件,即R文件。該文件是由ADT自動(dòng)產(chǎn)生的,存放的是應(yīng)用程序中所使用的全部資源文件的ID,在應(yīng)用程序開(kāi)發(fā)過(guò)程中只是使用R文件,一般不需人工修改該文件。 . Android 2.1

27、目錄。該目錄存放的是項(xiàng)目所需要的支持.jar包。 . assets目錄。該目錄存放應(yīng)用程序中使用的外部資源文件,程序中可以通過(guò)輸入/輸出流對(duì)該目錄中的文件進(jìn)行讀寫(xiě)。 . res資源目錄:該目錄下有多個(gè)目錄,分別用來(lái)存放程序中用到的圖片、界面布局文件及XML格式的描述文件。 . AndroidManifest.xml。該文件是整個(gè)程序的系統(tǒng)控制文件,是每個(gè)應(yīng)用程序都不可缺少的。其描述了應(yīng)用程序有哪些組件、哪些資源、哪些權(quán)限等。 (2)AndroidManifest.xml文件是該項(xiàng)目的系統(tǒng)控制文件,該文件的代碼如下。 代碼位置:見(jiàn)隨書(shū)光盤(pán)中源代碼/第1章/Sample_1_1目錄下的Androi

28、dManifest.xml。 *1 2 6 7 8 10 11 12 13 14 15 16 17 . 第15行定義了程序的版本、編碼方式、用到的架構(gòu)以及該程序的所在的包與版本號(hào)。 . 第6行定義了程序在手機(jī)上的顯示圖標(biāo)及顯示名稱(chēng)。 . 第814行定義了一個(gè)名為HelloAndroid的Activity以及該Activity能夠接受的Intent。 (3)main.xml是該項(xiàng)目的布局文件,其代碼如下。 代碼位置:見(jiàn)隨書(shū)光盤(pán)中源代碼/第1章/Sample_1_1/res/Layout目錄下的main.xml。 1 2 7 12 . 第2行定義了布局方式為L(zhǎng)inearLayout,且左右和上下的

29、填充方式為fill_parent。 . 第7行中向該布局中添加了一個(gè)TextView控件,其寬度和高度模式分別為fill_parent、wrap_content,在TextView控件顯示的內(nèi)容為string.xml中的hello的內(nèi)容。 (4)項(xiàng)目的主類(lèi)HelloAndroid.java的代碼如下。 代碼位置:見(jiàn)隨書(shū)光盤(pán)中源代碼/第1章/Sample_1_1/src/wyf/ytl目錄下的HelloAndroid.java。 1 package wyf.ytl; 2 import android.app.Activity; /引入相關(guān)類(lèi) 3 import android.os.Bundle; 4 public class HelloAndroid extends Activity /定義一個(gè)Activity 5 Override 6 public void onCreate(Bundle savedInstanceState) /重寫(xiě)的onCreate回調(diào)方法 7 super.onCreate(savedInstanceState); /調(diào)用基類(lèi)的onCreate方法 8 setContentView(R.layout.main); /指定當(dāng)前顯示的布局 9 10 . 第4行是對(duì)繼

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論