> 本安卓新手教程轉(zhuǎn)載自 [CodeData](http://www.codedata.com.tw/)的 Android Tutorial系列教程 并作了簡(jiǎn)體中文轉(zhuǎn)換(陸續(xù)更新中~)

你可以在[Google Play圖書](https://play.google.com/store/books/details?id=H3IACQAAQBAJ)或[Pubu](http://www.pubu.com.tw/ebook/Android-Tutorial-49027)購(gòu)買“Android Tutorial”電子書,采用ePub格式重新編排,在[GitHub](https://github.com/macdidi5/AndroidTutorial)公開所有范例程式。
## 西游記
四大古典名著里面的西游記,應(yīng)該是古今中外妖魔鬼怪最多的一部小說了,除了大家熟悉的牛魔王、白骨精、金角、銀角、蜘蛛精和其它一大堆奇形怪狀的妖精,在第七十四回上場(chǎng)的獅駝洞,就有“三個(gè)魔頭率領(lǐng)四萬(wàn)七八千個(gè)吃人的小妖”,這樣還不夠,獅駝洞旁邊的獅駝國(guó),整個(gè)國(guó)家全部是妖精!整部小說提到的大妖、小妖加起來,可能有上百萬(wàn)個(gè)。雖然有這么多可怕的吃人妖怪,不過讀起西游記這部小說,能夠不笑出來的人還真的不多,難怪有很多人說它是一部有趣的古典童話小說。
跟其它著名的章回小說類似,例如三國(guó)演義和水滸傳,西游記也是集合正史、民間傳說與說書人故事的章回小說。故事采用唐朝最有名的留學(xué)生唐三藏,西行到印度取經(jīng),途中經(jīng)過五十幾個(gè)國(guó)家,花費(fèi)十七年的時(shí)間,帶回佛經(jīng)六百五十七部,并且終其一生都在翻譯這些佛經(jīng)。對(duì)所有人來說,一個(gè)和尚可以完成這樣的事情,是完全無法想像而且覺得是不可能的。民間在推崇唐三藏的同時(shí),也開始找一些比較合理的解釋。因?yàn)橛《葘?shí)在是太遠(yuǎn)了,遠(yuǎn)到無法想像,所以演變成唐三藏到“西天”取經(jīng)。也因?yàn)橐宦飞辖?jīng)歷太多苦難,所以加入孫悟空、豬八戒和沙悟凈來幫助他,就連唐三藏騎的馬也是海龍王的三太子變化的,否則一個(gè)凡人怎么可能完成這樣的任務(wù)。
西游記中的角色非常多,所有人物、神佛和妖怪的外貌與個(gè)性,都非?;顫?、鮮明而且有趣,每一個(gè)看西游記的讀者都可以找到自己喜歡的人物。西游記里面最主要的角色孫悟空,可能是最多人喜歡的,他在小說中出現(xiàn)的名字就有孫悟空、弼馬溫、齊天大圣、孫行者、金公、心猿、斗戰(zhàn)勝佛,還有豬八戒經(jīng)常在背后罵他的潑猢猻、雷公嘴、孤拐面。光是從這些名字,就可以把孫悟空這個(gè)角色活靈活現(xiàn)的呈現(xiàn)在你的眼前,就好像真的有這么一只潑猴,拿著一根棒子在你的面前跳來跳去,隨便一棒就打扁一個(gè)妖怪,一下子又變成小蟲子飛來飛去。他有銅皮鐵骨、火眼金睛、七十二變和筋斗云的神通廣大,也有潑猴的任性和調(diào)皮,更有對(duì)唐三藏的忠心(注一),這樣一個(gè)人物,大人小孩都喜歡??待R天大圣和所有的人物,在這部小說里熱鬧的斗嘴、合作和打斗,不論什么人、什么時(shí)候來看,都是非常精采的好故事。
## Hello! Android!
接觸Android以后,我總覺得它就像西游記里的孫悟空。有時(shí)候覺得它神通廣大,一路上斬妖除魔(注二),現(xiàn)在已經(jīng)成為全世界市占率最高的行動(dòng)裝置作業(yè)系統(tǒng),任何人都可以在Android發(fā)揮所有的創(chuàng)意,各種應(yīng)用的App比孫悟空的七十二變還要多好幾倍。有時(shí)候又覺得它真是一只令人討厭的潑猢猻,在你以為它是這樣的時(shí)候,卻又常常跟你唱反調(diào),變來變?nèi)?,改來改去,?duì)Android開發(fā)人員來說,應(yīng)該是對(duì)它最適合的形容詞。也因?yàn)檫@種同時(shí)另人喜愛又討厭的感覺,接觸過Android的開發(fā)人員,也享受到完全不一樣的樂趣。
雖然我覺得Android很像這只潑猴,不過它倒不是從石頭里蹦出來的。2003年在美國(guó)加州成立一間叫作Android的公司(Android Inc.),由Andy Rubin與其它幾位同仁一起研發(fā)“聰明的移動(dòng)設(shè)備”。2005年,Google收購(gòu)Android公司,雖然那個(gè)時(shí)候大家都猜不透Google的企圖,不過大家也習(xí)慣了,因?yàn)檫@家網(wǎng)絡(luò)服務(wù)公司經(jīng)常有這類“創(chuàng)新”的舉動(dòng)。就在收購(gòu)的新聞冷掉以后,Google在2007年送出多項(xiàng)移動(dòng)領(lǐng)域的專利申請(qǐng),因?yàn)槟且荒甑囊辉?,地球上出現(xiàn)了一種叫作iPhone的東西,而且讓全世界的人對(duì)它充滿了無比的愛慕,所以有很多人猜測(cè)Google可能要生產(chǎn)一種“足以和iPhone抗衡”的移動(dòng)電話。
2007年11月答案揭曉了,在Google的領(lǐng)導(dǎo)下,成立一個(gè)開放手持設(shè)備聯(lián)盟(Open Handset Alliance),成員有Broadcom、HTC和Intel等公司,隔年又陸續(xù)加入ARM和Sony等公司。Android確定是一個(gè)以Linux為核心基礎(chǔ),更加開放與自由的行動(dòng)裝置作業(yè)系統(tǒng)。Google也同時(shí)成立Android Open Source Project,負(fù)責(zé)持續(xù)發(fā)展Android系統(tǒng)系統(tǒng),讓全世界的開發(fā)人員設(shè)計(jì)Android應(yīng)用程式,擴(kuò)展它的功能和應(yīng)用。
## Android近代史
從2008年9月發(fā)表的Android 1.0(代號(hào)Astro),到現(xiàn)在短短幾年的時(shí)間,總共已經(jīng)發(fā)表11個(gè)版本,大多數(shù)的版本都有很大的改進(jìn)與變化。從2009年發(fā)表的Android 1.5(代號(hào)Cupcake)開始,Android采用點(diǎn)心的名稱作為系統(tǒng)的代號(hào),目前最新的Android 5代號(hào)是Lollipop:
* Android 1.5 Cupcake 杯子蛋糕:

