Android Tutorial using Kotlin 第一堂(1)西遊記裡的那隻潑猴 by Michael | CodeData
top

Android Tutorial using Kotlin 第一堂(1)西遊記裡的那隻潑猴

分享:

1-1 西遊記

四大古典名著裡面的西遊記,應該是古今中外妖魔鬼怪最多的一部小說了,除了大家熟悉的牛魔王、白骨精、金角、銀角、蜘蛛精和其它一大堆奇形怪狀的妖精,在第七十四回上場的獅駝洞,就有「三個魔頭率領四萬七八千個吃人的小妖」,這樣還不夠,獅駝洞旁邊的獅駝國,整個國家全部是妖精!整部小說提到的大妖、小妖加起來,可能有上百萬個。雖然有這麼多可怕的吃人妖怪,不過讀起西遊記這部小說,能夠不笑出來的人還真的不多,難怪有很多人說它是一部有趣的古典童話小說。

跟其它著名的章回小說類似,例如三國演義和水滸傳,西遊記也是集合正史、民間傳說與說書人故事的章回小說。故事採用唐朝最有名的留學生唐三藏,西行到印度取經,途中經過五十幾個國家,花費十七年的時間,帶回佛經六百五十七部,並且終其一生都在翻譯這些佛經。對所有人來說,一個和尚可以完成這樣的事情,是完全無法想像而且覺得是不可能的。民間在推崇唐三藏的同時,也開始找一些比較合理的解釋。因為印度實在是太遠了,遠到無法想像,所以演變成唐三藏到「西天」取經。也因為一路上經歷太多苦難,所以加入孫悟空、豬八戒和沙悟淨來幫助他,就連唐三藏騎的馬也是海龍王的三太子變化的,否則一個凡人怎麼可能完成這樣的任務。

西遊記中的角色非常多,所有人物、神佛和妖怪的外貌與個性,都非常活潑、鮮明而且有趣,每一個看西遊記的讀者都可以找到自己喜歡的人物。西遊記裡面最主要的角色孫悟空,可能是最多人喜歡的,他在小說中出現的名字就有孫悟空、弼馬溫、齊天大聖、孫行者、金公、心猿、鬥戰勝佛,還有豬八戒經常在背後罵他的潑猢猻、雷公嘴、孤拐面。光是從這些名字,就可以把孫悟空這個角色活靈活現的呈現在你的眼前,就好像真的有這麼一隻潑猴,拿著一根棒子在你的面前跳來跳去,隨便一棒就打扁一個妖怪,一下子又變成小蟲子飛來飛去。他有銅皮鐵骨、火眼金睛、七十二變和筋斗雲的神通廣大,也有潑猴的任性和調皮,更有對唐三藏的忠心(註一),這樣一個人物,大人小孩都喜歡。看齊天大聖和所有的人物,在這部小說裡熱鬧的鬥嘴、合作和打鬥,不論什麼人、什麼時候來看,都是非常精采的好故事。

1-2 Hello! Android!

接觸Android以後,我總覺得它就像西遊記裡的孫悟空。有時候覺得它神通廣大,一路上斬妖除魔(註二),現在已經成為全世界市佔率最高的行動裝置作業系統,任何人都可以在Android發揮所有的創意,各種應用的App比孫悟空的七十二變還要多好幾倍。有時候又覺得它真是一隻令人討厭的潑猢猻,在你以為它是這樣的時候,卻又常常跟你唱反調,變來變去,改來改去,對Android開發人員來說,應該是對它最適合的形容詞。也因為這種同時另人喜愛又討厭的感覺,接觸過Android的開發人員,也享受到完全不一樣的樂趣。

雖然我覺得Android很像這隻潑猴,不過它倒不是從石頭裡蹦出來的。2003年在美國加州成立一間叫作Android的公司(Android Inc.),由Andy Rubin與其它幾位同仁一起研發「聰明的移動設備」。2005年,Google收購Android公司,雖然那個時候大家都猜不透Google的企圖,不過大家也習慣了,因為這家網路服務公司經常有這類「創新」的舉動。就在收購的新聞冷掉以後,Google在2007年送出多項移動領域的專利申請,因為那一年的一月,地球上出現了一種叫作iPhone的東西,而且讓全世界的人對它充滿了無比的愛慕,所以有很多人猜測Google可能要生產一種「足以和iPhone抗衡」的行動電話。

2007年11月答案揭曉了,在Google的領導下,成立一個開放手持設備聯盟(Open Handset Alliance),成員有Broadcom、HTC和Intel等公司,隔年又陸續加入ARM和Sony等公司。Android確定是一個以Linux為核心基礎,更加開放與自由的行動裝置作業系統。Google也同時成立Android Open Source Project,負責持續發展Android系統系統,讓全世界的開發人員設計Android應用程式,擴展它的功能和應用。

1-3 Android近代史

從2008年9月發表的Android 1.0(代號Astro),到現在已經發表很多版本,大多數的版本都有很大的改進與變化。從2009年發表的Android 1.5(代號Cupcake)開始,Android採用點心的名稱作為系統的代號:

  • Android 1.5 Cupcake 杯子蛋糕:

  • Android 1.6 Donut 甜甜圈:

  • Android 2.0 Eclair 閃電泡芙(一種法式甜點):

  • Android 2.2 Froyo 全名是FROzen YOgurt:

  • Android 2.3 Gingerbread 薑餅人:

  • Android 3.0 Honeycomb 蜂窩(不太像是一般的甜點):

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

  • Android 4.1 Jelly Bean 豆豆軟糖:

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

  • Android 5 Lollipop 棒棒糖:

  • Android 6 Marshmallow 棉花糖:

  • Android 7 Nougat 牛軋糖:

  • Android 8 Oreo:

1-4 Hello! Kotlin!

