Android安卓手機(jī)系統(tǒng)程序員入門(中文版)_第1頁
Android安卓手機(jī)系統(tǒng)程序員入門(中文版)_第2頁
Android安卓手機(jī)系統(tǒng)程序員入門(中文版)_第3頁
Android安卓手機(jī)系統(tǒng)程序員入門(中文版)_第4頁
Android安卓手機(jī)系統(tǒng)程序員入門(中文版)_第5頁
已閱讀5頁,還剩285頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

中文版Android程序員入門

目錄

中文版Android程序員入門.........................................................1

目錄...........................................................................1

關(guān)于本博客的主題............................................................4

第一章什么是Android.......................................................................................................1

什么是Android-嵌入式設(shè)備編程的歷史-第一章(1)..................................................1

開放手機(jī)聯(lián)盟和Android-(2)........................................................................................3

介紹Android第一章(3)....................................................................................................4

Android示例-第四章(4)............................................................................................5

Android的幾個(gè)示例-第四章(5)................................................................................6

第二章下載和安裝Eclipse總則....................................................8

下載和安裝Eclipse總則-第二章(1)........................................................................8

下載和安裝JRE-第二章(2)........................................................................................9

下載和安裝Eclipse-第二章(3)................................................................................11

第三章下載和安裝AndroidSDK.............................................................................................13

下載和安裝AndroidSDK-第三章(1).......................................................................13

下載AndroidSDK-第三章(2)..................................................................................14

為Eclipse酉己置AndroidPlugin-第三章(3).............................................................16

第四章瀏覽AndroidSDK........................................................................................................19

瀏覽AndroidSDK-第四章(1)..................................................................................19

AndroidSDK是什么-第四章(2).............................................................................20

Android文檔-第四章(3).........................................................................................20

Android示例-第四章(4)..........................................................................................21

Android的幾個(gè)示例-第四章(5)..............................................................................22

Android工具-第四章(6)..........................................................................................24

AndroidAPIs-第四章(7)...........................................................................................25

應(yīng)用程序生命周期-第四章(8)....................................................................................27

第五章Android程序:HelloWorld!.........................................................................................29

Android程序:HelloWorld!-第五章(1).....................................................................29

仔細(xì)查看Android創(chuàng)建的文件-第五章(2)....................................................................32

引用庫和目錄-第五章(3)..............................................................................................33

HelloWorid!自動(dòng)產(chǎn)生文件的詳解-第五章(4)...........................................................35

HellowWorld!再來一次-第五章(5)............................................................................39

HelloWorld!使用一個(gè)圖形-第五章(6).......................................................................42

HelloWorld!代碼為基的UI-第五章(7)....................................................................44

HelloWorld!XML為基的UI-第五章(8)..................................................................46

第六章使用命令行工具和Android模擬器..........................................49

使用命令行工具和Android模擬器-第六章(1)............................................................49

利用WindowsCLI創(chuàng)建一個(gè)殼活動(dòng)-第六章(2)..........................................................49

運(yùn)行ActivityCreator.bat-第六章(3)..............................................................................50

項(xiàng)目結(jié)構(gòu)-第六章(4)................................................................................................53

在WindowsCLI下創(chuàng)建HelloWorld!活動(dòng)-第六章(5)...........................................60

增加JAVA_HOME第六章(6)..................................................................................61

編譯并安裝應(yīng)用程序第六章(7)......................................................................................62

如果運(yùn)行ANT時(shí)出錯(cuò)該怎么辦?第六章(8).................................................................62

用adb安裝你的應(yīng)用程序第六章(9).............................................................................68

運(yùn)行應(yīng)用程序產(chǎn)生了一個(gè)錯(cuò)誤怎么辦-第六章(10)......................................................69

卸載一個(gè)較早的活動(dòng)-第六章(11).................................................................................70

重新安裝并啟動(dòng)應(yīng)用程序-第六章(12)....................................................................71

Linux上的HelloWorld!第六章(13).........................................................................71

在CLI中創(chuàng)建一個(gè)圖片基礎(chǔ)的HelloWorld!第六章(14)..........................................74

第七章使用Intents和電話撥號盤................................................75

使用Intents和電話撥號盤第七章(1)...........................................................................75

Intents是什么?第七章(2).............................................................................................76

使用撥號盤第七章(3).....................................................................................................82

從你的活動(dòng)中打出電話第七章(4)..................................................................................86

編輯活動(dòng)許可第七章(5).................................................................................................88

修改AndroidPhoneDialer第七章(6).............................................................................91

執(zhí)行一個(gè)EditTextView第七章(7).................................................................................97

試試這個(gè):修改AndoridPhoneDialer項(xiàng)目第七章(8)................................................101

第八章列表,菜單和其它Views..........................................................................................105

列表,菜單和其它Views第八章(1)............................................................................105

修改AndroidManifest.xml文件第八章(2)...................................................................108

使用菜單第八章(3).......................................................................................................112

為AutoComplete創(chuàng)建一個(gè)活動(dòng)第八章(4)..................................................................117

按鈕第八章(5)...............................................................................................................127

CheckBox第八章(6).....................................................................................................133

EditText第八章(7).........................................................................................................140

RadioGroup第八章(8)..................................................................................................146

Spinner第八章(9).........................................................................................................154

試試這個(gè):修改更多的View屬性第八章(10)............................................................161

第九章使用手機(jī)的GPS功能....................................................162

使用手機(jī)的GPS功能第九章(1).................................................................................162

什么是軌跡文件第九章(2)............................................................................................166

使用Android位置基礎(chǔ)API讀取GPS第九章(3).......................................................167

書寫代碼來允許活動(dòng)第九章(4)....................................................................................173

傳遞坐標(biāo)到Google地圖第九章(5).............................................................................175

增加縮放控制第九章(6)................................................................................................180

試試這個(gè):在MapView之間轉(zhuǎn)換第九章(7)...............................................................187

第十章使用GoogleAPI的Gtalk...........................................................................................194