* Android 1.6 Donut 甜甜圈:

* Android 2.0 Eclair 閃電泡芙(一種法式甜點(diǎn)):

* Android 2.2 Froyo 全名是FROzen YOgurt:

* Android 2.3 Gingerbread 姜餅人:

* Android 3.0 Honeycomb 蜂窩(不太像是一般的甜點(diǎn)):

* Android 4.0 Ice Cream Sandwich 冰淇淋三明治:

* Android 4.1 Jelly Bean 豆豆軟糖:

* Android 4.4 KitKat 巧克力糖(由Nestle發(fā)售的一種巧克力):

* Android 5 Lollipop 棒棒糖:

## 關(guān)于Android Tutorial
對(duì)Java技術(shù)開發(fā)人員來說,進(jìn)入開發(fā)Android應(yīng)用程式的領(lǐng)域,應(yīng)該不會(huì)是太困難的事情,通常最需要的就是時(shí)間,花一些時(shí)間看看范例,翻翻書,好像就可以寫幾個(gè)還蠻像樣的App。不過以我自己的經(jīng)驗(yàn)來說,這樣的作法也是一連串災(zāi)難的開始,所以只好告訴自己,我是在享受這些災(zāi)難帶來的另一種樂趣。
大約半年前,CodeData開始出現(xiàn)Tutorial這個(gè)令人又喜愛又討厭的字,它通常是大家接觸一種新技術(shù)的開始,如果可能的話,應(yīng)該沒有人會(huì)喜歡看這類充滿技術(shù)名詞,還有通常是沒頭沒尾,而且少的可憐的范例。不過我們通常還是沒有其它的選擇,因?yàn)槟憧赡苷也坏饺魏螘虮容^容易閱讀的資料。
當(dāng)你需要判斷一種還沒有接觸過的技術(shù),是不是值得花費(fèi)時(shí)間去學(xué)習(xí)它,或是需要挑選一個(gè)適合專案使用的技術(shù),研讀這些技術(shù)提供的Tutorial,應(yīng)該是非常困難又花時(shí)間的工作。Tutorial的價(jià)值是不用懷疑的,在開發(fā)旅程遇到許多困難的問題,通??梢詮腡utorial找到清楚的答案。不過一般的Tutorial卻不適合快速的了解與學(xué)習(xí)一種技術(shù),所以這個(gè)“Android Tutorial”系列的文章,試著可以讓你可以使用比較簡(jiǎn)短的時(shí)間,快速認(rèn)識(shí)開發(fā)Android應(yīng)用程式的方式,還有認(rèn)識(shí)Android有哪一些可以讓你發(fā)揮創(chuàng)意的可能性。
“Android Tutorial”系列文章會(huì)使用一個(gè)應(yīng)用程式專案,帶領(lǐng)你走過開發(fā)Android應(yīng)用程式需要的基本認(rèn)識(shí),還有了解Android與其它平臺(tái)整合的應(yīng)用。讓你花費(fèi)比較少的時(shí)間,就可以認(rèn)識(shí)Android應(yīng)用程式怎么做與可以做什么。全部的內(nèi)容分為六章、每一章有三到四節(jié),適合你使用完整或片段的時(shí)間閱讀,也非常適合用來當(dāng)作六到十二個(gè)小時(shí)的課程教材。在系列專欄文章連載完成以后(可能會(huì)早一些),也會(huì)以電子書在Google Play圖書上架。
參考資料:
* 西游記校注 / 吳承恩原著 ; 徐少知校 ; 朱彤, 周中明注 / 里仁書局
* Android Developer:[http://developer.android.com/](http://developer.android.com/)
注:
1. 雖然大部份的人認(rèn)為孫悟空是因?yàn)轭^上的金箍?jī)?,只要唐三藏使用必殺技“緊箍咒”,這只潑猴就不得不乖乖聽話。不過在第二十七回,唐三藏因?yàn)檎`會(huì)趕走孫悟空,而且發(fā)誓不再唸緊箍咒,后來孫悟空還是因?yàn)樾能浻只貋肀Wo(hù)唐三藏。
2. Android從出現(xiàn)到普及這短短的幾年之間,的確讓一些行動(dòng)裝置作業(yè)系統(tǒng)走向歷史,也讓iOS不再保持獨(dú)大的優(yōu)勢(shì),不過我絕對(duì)沒有說它們是“妖魔鬼怪”的意思,只是個(gè)人在Android和孫悟空之間的聯(lián)想,請(qǐng)各平臺(tái)的擁護(hù)者見諒。
課程相關(guān)的檔案都可以GitHub瀏覽與下載。
[?https://github.com/macdidi5/AndroidTutorial](https://github.com/macdidi5/AndroidTutorial)
- 第一堂
- 第一堂(1)西游記里的那只猴子
- 第一堂(2)準(zhǔn)備 Android Studio 開發(fā)環(huán)境
- 第一堂(3)開始設(shè)計(jì) Android 應(yīng)用程式
- 第一堂(4)開發(fā) Android 應(yīng)用程式的準(zhǔn)備工作
- 第二堂
- 第二堂(1)規(guī)劃與建立應(yīng)用程式需要的資源
- 第二堂(2)設(shè)計(jì)應(yīng)用程式使用者界面
- 第二堂(3)應(yīng)用程式與使用者的互動(dòng)
- 第二堂(4)建立與使用 Activity 元件
- 第三堂
- 第三堂(1)為L(zhǎng)istView元件建立自定畫面
- 第三堂(2)儲(chǔ)存與讀取應(yīng)用程式資訊
- 第三堂(3)Android 內(nèi)建的 SQLite 數(shù)據(jù)庫(kù)
- 第四堂
- 第四堂(1)使用照相機(jī)與麥克風(fēng)
- 第四堂(2)設(shè)計(jì)地圖應(yīng)用程式 - Google Maps Android API v2
- 第四堂(3)讀取裝置目前的位置 - Google Services Location
- 第五堂
- 第五堂(1)建立廣播接收元件 - BroadcastReceiver
- 第五堂(2)系統(tǒng)通知服務(wù) - Notification
- 第五堂(3)設(shè)計(jì)小工具元件 - AppWidget
- 第六堂
- 第六堂(1)Material Design - Theme與Transition
- 第六堂(2)Material Design - RecylerView
- 第六堂(3)Material Design - Shared Element與自定動(dòng)畫效果