Kotlin是一個比較新的JVM程式語言,它是在2011年7月由JetBrains發表的專案,JetBrains是開發工具IntelliJ IDEA的開發商,Android Studio就是以IntelliJ IDEA為基礎的Android官方開發工具。Kotlin v1.0在2016年2月發表,是第一個由JetBrains發佈的Kotlin正式版本。

對我來說,Kotlin跟其它JVM程式語言最大的差異,倒不是架構或語法,而是2017年5月的Google開發人員大會,發佈Android支援Kotlin為官方的程式設計語言。在2017年10月發表的Android Studio 3,開發人員可以使用Kotlin開發Android App。

如果你還不認識Kotlin程式設計語言,可以參考Kotlin Tutorial系列文章

1-5 關於Android Tutorial using Kotlin

對Java技術開發人員來說,進入開發Android應用程式的領域,應該不會是太困難的事情,通常最需要的就是時間,花一些時間看看範例,翻翻書,好像就可以寫幾個還蠻像樣的App。不過以我自己的經驗來說,這樣的作法也是一連串災難的開始,所以只好告訴自己,我是在享受這些災難帶來的另一種樂趣。

大約半年前,CodeData開始出現Tutorial這個令人又喜愛又討厭的字,它通常是大家接觸一種新技術的開始,如果可能的話,應該沒有人會喜歡看這類充滿技術名詞,還有通常是沒頭沒尾,而且少的可憐的範例。不過我們通常還是沒有其它的選擇,因為你可能找不到任何書籍或比較容易閱讀的資料。

當你需要判斷一種還沒有接觸過的技術,是不是值得花費時間去學習它,或是需要挑選一個適合專案使用的技術,研讀這些技術提供的Tutorial,應該是非常困難又花時間的工作。Tutorial的價值是不用懷疑的,在開發旅程遇到許多困難的問題,通常可以從Tutorial找到清楚的答案。不過一般的Tutorial卻不適合快速的瞭解與學習一種技術,所以這個「Android Tutorial」系列的文章,試著可以讓你可以使用比較簡短的時間,快速認識開發Android應用程式的方式,還有認識Android有哪一些可以讓你發揮創意的可能性。

「Android Tutorial using Kotlin」系列文章會使用一個應用程式專案,帶領你走過開發Android應用程式需要的基本認識,還有瞭解Android與其它平台整合的應用。讓你花費比較少的時間,就可以認識Android應用程式怎麼做與可以做什麼。全部的內容分為六章、每一章有三到四節,適合你使用完整或片段的時間閱讀,也非常適合用來當作六到十二個小時的課程教材。

Android Tutorial using Kotlin系列有六堂課、二十章:

  • Android Tutorial using Kotlin 第一堂
    • (1)西遊記裡的那隻潑猴
    • (2)準備Android Studio開發環境
    • (3)開始設計Android應用程式
    • (4)開發Android應用程式的準備工作
  • Android Tutorial using Kotlin 第二堂
    • (1)建立應用程式需要的資源
    • (2)設計應用程式使用者介面
    • (3)應用程式與使用者的互動
    • (4)建立與使用Activity元件
  • Android Tutorial using Kotlin 第三堂
    • (1)為ListView元件建立自定畫面
    • (2)儲存與讀取應用程式資訊
    • (3)使用Android內建的SQLite資料庫
  • Android Tutorial using Kotlin 第四堂
    • (1)使用照相機與麥克風
    • (2)設計地圖應用程式 – Google Maps Android API v2
    • (3)讀取裝置目前的位置 – Google Services Location
  • Android Tutorial using Kotlin 第五堂
    • (1) 建立廣播接收元件 – BroadcastReceiver
    • (2) 系統通知服務 – Notification
    • (3) 設計小工具元件 – AppWidget
  • Android Tutorial using Kotlin 第六堂
    • (1) Material Design – Theme與Transition
    • (2) Material Design – RecylerView
    • (3) Material Design – Shared Element 與 Floating Action Button

1-6 使用說明

Android Tutorial using Kotlin是為了可以快速學習與認識Android應用程式開發技術而設計的課程,如果你還沒有接觸過Android應用程式開發技術,建議你從頭開始,依照順序從環境建立、規劃與設計與所有的主題,完整學習與認識Android應用程式開發技術。

如果你已經接觸過Android應用程式開發技術,只是想學習某一個應用,例如SQLite資料庫,你可以參考下列的步驟直接學習需要的主題:

  1. 參考第一堂的說明或自己建立好Android應用程式開發環境。
  2. https://github.com/macdidi5/Android-Tutorial-Kotlin 下載範例程式。
  3. 在Android Studio開啟前一章的範例程式專案,以「3-3 使用Android內建的SQLite資料庫」來說,開啟前一章「3-2 儲存與讀取應用程式資訊」應用程式專案。
  4. 在模擬或實體裝置測試與瞭解範例應用程式。
  5. 依照內容開始學習與實作。

參考資料:

註:

  1. 雖然大部份的人認為孫悟空是因為頭上的金箍兒,只要唐三藏使用必殺技「緊箍咒」,這隻潑猴就不得不乖乖聽話。不過在第二十七回,唐三藏因為誤會趕走孫悟空,而且發誓不再唸緊箍咒,後來孫悟空還是因為心軟又回來保護唐三藏。
  2. Android從出現到普及這短短的幾年之間,的確讓一些行動裝置作業系統走向歷史,也讓iOS不再保持獨大的優勢,不過我絕對沒有說它們是「妖魔鬼怪」的意思,只是個人在Android和孫悟空之間的聯想,請各平台的擁護者見諒。

後續 >> Android Tutorial using Kotlin 第一堂(2)建立Android Studio開發環境

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

熱門論壇文章

熱門技術文章