使用GoogleAPI的GTalk第十章(1)..........................................................................194

在Android中執(zhí)行GTalk第十章(2).............................................................................196

編譯并運(yùn)行GoogleAPI第十章(3)................................................................................206

試試這個(gè):為GoogleAPI活動(dòng)增加設(shè)置特性第十章(4).............................................208

第十一章應(yīng)用程序:找一個(gè)朋友.................................................209

應(yīng)用程序:找-個(gè)朋友第十一章(1).................................................................................209

創(chuàng)建一個(gè)SQLite數(shù)據(jù)庫第H-一章(2)...............................................................................210

創(chuàng)建一個(gè)定制的ContentProvider第H—■章(3)............................................................212

創(chuàng)建ContentProvider第H??一章(4).................................................................................215

創(chuàng)建FindAFriend活動(dòng)第十一章(5)................................................................................230

創(chuàng)建NameEditor活動(dòng)第H-一章(6).................................................................................233

創(chuàng)建LocationEditor活動(dòng)第一|一章(7)............................................................................239

創(chuàng)建FriendsMap活動(dòng)第H"一章(8).................................................................................252

創(chuàng)建FindAFriend活動(dòng)第I一章(9)................................................................................261

運(yùn)行FindAFriend活動(dòng)第十一章(10)...............................................................................266

AndroidSDK工具參考第卜二章(完)..........................................267

AndroidSDK工具參考第十二章(完)....................................267

AndroidSDK1.5-包裝索弓I.........................................................................................................276

關(guān)于本博客的主題

因?yàn)楸救藢??些智能手持設(shè)備感興趣,像手機(jī),GPS等,所以在以往的博客里會涉及到

很多這方面的內(nèi)容。最近,看到谷歌發(fā)布了Android這個(gè)開發(fā)平臺,也就是說可以自己為谷

歌的手機(jī),也就是國內(nèi)所說的遨應(yīng)寫軟件。所以,迫不及待的上網(wǎng)找一些資料?,發(fā)現(xiàn)可以

參考的資料寥寥無幾。而且絕大部分是英文版的。這不能不說是對國內(nèi)的手機(jī)編程愛好者是

一個(gè)很大的障礙。

我的想法是自己的學(xué)習(xí)的同時(shí).,通過自己的英文能力,把一些好的英文教材翻譯出來,

然后在這個(gè)空間里放出來,使國內(nèi)想學(xué)習(xí)Android編程的人能有一個(gè)快速學(xué)習(xí)的機(jī)會。為何

選擇在這里發(fā)布,主要的原因是,我原先的博客里有很多其它的內(nèi)容,所以不容易管理。而

放在這里會比較容易管理和更新,而不至于讓博客的主題顯得不集中。

目前,我做的第一個(gè)項(xiàng)目就是翻譯一本叫做:AndroidAProgrammer'sGuide(Android

程序員向?qū)В┻@樣一本教材。全書一共300多頁。計(jì)劃在今年6月份之前結(jié)束這個(gè)項(xiàng)目。

在翻譯和發(fā)布的過程中,為了節(jié)約時(shí)間,會把其中的插圖省略。如果大家感興趣,可以下載

英文版,對照插圖使用。

第一章什么是Android

什么是Android-嵌入式設(shè)備編程的歷史-第一章(1)

暫時(shí)可以這樣說,傳統(tǒng)的桌面應(yīng)用程序開發(fā)者已經(jīng)被慣壞了。這個(gè)不是說桌

面應(yīng)用程序開發(fā)比其他開發(fā)很簡單??傊鳛樽烂鎽?yīng)用程序開發(fā)者,我們已經(jīng)有

能力按照我們的想法創(chuàng)造出各種應(yīng)用程序。包括我自己,因?yàn)槲乙彩菑淖鲎烂娉?/p>

序開始的。一方面,我們已經(jīng)使得桌面程序更容易的與桌面操作系統(tǒng)來進(jìn)行交互,

并且和任何底部的硬件很自由的交互。這種類型獨(dú)立自主的程序編制其實(shí)對于很

小的開發(fā)者團(tuán)體來說是不敢貿(mào)然趟手機(jī)開發(fā)這趟渾水的。

注意:

在本部分討論中,我提到兩種不同的開發(fā)者:傳統(tǒng)的桌面應(yīng)用程序開發(fā),

他們能使用任何的編程語言,而且最終的產(chǎn)品和程序是用來運(yùn)行“桌面”操作系

統(tǒng)的;還有就是Android的程序開發(fā)者,為Android平臺開發(fā)程序的JAVA程序

員。我不是想說誰更好或者其它的意圖。區(qū)別僅僅在于想說明并比較桌面操作系

統(tǒng)環(huán)境的開發(fā)風(fēng)格,工具。

有很長一段時(shí)間,手機(jī)的開發(fā)者由大的著名開發(fā)組中的少數(shù)人組成,作為嵌

入式設(shè)備的開發(fā)者。相對于桌面開發(fā)或者后續(xù)的網(wǎng)絡(luò)開發(fā),被視作更少“魅力”,

而且嵌入式設(shè)備的開發(fā)通常因?yàn)橛布筒僮飨到y(tǒng)而處于劣勢。因?yàn)榍度胧皆O(shè)備的

制造商們太小氣,他們要保護(hù)他們硬件方面的秘密,所以他們給開發(fā)者們非常有

限的庫來運(yùn)行。

嵌入設(shè)備與桌面系統(tǒng)顯著不同的一部分是嵌入設(shè)備是個(gè)“芯片上的電腦”。

例如:說起你的標(biāo)準(zhǔn)電話遙控。這個(gè)并不是一個(gè)非常強(qiáng)大并且復(fù)雜性的技術(shù)。當(dāng)

任何的按鈕被按下去,一個(gè)芯片解釋一個(gè)信號以一種方式已經(jīng)被編程進(jìn)了設(shè)備。

這個(gè)允許設(shè)備知道什么是從輸入設(shè)備(鍵盤)來的需要。并且如何的響應(yīng)這些命

