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

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

分享:

專欄作者新書出版:Android App程式開發剖析 第三版(適用Android 8 Oreo與Android Studio 3)

你可以在 Google Play 圖書 或是 Pubu(飽讀) 購買「Android 6 Tutorial」電子書,採用ePub格式編排。

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),到現在短短幾年的時間,總共已經發表11個版本,大多數的版本都有很大的改進與變化。從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 棉花糖:

1-4 Android 6 Marshmallow

Android 6 Marshmallow(API level 23)在2015/09/30發表正式版,有下列幾個主要的變化與新功能:

  • Runtime Permissions:在Android 6 Marshmallow之前,如果應用程式需要使用裝置的儲存或網路設備,還有使用通訊錄資料,需要在主要設定檔加入授權的設定,使用者在安裝應用程式的時候,會出現詢問使用者是否同意授權的對話框。從Android 6(API level 23)開始,使用者在執行應用程式以後,使用到需要授權的功能時,才會出現詢問的對話框。如果使用者不同意授權,開發人員必須關閉需要授權的相關功能。
  • Apache HTTP Client:移除原來的Apache HTTP Client API,設定為Android 2.3 (API level 9)或更新版本的應用程式,改用HttpURLConnection替代,和網頁應用程式執行HTTP連線的工作。
  • Notification:移除Notification.setLatestEventInfo()方法,改用Notification.Builder執行通知的建立與設定。
  • Text Selection:使用者選擇文字的時候,可以使用浮動工具列(floating toolbar)顯示相關的功能,例如複製、剪下與貼上。
  • Android Design Library:在Android Support Library提供更分便的Material Design設計類別庫,包含可以從側邊滑出的功能表「Navigation drawer」、輸入元件的浮動標籤「Floating labels for editing text」、浮動功能按鈕「Floating Action Button」、畫面底部浮現的訊息框「Snackbar」、標籤頁與收縮工具列

Android 6 Marshmallow(API level 23)完整的資訊,可以參考開發人員網站 http://developer.android.com/about/versions/marshmallow/index.html

1-5 關於Android Tutorial

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

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

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

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

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

1-6 使用說明

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

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

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

參考資料:

註:

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

課程相關的檔案都可以GitHub瀏覽與下載。

http://github.com/macdidi5/Android-6-Tutorial

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

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

相關文章

留言

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

熱門論壇文章

熱門技術文章