人非生而知之者,孰能無惑?
惑而不從師,其為惑也終不解矣。
                                       韓愈「師說」


當我們把玩手機上各種五花八門的App時,不禁會好奇,究竟這些程式是怎麼設計出來的?為什麼可以用手指頭滑來滑去,而且還能有這麼多種功能!許多人都想要一窺其中的奧秘。想投入Android App開發的初學者通常都會有一些疑問,像是究竟要具備哪些背景才能夠加入開發Android App的行列?要如何開始?…在此提供一些個人的經驗和建議供大家參考。

Q:學習Android App開發要先具備哪些技能?

在回答這個問題之前先說一個故事:從前有二個和尚要到「天竺」取經,其中一個和尚很有錢,為了要完成這段遙遠的旅程,他開始準備一艘船,還有沿途要用到的所有物資。另一位和尚很窮,身無分文,簡單準備一些隨身物品,隔天就啟程出發。一年後窮和尚取經回到家鄉,遇到富有的和尚。富有的和尚說:「我還沒有準備周全,你怎麼已經取經回來了!」

學習App開發確實需要一些基本技能,但是這不會是阻礙你入門的條件。已經具備足夠技術的人可以比較快速地前進,如果缺乏相關的技術和經驗,也可以從比較基本的實作範例下手。遇到疑問就找答案,程式設計就是「做中學」,只要找到適合自己的方法,條條道路通羅馬。

基本上開發Android App需要用到下列三項技術:

1. Java程式語言

如果你已經會寫Java程式,恭喜你!開發Android App對你來說就像如魚得水。就算沒有寫過Java程式,只要會用C/C++寫程式,甚至只用過VB都可以。因為這些程式語言的語法架構差別不大,只是使用的關鍵字和格式有些不差異。學過其中一種之後,很快就可以學會另一種。而且也沒有要求要到很厲害的階段,只要會用判斷式、迴圈、變數、陣列,這些基本的語法即可。在學習開發App的過程中,程式設計技術自然會隨著實作經驗不斷地提升。

2. 物件導向觀念和基本用法

Java是完全物件導向式的程式語言,Android App也完全採用物件導向架構。物件導向的觀念並不難,只要透過適當的範例和說明,很快就能夠瞭解它的基本用法。至於其它的進階技巧,可以透過後續的實作經驗來學習。

3. 事件驅動(event-driven)的系統架構

圖形操作介面型態的作業系統都是採用事件驅動模式,Android也是其中之一。例如當你按下程式畫面中的按鈕時,就會產生一個「按下按鈕」的事件,Android系統會主動執行App設定的方法。這個原理也不難,只要透過適當的範例和解說,這能夠瞭解它的用法。

Q:學習Android App開發要從哪裡著手?

在網路上或是書局都可以找到很多有關Android App開發的參考資料,Android官方網站也有相關的技術文件。對於初學者而言,比較重要的是學習的連貫性和完整性。開發Android App不單是學習Java程式語言和如何使用Android SDK。Eclipse或是Android Studio開發工具的操作方式,往往也是初學者遇到的難題。這些開發工具的功能非常強大,可以協助我們編輯程式碼、設計程式畫面、檢查和管理App專案、除錯…。如果懂得利用這些功能,可以大大提升開發程式的效率。否則不僅浪費打字的時間,而且容易出錯。因此建議初學者要好好學習並且善用開發工具的功能,以達到「事半功倍」的效果。

Q:Android App究竟有哪些功能?哪些部分是我應該學的?

Android App的功能遠比傳統PC程式要多得多,光從程式的操作介面來看,Android App就可以做出非常多的變化,再加上拍照、影音播放/錄製、地圖、定位、2D/3D繪圖、SQLite資料庫…,還有最近興起的Android Wear穿戴式裝置。看到這些琳瑯滿目的功能,往往令人不知從何下手。對於初學者來說,應該先學會使用基本的介面元件、以及Fragment和動畫技術。一來可以先熟悉Eclipse或是Android Studio開發工具的操作和功能,也可以藉此瞭解Android App的架構。而且具備這些UI的基礎之後,才能夠做出比較專業的操作畫面。接著再選定的一個應用領域,繼續學習相關的技術,最後就能夠實作出一個功能完整的App。

Android App開發其實是一個很有趣的領域,它可以做出很多生活化的應用。而且當你看到自己的程式在手機上執行時,心裡一定會有幾分的滿足感。心動了嗎?現在就加入學習Android App開發的行列吧!Let’s go!

 

    全站熱搜

    androidstation 發表在 痞客邦 留言(7) 人氣()