令(比如,打開電視機(jī))。這個(gè)是一個(gè)簡單的嵌入式設(shè)備的編程。總之,不管你

相不相信,像這樣的簡單設(shè)備絕對的和早期的手機(jī)和開發(fā)有著緊密的聯(lián)系。

大多數(shù)的嵌入式設(shè)備運(yùn)行(有些還在運(yùn)行)在私有的操作系統(tǒng)。原因是選擇

并創(chuàng)建一個(gè)私有的操作系統(tǒng)而不同定制的系統(tǒng)是產(chǎn)品必然選擇。簡單的設(shè)備不需

要非常健全和優(yōu)化的操作系統(tǒng)。

作為一個(gè)產(chǎn)品的演化,更多復(fù)雜的嵌入式設(shè)備,如早期的PDA,家庭安全系

統(tǒng)和GPS等。5年前某種程度上都轉(zhuǎn)移標(biāo)準(zhǔn)的操作系統(tǒng)平臺上。小的操作系統(tǒng)如

Linux,或者一個(gè)微軟的嵌入式平臺,已經(jīng)在嵌入設(shè)備上變得普遍了。設(shè)備演變的

那些時(shí)間里,卜機(jī)口門口的路彳令開始分31":。|這個(gè)分支是顯而易見的。

差不多開始的時(shí)候,手機(jī)作為一個(gè)外圍設(shè)備并且運(yùn)行私有軟件,而這些軟

件被制造商們所擁有和控制,而且?guī)缀蹩梢员徽J(rèn)為是一個(gè)“關(guān)閉”的系統(tǒng)。習(xí)慣

使用私有操作系統(tǒng)主要是制造商自己開發(fā)硬件,或者至少定義了開發(fā)的目的只是

用來運(yùn)行手機(jī)。最終的結(jié)果就是使開放成為不可能。現(xiàn)有的軟件包或者解決方案

會可靠的和他們的硬件交互。而且,制造商想要保護(hù)他們硬件的商業(yè)秘密。以防

允許進(jìn)入而發(fā)現(xiàn)設(shè)備軟件的水準(zhǔn)。所以風(fēng)尚就是,而且大多數(shù)仍然是使用完全私

有并且關(guān)閉的軟件來運(yùn)行他們的設(shè)備。任何人想為手機(jī)開發(fā)程序必須需要詳盡的

私有環(huán)境來而解決方案就是直接從制造商那里購買昂貴的開發(fā)

工具。這就孤立了很多的“自制軟件”的開發(fā)者。

注意:

一個(gè)關(guān)于?制軟件開發(fā)的文化包含了手機(jī)程序的開發(fā)?!白灾栖浖笔侵搁_發(fā)者

通常不是工作在手機(jī)開發(fā)公司內(nèi),通常利用自己的時(shí)間在他們的設(shè)備上生產(chǎn)小

的,一次性的產(chǎn)品。

另外,使手機(jī)開發(fā)無法出手的是硬件制造商對于“內(nèi)存和需要”左右為難的

解決方案。直到最近,手機(jī)才能執(zhí)行比打出和接聽電話,查找聯(lián)系人,發(fā)送和接

收短消息。不是今天“瑞士軍刀”的技術(shù)。及時(shí)在2002年,在消費(fèi)者的手上,

帶照相機(jī)的手機(jī)還是不多見。在1997年,小的應(yīng)用程序如計(jì)算器和游戲爬進(jìn)了

手機(jī)內(nèi),但是強(qiáng)大的功能仍然是手機(jī)的撥號盤本身。手機(jī)還不想今天一樣是一個(gè)

多用途,多功能工具。沒有人預(yù)見互聯(lián)網(wǎng)瀏覽的需求,MP3播放,或者更多的是

我們今天定制的功能。在1997年,手機(jī)制造商們沒有預(yù)見消費(fèi)者需要的是一個(gè)

?體化的設(shè)備。但是,即使這個(gè)需求展現(xiàn)出來,設(shè)備內(nèi)存和存儲容量還是一個(gè)需

要克服的大的障礙。更多的人可能想要他們的設(shè)備是一個(gè)多功能一體化的工具,

但是制造商們不許跨越他們的障礙。

讓問題變得簡單,就要在任何的設(shè)備讓內(nèi)存來存儲并運(yùn)行程序,包括手機(jī)。

手機(jī)作為一個(gè)設(shè)備,直到最近還沒有足夠多內(nèi)存來執(zhí)行“額外”的程序。在最近

的兩年里,內(nèi)存的價(jià)格已經(jīng)達(dá)到了非常低的水平。設(shè)備制造商們有足夠的能力壓

低價(jià)格來包含更多的內(nèi)存。很多的現(xiàn)在的手機(jī)標(biāo)準(zhǔn)內(nèi)存已經(jīng)超過了90年代中期

電腦內(nèi)存。于是,現(xiàn)在我們有需求,而且有內(nèi)存。我們可以直接跳到為手機(jī)開發(fā)

酷的應(yīng)用程序了,對嗎?不完全是這樣。設(shè)備的制造商們?nèi)匀痪o密的保護(hù)他們的

操作系統(tǒng)。有一些在手機(jī)上開放JAVA為基礎(chǔ)的小運(yùn)行環(huán)境。更多的是不允許。

即使允許運(yùn)行JAVA應(yīng)用程序但還是不允許進(jìn)入核心的系統(tǒng)。而這些是桌面開發(fā)

者習(xí)慣于擁有的。

開放手機(jī)聯(lián)盟和Android-(2)

這個(gè)對于應(yīng)用程序開發(fā)的障礙開始在2007年的11月份被打破,當(dāng)Google在開放手機(jī)聯(lián)

盟下發(fā)布Android1,開放手機(jī)聯(lián)盟是一個(gè)硬件和軟件開發(fā)者的集合,包括谷歌,NTT

DoCoMo,SprintNextel和HTC。他們的目標(biāo)是創(chuàng)建一個(gè)更多的開放手機(jī)環(huán)境。在開放聯(lián)盟第

一個(gè)被發(fā)布的產(chǎn)品就是移動(dòng)設(shè)備操作系統(tǒng)Android。(更多關(guān)于開放手機(jī)聯(lián)盟的信息,見:

www.openhandsetalliance,com)。

對于這個(gè)Android的發(fā)布,谷歌使很多開發(fā)工具和向?qū)С蔀榭赡軄韼椭谛?/p>

系統(tǒng)上可能的開發(fā)者。幫助系統(tǒng),平臺軟件開發(fā)包(SDK),甚至一個(gè)開發(fā)者的論

壇,可以在谷歌的Android的網(wǎng)站上找到,http可/code.google,com/android.

這個(gè)網(wǎng)站應(yīng)該是你的起點(diǎn),而且我極度推薦你去訪問。

注意:

谷歌為了推動(dòng)這個(gè)新的Android操作系統(tǒng),甚至為尋找新的Android程序而設(shè)立

了1000萬美元的獎(jiǎng)金。

運(yùn)行Linux,Windows或者即使PalmOS的手機(jī)是很容易找到,如本文所述,

沒有硬件平臺已經(jīng)宣告可以來運(yùn)行Android.HTC,LG電子,摩托羅拉和三星都是

開發(fā)手機(jī)成員,在Android的發(fā)布下,我們希望在不久的將來有一?些Android

為基的設(shè)備。在2007年11月發(fā)布時(shí),系統(tǒng)自身還仍舊是一個(gè)測試版的程序。這

是個(gè)對開發(fā)者的好新聞因?yàn)樗o了我們一個(gè)罕見的提前看到將來的設(shè)備和有機(jī)

會來開始開發(fā)應(yīng)用程序,而當(dāng)硬件發(fā)布時(shí)就可以運(yùn)行。

注意:

這個(gè)策略明確的給了開放手機(jī)聯(lián)盟一個(gè)大的優(yōu)勢,超越其它手機(jī)操作系統(tǒng)開發(fā)

者。因?yàn)楫?dāng)?shù)谝淮O(shè)備發(fā)布時(shí)會有數(shù)不盡的可用開發(fā)程序可以運(yùn)行。

介紹Android第一章(3)

Android,作為一個(gè)系統(tǒng),是一個(gè)運(yùn)行在Linux2.6核心上的JAVA基礎(chǔ)的操

作系統(tǒng)。系統(tǒng)是非常輕量型的而且全特性。

圖顯示了一個(gè)未經(jīng)修改的Android桌面屏幕。

Android應(yīng)用程序用JAVA開發(fā)而且很容易被放置到新的平臺上。如果你沒

有下載JAVA或者不確定那一個(gè)版本你需要,我在第二章詳細(xì)列出了開發(fā)環(huán)境的

安裝。其他Android的特點(diǎn)包括一個(gè)加速3-D圖形引擎(基于硬件支持),被

SQLite推動(dòng)的數(shù)據(jù)庫支持,和一個(gè)完整的網(wǎng)頁瀏覽器。

如果你熟悉JAVA編程或者是任何種類的OOP開發(fā)者,你可能使用程序用戶

接口(UI)開發(fā)-那就是,UI安置是直接在程序代碼中有句柄的。Android,識

別并許可UI開發(fā),而且支持新生,XML為基礎(chǔ)的UI布局。XMLUI布局對普通桌

面開發(fā)者是一個(gè)非常新的概念。我會在本書的相關(guān)章節(jié)里描述XMLUI布局和程

序化UI開發(fā)。

Android另一個(gè)更令人激動(dòng)和關(guān)注的特點(diǎn)是因?yàn)樗臉邮?,第三方?yīng)用程序

——包括“自制的”——會和系統(tǒng)捆綁的有著同樣的優(yōu)先權(quán)。這是和大多數(shù)系統(tǒng)

不同之處,但是給了嵌入式系統(tǒng)程序一個(gè)比由第三方開發(fā)者創(chuàng)建的線性優(yōu)先權(quán)大

的優(yōu)先執(zhí)行權(quán)。而且,每一個(gè)應(yīng)用程序在虛擬計(jì)算機(jī)上以一個(gè)非常輕量的方式按

照自己的線路執(zhí)行。

除了大量的SDK和成型的類庫可以用之外,對激動(dòng)人心的特性對于Android

的開發(fā)者來說是我們現(xiàn)在可以進(jìn)入到操作系統(tǒng)可以進(jìn)入的地方。也就是說,如果

你要?jiǎng)?chuàng)建一個(gè)應(yīng)用程序打一個(gè)電話,你已經(jīng)進(jìn)入到電話的撥號盤。加入你要?jiǎng)?chuàng)建

一個(gè)應(yīng)用程序來使用電話內(nèi)部的GPS(如果安裝了),你已經(jīng)進(jìn)入了。對于開發(fā)

者創(chuàng)建動(dòng)態(tài)和令人好奇的程序已經(jīng)敞開大門。

和上面這些可用的特點(diǎn)相同,谷歌已經(jīng)非常迫切的奉送一些特性。Android

的開發(fā)者可以將自己的應(yīng)用程序和谷歌提供的如谷歌地圖和無所不在的谷歌搜

索綁在一起。假設(shè)你要寫程序在谷歌地圖上顯示一個(gè)來電話者的的位置,或者你

要儲存一般的搜索結(jié)果到你的聯(lián)系人中。在Android中,這個(gè)門已經(jīng)完全打開。

第二章開始你Android的開發(fā)旅程。你會學(xué)到如何和為什么使用特定的開發(fā)環(huán)境

或者綜合的開發(fā)環(huán)境(IDE),而且你會下載并且安裝JAVAIDEEdipse.

問專家:

Q:谷歌和開放手機(jī)聯(lián)盟的區(qū)別在哪里?

A:谷歌是開放手機(jī)聯(lián)盟的一個(gè)成員。谷歌在收購了Android的原開發(fā)后,在開放

手機(jī)聯(lián)盟發(fā)布了操作系統(tǒng)。

Q:Android有能力運(yùn)行任何的Linux軟件嗎?

A:沒必要。我堅(jiān)信會有一種方式繞開大多數(shù)的開源系統(tǒng)和應(yīng)用程序用Android

SDK編譯而用于Android。主要原因是Android程序執(zhí)行特定的文件格式,這會

在后續(xù)的章節(jié)中討論。

Android示例-第四章(4)

Android示例在SDK/SAMPLES內(nèi),包含了6個(gè)示例可以很好的描述Android

的一些功能:

?APIDemos

?Hello,Activity!

?LunarLander

?NotePad

?SkeletonApp

?Snake

這些示例由谷歌提供來給你一個(gè)快速的印象,那就是如何快速的開發(fā)

Android的應(yīng)用程序。每一個(gè)應(yīng)用程序描述Android不同功能的一一塊。你可以用

Eclipse打開并且運(yùn)行這些應(yīng)用程序。下面是對于每一個(gè)示例的簡要描述。

APIDemos

這個(gè)API示例應(yīng)用程序說明在一個(gè)單獨(dú)的Activity內(nèi)如何展示多個(gè)API功能的示

例。

提示:

一個(gè)Activity是一個(gè)Android的應(yīng)用程序。Activities會在后續(xù)的章節(jié)中深入展開。

如下圖(略)所示的,這個(gè)API示例應(yīng)用程序包好了很多的,小的不同的Android

功能的例子。這些例子包含3-D圖形變換,列表,過程對話框和一個(gè)手指-畫圖

示例O

運(yùn)行API樣本示例應(yīng)用程序

使用Eclipse,裝載API示例應(yīng)用現(xiàn)場作為一個(gè)Android項(xiàng)目。要做到這個(gè),在

Eclipse菜單選擇文件|新建|項(xiàng)目,一個(gè)新的Android項(xiàng)目向?qū)?dòng)?,F(xiàn)在不用

擔(dān)心向?qū)ы撁嫔系囊恍┻x項(xiàng)。只是選擇從現(xiàn)有的項(xiàng)目中創(chuàng)建項(xiàng)目就好了,并且瀏

覽到API示例所在的目錄,點(diǎn)擊這個(gè)示例。當(dāng)項(xiàng)目裝載好了,選擇運(yùn)行,在Android

模擬器中來查看。用你自己的方式去查看超過40個(gè)示例吧,使用每一個(gè)示例去

熟悉這些術(shù)語和功能。

Android的幾個(gè)示例?第四章(5)

Hello,Activity!

Hello,Actoviry應(yīng)用程序,是一個(gè)簡單的HelloWorld風(fēng)格的應(yīng)用程序。雖然設(shè)

計(jì)簡單,但是它展示了平臺的能力。在下一章,你會創(chuàng)建自己的Hell。World!風(fēng)

格的程序。

LunarLander月球登陸

LunarLander是一個(gè)在Android模擬器上玩的游戲。這個(gè)游戲是2-D的游戲它

在Android上工作是多么的簡單??刂品浅5暮唵?,而且游戲不是非常的復(fù)雜。

總之,對游戲開發(fā)來說是一個(gè)良好的開始。

月球登陸執(zhí)行一個(gè)簡單控制方案(上,下,左,右)。游戲同時(shí)顯示相關(guān)的非固

定的圖形并且對平臺來說,令人印象深刻。復(fù)雜游戲的理論如沖突檢出是以一個(gè)

簡單的方式使用的。雖然本書沒有包含Android平臺游戲編程的內(nèi)容,加入你有

興趣來做這個(gè),你或許可以從月球登陸中獲得某些啟發(fā)。

NotePad寫字板

NotePad,允許你打開,創(chuàng)建并且編輯小的筆記。寫字板不是一個(gè)全功能的字符

編輯器,所以不要期待是和WindowsMobile中word的競爭對手。但是,作為

一個(gè)演示工具,使用非常少的代碼就能實(shí)現(xiàn)這個(gè)效果已經(jīng)非常的棒了。

SkeletonApp框架應(yīng)用

SkeletonApp這是一個(gè)基本的程序,展示了兒個(gè)不同的應(yīng)用程序功能。如字體,

按鈕,圖形和表格。如果你想自己運(yùn)行SkeletonApp,真的不應(yīng)當(dāng)把它排除在

外,參考SkeleteApp,它會提供不少關(guān)于如何執(zhí)行特定的條款。

Snake蛇

最有一個(gè)在AndroidSDK的示例就是這個(gè)蛇了。這是一個(gè)小的SNAFU風(fēng)格游

戲,比月球登陸復(fù)雜。

注意:

如果你打開每一個(gè)示例應(yīng)用程序的文件夾,你會看到一個(gè)文件夾命名為src。這

個(gè)是給出示例源代碼的文件夾。你可以為其他任何的應(yīng)用程序來查看,編輯并且

重新編譯這些代碼。利用這些源代碼來學(xué)一些Android平臺技巧和提示。

第二章下載和安裝Eclipse總則

下載和安裝Eclipse總則-第二章(1)

-關(guān)鍵技能&概念

一選擇一個(gè)開發(fā)環(huán)境

一下載Eclipse

-安裝和配置Eclipse

Android應(yīng)用程序是在JAVA下開發(fā)的。Android自身不是一個(gè)語言,但是是

一個(gè)運(yùn)行應(yīng)用程序的環(huán)境。這樣,理論上你可以使用任何發(fā)布或者綜合開發(fā)環(huán)境

(IDE)來開始你的開發(fā)。事實(shí)上,你可以選擇非IDE開發(fā)。

提示:

在本章稍后,我會介紹不使用IDE或者“命令行接口”(CLI)來開發(fā)Android

應(yīng)用程序。這期間,我不會在書中的每一個(gè)例子都使用這種技術(shù),你將會學(xué)到如

何在CLI里開發(fā)的基礎(chǔ)知識。

假如你對使用JAVA的IDE比較舒服,如Borland的JBuilder或者開源

NetBeans,你可以盡管去使用。有了中等的水平的經(jīng)驗(yàn),你應(yīng)當(dāng)可以適應(yīng)本書大

部分的例子。但是,開放手機(jī)聯(lián)盟和谷歌認(rèn)同一個(gè)JAVA的IDE,那就是:Eclipse.

注意:

如果你選擇不用Eclipse來跟從本書的例子,你需要看看你的IDE文檔關(guān)于

編譯和測試你的Android的程序。書中的例子只給了如何在Eclipse中編譯和測

試程序的說明,在Eclipse中使用Android的plugin。

本章簡明的描述了如何下載和安裝Eclipse以及所要求的JAVARuntime

Environment(JRE)o很多的時(shí)候,安裝向?qū)Ш徒滩内呄蛴谔^簡單的步驟。我

已經(jīng)發(fā)現(xiàn)跳過簡單的步驟經(jīng)常忽略重要的條目。因?yàn)檫@個(gè)原因,我在本章內(nèi)包含

了從下載到安裝的所有步驟。

為什么是Eclipse?

為什么Eclipse是推薦的Android程序開發(fā)的IDE呢?對這個(gè)特定的認(rèn)同有

一些原因:

1、為了保持開發(fā)手機(jī)聯(lián)盟真正開放移動(dòng)開發(fā)市場的宗旨,Eclipse是有著

同樣顯著特點(diǎn)的,免費(fèi)的JavaIDE可以使用。Eclipse同樣容易使用,最少的

學(xué)習(xí)時(shí)間。這些特性讓Eclipse對于固定的,開放的Java開發(fā)成為吸引人的IDE。

2、開發(fā)手機(jī)聯(lián)盟已經(jīng)為Eclipse發(fā)布了一個(gè)Android的plugin,允許你來

創(chuàng)建Android-定義項(xiàng)目,編譯它們,并且使用Android模擬器來運(yùn)行和調(diào)試程

序。當(dāng)你開發(fā)你的第一個(gè)Android程序時(shí),這些工具和能力將會是非常寶貴的。

你還是可以用其它的IDE來創(chuàng)建Android程序,但是Android的plugin為Elipse

創(chuàng)建某些元素——如,文件和編譯設(shè)定。這些來自Android-plugin的幫助將縮

短你寶貴的開發(fā)時(shí)間并減少學(xué)習(xí)的彎路,那就意味著你可以花費(fèi)更多的時(shí)間來創(chuàng)

建驚人的應(yīng)用程序了。

注意:

Elipse同樣也可用于蘋果和Linux系統(tǒng),有著強(qiáng)大的能力,在不同的操作系統(tǒng),

意味著兒乎每個(gè)人可以在任何的電腦上開發(fā)Android的應(yīng)用程序。不過,本書的

例子和電腦截圖覺來自與微軟Windows版本的Eclipse。記住這一點(diǎn),如果你使

用其他的電腦操作系統(tǒng)。你的界面可能看上去會有輕微的不同,但是總體的功能

不會改變。如果在Linux的Eclipse有一些主要的操作不同點(diǎn)的話,我會舉例說

明。我會舉出一些在Linux上的列子。而主要的例子會是Linux/Android的命令

行環(huán)境(CLE)o

下載和安裝JRE-第二章(2)

在你下載和安裝Eclipse之前,你必須確保在電腦上下載并安裝了Java

RuntimeEnvironment(JRE)。因?yàn)镋clipse作為一個(gè)程序是由Java寫成,它

要求JRE來運(yùn)行。如果JRE沒有安裝或被檢測到,如果你試著打開Eclipse,你

會看見下面的錯(cuò)誤:

AJavaRuntimeEnvironment(JRE)orJavaDevelopmentKit(JDK)

mustbeavailableinordertorunEclipse.NoJavavirtualmachine

foundaftersearchingthefollowinglocations:

C:\Android\tclip5e\jre\b1n\javw.exe

javaw.exeinyourcurrentPATH

如果你已經(jīng)是一個(gè)Java的開發(fā)者并且已經(jīng)在電腦上安裝了Java,你還是要

按照提示安裝,確保安裝了正確版本的JRE。

注意:

大多數(shù)使用過網(wǎng)絡(luò)或者以網(wǎng)絡(luò)為基礎(chǔ)的應(yīng)用程序的人,安裝過JRE。JRE允許你

運(yùn)行Java基礎(chǔ)的應(yīng)用程序,但是它不允許你去創(chuàng)建它。要?jiǎng)?chuàng)建Java應(yīng)用程序,

你需要下載并安裝JavaDevelopmentKit(JDK),這個(gè)包含了創(chuàng)建Java應(yīng)用程

序所需的所有工具和庫。如果你不熟悉Java,記住這一點(diǎn)就行了。對于書中提到

的例子,我會下載JDK,因?yàn)樗舶薐RE.雖然你不需要JDK來運(yùn)行Eclipse,

但是你還是可以在本書后續(xù)章節(jié)的開發(fā)中使用。

導(dǎo)航到Sun公司的下載頁面,http://developers,sun.com/down1oads/,如

下面的插圖(略)所示。正常情況你只需要JRE來運(yùn)行Eclipse,但是對于本書

的目的,你應(yīng)當(dāng)下載包含了JRE的完整的JDK,下載JDK的原因是在本書的后面,

我會提到只使用JDK而非Eclipse來開發(fā)Android程序。如果你想跟從教材的話,

你會需要完整的JDKo

從SUN的下載頁面,導(dǎo)航到適當(dāng)JDK的下載部分。選擇并下載,如下圖(略):

對于書中例子,我選擇使用Java5JDKUpdata14,因?yàn)樵贓clipse文檔中

明確說明這是個(gè)支持的版本。要下載Java5JDK,選擇你要下載的平臺來下載。

你可能簡單的跟著下載Java6JDK。但是,如果你要下載舊的JDK5,你需要點(diǎn)

擊前一個(gè)發(fā)布的鏈接,如圖(略):

注意:

下載前,你必須同意并接受Sun公司的專利使用權(quán)轉(zhuǎn)讓協(xié)定。

在JavaSe以前一個(gè)發(fā)布下載頁面,點(diǎn)擊J2SE5.0下載鏈接,然后點(diǎn)擊JDK

5.0Updatex下載按鈕,x是最后的升級號碼(14是本書寫的時(shí)候的號碼,你

下載的時(shí)候可能會有所不同)。

如果你正在下載一個(gè)到微軟Windows的環(huán)境,當(dāng)你見到如下圖(略)所示的

通知時(shí),點(diǎn)擊Run來開始JDK的安裝。

提醒:

如果你想要保存一份JDK包的備份,點(diǎn)擊Save而并非Run??傊?,當(dāng)你選

擇保存了JDK,確保注意保存位置。在下載結(jié)束后,你需要導(dǎo)航到下載位置并且

手動(dòng)執(zhí)行安裝包。

在安裝期間,你會被提醒閱讀協(xié)議,如下圖(略)。同意之后,點(diǎn)擊Next,

然后就可以選擇你的定制安裝選項(xiàng)了。

這里只有一點(diǎn)你需要改變的,除非你是一個(gè)成熟使用Java的人并且需要選

擇特定的選項(xiàng),在這種情況下,請自由的改變你需要的安裝選項(xiàng)。下面是JavaJDK

安裝的定制安裝圖(略)。

為了保持過程的簡單性,并且完全地標(biāo)準(zhǔn)化,你應(yīng)當(dāng)接受軟件自身的安裝建

議——選擇缺省的設(shè)定——并且點(diǎn)擊Next來繼續(xù)安裝。再次強(qiáng)調(diào),如果你想要

訂制改變,請按照你自己的方式進(jìn)行??傊绻诤竺娴恼鹿?jié)你遇到麻煩,你

會需要修改你的安裝選項(xiàng)。當(dāng)安裝完成的頁面出現(xiàn),如下圖:(略),點(diǎn)擊Finish,

然后你的安裝就會完成。

一旦你完成JavaJDK的安裝——而且根據(jù)缺省,JRE也會安裝——你可以

開始安裝EclipseT=

下載和安裝Eclipse-第二章(3)

導(dǎo)航到www.eclipse.org/downloads的下載頁面,如下圖(略)。根據(jù)開放段落

申明,需要JRE運(yùn)行環(huán)境(推薦Java5JRE)來開發(fā)Eclipse,而這個(gè)我們已經(jīng)

在上節(jié)描述過了。在這個(gè)站點(diǎn)下載為Java開發(fā)者準(zhǔn)備的Eclipse的IDE。軟件

包比較小(79MB)并且應(yīng)當(dāng)下載很快。確保你不是下載了EclipseIDEforJava

EE的開發(fā)包,因?yàn)檫@個(gè)是有點(diǎn)不同的產(chǎn)品而且我不會介紹它的使用說明。

在你下載了Elipse以后,是時(shí)候來安裝它了。導(dǎo)航到軟件包下載的位置。寫

這本書的時(shí)候,最新的Eclipse軟件包Windows版本的文件是

eelipse-java-curopa-fal12-win32.zip.解壓縮軟件包并且運(yùn)行Eclipse,exe。

Eclipse按照缺省方式安裝到以用戶目錄(微軟Windows),但是你或許想安裝到

你的程序文件目錄下。這樣會保持你應(yīng)用程序的有序而且允許你設(shè)定不同的目錄

作為工作空間。下圖(略)顯示了軟件啟動(dòng)的歡迎畫面。

注意:

如果你沒有看見歡迎畫面,試著重新啟動(dòng)電腦。如果重啟后沒有幫助的話,只下

載并安裝Java5JREo

一旦Eclipse安裝開始,你會被提醒來創(chuàng)建一個(gè)缺省的工作空間,或者文件

夾。和其他大多數(shù)開發(fā)環(huán)境一樣,項(xiàng)目被創(chuàng)建,并且保存到這個(gè)工作空間內(nèi)。缺

省的工作空間路徑是你的用戶路徑,選擇不同路徑,點(diǎn)擊Browse來導(dǎo)航。如圖

(略)。

我建議你同樣也選中選擇框來定義你所有的項(xiàng)目到一個(gè)工作空間。選中這個(gè)

框,當(dāng)創(chuàng)建新項(xiàng)目時(shí),你就會少一個(gè)需要擔(dān)心的事情,而且你總是會知道在哪個(gè)

路徑里能找到你的源文件。在本書內(nèi),有時(shí)你需要導(dǎo)航到項(xiàng)目文件,并且在

Android開發(fā)環(huán)境的外部工作,所以知道你文件的所在位置是非常有幫助的。

選擇工作空間之后,點(diǎn)擊0K。在這里,你的開發(fā)環(huán)境被下載好和安裝。雖

然Eclipse的安裝似乎很快,你仍然需要在創(chuàng)建你的第一個(gè)Android項(xiàng)目前配置

Eclipseo很多的配置工作都是和AndroidSDK和Androidplugin有關(guān)。

下一步你需要下載并安裝AndroidSDK,并且為Eclipse下載并安裝Android

plugino然后配置Eclipse設(shè)定。在第三章的結(jié)尾,你會有一個(gè)可以開發(fā)應(yīng)用程

序的完整的開發(fā)環(huán)境。然后你會瀏覽AndroidSDK并且在第五章創(chuàng)建你的第一個(gè)

HelloWorld!應(yīng)用程序。

問專家

Q:Eclipse是用來開發(fā)Java的,但是Android能運(yùn)行其他語言所寫的程序嗎?

A:寫這本書時(shí),沒有SDK或者模擬器可以讓Android來運(yùn)行Java以外的程序。

Q:能使用Eclipse(和AndroidSDK)和JRE非5的版本一起工作嗎?

A:技術(shù)上說你可以使用Eclipse和版本5或者更新的版本一起工作,但是最新

版本的Eclipse僅僅在Java5JRE上進(jìn)行過測試。

第三章下載和安裝AndroidSDK

下載和安裝AndroidSDK?第三章(1)

關(guān)鍵技能和概念

-下載AndroidSDK

-使用Eclipse的可升級特性

-為Eclipse下載,安裝并配置AndroidPlugin

-檢查PATH聲明

在前面的章節(jié)中,你下載并安裝了主要的開發(fā)環(huán)境,Eclipse?,F(xiàn)在,你的

原始開發(fā)環(huán)境已經(jīng)建立了,使用Eclipse作為你的JavaIDE,你可以用它來開

發(fā)Java的應(yīng)用程序。你必須以某種方式來配置它,以減輕Android的開發(fā)。

因?yàn)镋clipse是Java開發(fā)環(huán)境,你可以很簡單的創(chuàng)建并編輯Java項(xiàng)目。但

是,如果沒有可以理解的庫,規(guī)定Android應(yīng)用程序應(yīng)當(dāng)如何工作,你就無法開

發(fā)任何應(yīng)用可以在Android為基礎(chǔ)的設(shè)備上運(yùn)行的程序。要開始創(chuàng)建Android

項(xiàng)目,你需要下載并安裝AndroidSDK。然后你需要為Eclipse下載相關(guān)的

Androidplugiin來使用SDK。有了這些部件的支撐,你就可以開始開發(fā)工作了。

如果你已經(jīng)擁有任何的開發(fā)經(jīng)驗(yàn),很可能你已經(jīng)熟悉使用SDK的過程。桌面

程序的開發(fā)者,不管在哪一種的開發(fā)平臺上開發(fā),使用SDK來創(chuàng)建他們希望運(yùn)行

的系統(tǒng)上的應(yīng)用程序。AndroidSDK和其它的SDK相比沒有任何的不同,它包含

了所有的創(chuàng)建運(yùn)行在特有的Android平臺上應(yīng)用程序所需的Java代碼庫。SDK

還包括幫助文件,文檔和Android模擬器,大量的開發(fā)和調(diào)試工具。

注意:

第四章深入的闡述了AndroidSDK大多數(shù)的功能。

作為開始,你準(zhǔn)備從谷歌Android開發(fā)網(wǎng)站上下載AndroidSDK,網(wǎng)址:

http:〃code.google,com/android谷歌Android開發(fā)的主頁上包含為Android

平臺開發(fā)的大量有價(jià)值的工具和文檔,包括鏈接到Android開發(fā)者論壇。

提示:

如果你在開發(fā)的過程中遇到問題,你第一個(gè)找答案的地方應(yīng)該就是Android開發(fā)

者論壇。http:〃code,google.com/android/groups.html.這里有新手,開發(fā)者

和黑客的討論組。并且一個(gè)常規(guī)問題討論組??紤]到Android是一個(gè)全新的平臺,

Android開發(fā)者論壇是較少的能找到綜合,可靠信息的地方。

下載AndroidSDK-第三章(2)

從谷歌的http://code.google,com/android網(wǎng)頁可以很容易的找到Android

SDK軟件包。從開發(fā)的主頁,點(diǎn)擊下載SDK的鏈接開始。在你同意了AndroidSDK

的軟件許可協(xié)議后,你會看見AndroidSDK的下載頁面。AndroidSDK軟件包對

于Windows版本是79MB大小,你應(yīng)當(dāng)能夠很快的下載。根據(jù)你的操作系統(tǒng)選擇

軟件包開始下載。

注意:

軟件包的大小根據(jù)不同的操作系統(tǒng)可能不一樣。

說到AndroidSDK,這里沒有“setup”或者安裝過程。這里,你必須跟著下面

一些列的設(shè)置,在Eclipse開發(fā)環(huán)境里配置AndroidSDK。第一步是獲得Android

plugin,然后配置它。

為Eclipse下載和安裝AndroidPlugin,設(shè)置AndroidSDK的第一步就是為

Eclipse開發(fā)環(huán)境下載和安裝AndroidPlugin。Plugin的下載和安裝可以同時(shí)

進(jìn)行,而且非常的簡單。

1.打開Eclipse應(yīng)用程序,你將會下載為EclipseIDE準(zhǔn)備的AndroidPlugin。

2.選擇幫助|軟件升級|尋找和安裝。

3.在安裝/升級的窗口,會允許你執(zhí)行安裝和下載在Eclipse任何可用的plugin,

點(diǎn)擊搜索新特性選項(xiàng),然后點(diǎn)擊下一步。

4.UpdatesitestoVisit這個(gè)窗口會列出所有可獲得Eclipseplugin的網(wǎng)站。

但是,你所需要的AndroidforEclipse沒有列在這里,所以要下載這個(gè)Android

plugin你必須要告訴Eclipse到哪里去找它。所以點(diǎn)擊NewRemoteSite這個(gè)

按鈕。

5.在NewRemoteSite對話框內(nèi),你要提供兩個(gè)信息:網(wǎng)站的名稱和網(wǎng)址。名字

只是便于顯示并不影響下載。我們可以輸入AndroidPlugino在URL字段。輸

入:https://dl-ssl.google,com/android/clipse.點(diǎn)擊OK。

注意:

這里填寫的名字只是幫助你識別。你可以輸入任何你想要的名字。

6.現(xiàn)在新的站點(diǎn)AndroidPlugin應(yīng)當(dāng)在可用的站點(diǎn)列表上了。這時(shí),Eclipse

還沒有開始尋找plugin,這只是個(gè)路徑你告訴Eclipse。

7.選中Androidplugin的選擇框然后點(diǎn)擊完成。Eclipse開始任何可用的

plugino

8.在搜索結(jié)果頁面,選擇AndroidPlugin然后點(diǎn)擊完成。

9.在特性安裝的許可頁面,點(diǎn)擊接受許可協(xié)議,然后點(diǎn)下一步。

注意:

記住所有的plugin都安裝在/eclipse/plugins的路徑里。這個(gè)信息會幫助你假

如你需要自己放置Androidplugin。

10.Ecli

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論