2009年2月2日星期一

Android 應用程式開發課程 @ 台灣

Android phone development training courses

從 2009 年以來,陸陸續續都接到一些電話或信,要我開 Android 相關的課程。老實說,對於 Android 的了解,我不敢說是專家,樣樣都懂的很專精。不過,過去這段時間,還是累積了些開發 Android 程式的實際經驗,再加上我個人過去將近二十年,各式程式開發與管理經歷當底,應該有些東西可以拿出來和大家分享。

因此,還是決定在 2009 年花點時間準備教材,和有興趣進入 Android 領域的同好們,一起分享我個人過去的學習經驗,與自己在開發 Android 手機程式時如何解決種種問題的的心得。並期待能帶領上課的學員一步一步地,一窺 Android 程式設計的奧妙,並培養學員有獨立完成 Android 應用程式之能力。

關於我開的 Android 課程,不管是內容或是其他方面,要提意見的,也都歡迎在這篇文章上留言。

不過,有句話說的好,『師父領進門,修行在個人』。千萬不要期望說,上個課就什麼都會了。天下沒有白吃的午餐,有些東西還是要自己親身走一遭,才會明白與了解。我想上課最大的好處是,透過有系統與組織的解說,降低你學習的門檻與加快進入的速度。我個人估計是 14 個小時的入門課程,大概可以幫你減少約 0.5~1 個月的自我摸索時間。剩下的,還是要靠自我的練習。

首先要開的是 Android 應用程式開發的入門課程,這是專門為了從未接觸過 Android 應用程式開發的程式開發人員,所設計的課程。不過你還是得具備 Java 語言的基礎,或是會 C++ 或是 C# 等其他物件導向語言。要不然,上實作課時,你只能坐在一邊,乾瞪眼了。

這個入門課程,總時數是 14 個小時,其中實作的部份約 4 個小時,課程的內容大綱如下:

  1. 熟悉 Android 開發環境,Android 模擬器,及如何快速建立程式
  2. Android 平台簡介,架構介紹,特色與提供之功能
  3. 深入瞭解 Android 程式之基本框架,與如何有效率地偵錯程式
  4. 各式使用者介面元件之基礎設計
  5. 各式使用者介面元件之進階設計
  6. 自定使用者介面元件與繪圖功能介紹,與如何支持多國語言
  7. 深入剖析 Application, Activity & Service
  8. 資料儲存與綜合實作

除了入門課程外,我還規畫了一些進階課程。首先,要開的進階課程是『Android 網際網路與地圖應用開發』。這是 7 個小時一天上完的課。要上這個課的,你一定要先具備基礎的 Android 應用開發能力與經驗。

這個課程主要介紹 Android 平台之網路應用基礎知識與架構,並教你如何在 Android 平台上,開發網路應用程式。課程中,我也會傳授 Android 內建之網頁元件的進階使用技巧;如何透過 GPS 抓取地理座標,與結合地圖元件之應用應如何有效開發的秘訣。課程的內容大綱如下:

  1. 瞭解Android 平台之網路應用基礎知識與架構
  2. 熟悉 Android HTTP-based 網路應用程式開發
  3. 網頁元件 (WebView) 之進階開發技巧
  4. 抓取地理座標
  5. 結合地圖元件 (MapView) 之 LBS 應用開發

底下是計畫開的課程:

日期地點課程名稱難易度
11/17,18 星期三四高雄Android手機平台及應用開發實務系列
工研院
進階
10/20,21 星期三四高雄Android手機平台及應用開發實務系列
工研院
基礎
10/13,14 星期三四新竹Android手機平台及應用開發實務系列
工研院
進階
9/15,16 星期三四新竹Android手機平台及應用開發實務系列
工研院
基礎
8/4,5 星期三四台北Android手機平台及應用開發實務系列
工研院
進階
7/7,8 星期三四台北Android手機平台及應用開發實務系列
工研院
基礎
1/16,17 星期六日台北Android嵌入式應用開發
博祥網通
入門
12/16,23 星期三台北Android手機應用程式開發
癮科技
入門
12/6 星期日台北Android Internet與LBS應用開發
癮科技
進階
11/7,14 星期六新竹Android手機應用程式開發
工研院
入門
10/14 星期三新竹Android 網路與地圖應用開發
工研院
進階
8/22,29 星期六台北Android手機應用程式開發
工研院
入門
7/18,25 星期六新竹Android手機應用程式開發
工研院
入門
6/17,24 星期三台北Android手機應用程式開發
工研院
入門
6/14,21 星期日新竹Android手機應用程式開發
自強工業科學基金會
入門
5/23,24 星期六日台北Android手機應用程式開發
癮科技
入門
5/19,26 星期二新竹Android手機應用程式開發
工研院
入門
4/25,26 星期六日台北Android手機應用程式開發
癮科技
入門
3/5,12 星期四新竹Android手機應用程式開發
自強工業科學基金會
入門
2/28, 3/1 星期六日台北Android手機應用程式開發
傳識資訊
入門

29 則留言:

Jason 提到...

推 :)

Benson blog 提到...

推啦~我也想上~可素要跑到台北~太遠嘍!

祝你授課順利!^^

homling 提到...

can you release the contend on the blog

samlu 提到...

因為著作權的關係,暫時還沒這打算。

jimmy 提到...

恭喜開課耶!
雖然很想去上,不過好貴..
先努力研究研究!

mediakid 提到...

對阿~好貴,而且可惜上課時間剛好有事,希望以後還有開課機會(也便宜些吧哈)~

匿名 提到...

請問一下,台北的課程有機會再開嗎?
因為看到的時候都滿了。

samlu 提到...

預計 5 月底會再開一班,請密切注意 android.cool3c.com 上的消息。

匿名 提到...

請問台北會再開是星期六,日上班的課嗎?

samlu 提到...

8 月前都尚未規劃在台北開假日班。

indiana 提到...

老師,印象中您在課堂中有提到寫程式時,在命名某變數(id, 參數或什麼的)最好都用「小寫」?請問是哪一個變數,有點忘了... 那又是為什麼?謝謝!

samlu 提到...

我提的是 drawable, layout, ... 中,這些 resource files 的檔案名稱。應該是 ADT 規定的,不信,你改改看就知道了。

匿名 提到...

對不起我是誤闖近來的= =
請問哪裡可以上到您的課呢?

samlu 提到...

我開的課都列在底下的網頁中,你點其中的連結,就有該課程的詳細上課地址及辦法。
http://ysl-paradise.blogspot.com/2009/02/2009-android.html

Faris 提到...

講師您好, 請問完全沒有程式語言基礎的, 適不適合上這堂課?

samlu 提到...

完全沒程式語言基礎的,不適合上這課。

建議你最好有 Java 語言的基礎,或是會 C++ 或是 C# 等其他物件導向語言。

Mimi 提到...

請問有辦法在8/22前加開一班嗎?
謝謝!!

匿名 提到...

如果有一點點語言基礎, C++/JAVA, (以前學過 但是怕已經忘了) 這樣的情況適合上課嗎?

samlu 提到...

一起回答 Mimi 及其他人的問題。
目前不會加開其他班。
如果 Java 忘了,建議你先學好,再來上,才不會白白浪費你上課的學費。

Frank Hsu 提到...
網誌管理員已經移除這則留言。
匿名 提到...

請問Sam老師:老師您好 , 小弟經由商業周刊對ishoot的介紹 , 得知ysl的程式天堂 , 想請教如果立志像ishoot程式開發者那樣的成就(半年賺2000萬!!)在台灣經由努力與學習 , 有可能達成類似的營收嗎 ??(經由上課與車庫創業) 商周報導超詳盡 http://www.businessweekly.com.tw/webarticle.php?id=37756 (共6頁是free的) 相關ishoot的影片youtube上面也有 , 那這個程式開發者的產業 , 是正派經營的嗎?? 如果要像伊森‧尼可拉斯(Ethan Nicholas)的成功 , 要詢問誰?? 那做這個產業 , 有所謂的商業機密嗎?? 以及職業道德的問題嗎 ?? 在國際觀的視野下 , 全球有60億的人口 , 比爾蓋茲是全球首富 (因為他經營了微軟公司) 越賺錢的公司規定也是越多 , 社會有一個秩序的 , 但假如我們人生觀是要有肚量的 , 才能賺大錢(宰相肚裡能撐船). 那做這個產業 , 產品研發出來真的消費者下載可以收費嗎 ?? 目前美國歐洲android market , 可以運作 , 那台灣的法令以及國情可以讓在台灣經營的軟體開發商賺很大的機會嗎?? 軟體運作後會不會有觸法或是侵權等等法律的問題 , 這種技術應該要去哪裡學或是實習(有政府立案嗎 ??) ㄜ ….還有 , 可以主動去接洽極致科技 , ysl的程式天堂 , 商業週刊 王戈(Ge Wang), google簡立峰嗎 ?? 學習他們的做生意的方式以及商業經驗 , 但降子要簽保密協定(NDA)嗎?? (ㄜ可是我想他們會接見有商業周刊的採訪 , 但是應不太可能會接受個體戶或一個家庭 , 或是專業人士或是學徒的訪談吧) ,但是陳士駿先生不也曾是學生而且還一度是卡奴 , 還是說要留美亦或旅日當個小留學生或海歸派才有機會呢( 到矽谷或是以色列找創投 ) ?? 也就是有什麼樣的管道可以跟ishoot的成就一樣呢 ?? 要如何爭取才能進入降子的產業並進而賺很大呢 ??(有沒有保證班之類的ㄚ) 所以小弟想請教的是如何才能有ishoot的 “際遇” ok… , 能複製(不能說是抄襲啦)或是學習ishoot成功的經驗(譬如車庫創業之類的…..) 但做最怕做失敗(總不能做到破產吧….orz) 然後又不能有法律問題(經商營利但是不能觸法 , 也許有的要證照) 然後還有適應的問題 , 以及執政政府是否支持該產業的問題 , 以及最重要的治安的問題(像以色列阿拉伯不是都在備戰中) 但很大的問題是在台灣教育體制下的學生 , 學習模式都是跟補習班的” 名師 ”學的(像醫學院很多都是去南陽街補的) 雖然小弟有辦法理解商業週刊報導人物的商業邏輯 , 但是實地實習行為若沒有人指導(像補習班那樣) 真的有點丈二金剛爭取爭取回應 , 億萬分感激不盡 或來信寄到richandpeace2008@yahoo.com.tw(我的信箱)所以小弟希望爭取 , 爭取大大的回應 ?? 降子的留言行為不知會太戎長否??

匿名 提到...

我主要的工作是 MCU 的設計, 最近想要開發連結到Android上的周邊硬體, 必須要寫配合的驅動程式, 請問有編寫驅動程式的課程嗎 ?

呆呆怡的軌跡 提到...

很想上進階...但那天家裡長輩七十大壽..= ="
初階課...在平日....沒辦法上....
希望近期還會再開課!!

samlu 提到...

今年公開課就是目前列的這些,目前沒有計畫要再開。

小嫚 提到...

您好:
想請教android component 的4個type的定義,
我對於activity、service、content provider、broadcast receiver的定義有些模糊,
希望能請教您,

以下是我的問題
activity: 在前景執行的就是activity,一次只會有一個前景activity在執行。我在一個文件中,有看到 an application developer defines one activity per screen.這句話我沒有很清楚,他的意思與"一次只會有一個前景activity在執行" 這句話相同嗎?

service: 在背景程序中所執行的activity,所以如果在前景執行的程式稱為activity,在背景執行的程式稱service?
因此如果service被叫來前景執行,那此時它就換稱為activity?

content provider: 是一個資料庫,有文件另提到"each content provider has an associated "authority"
describing the content it contains" ,讓我有些疑問,content provider是獨立在android裡面的資料庫,
還是它是一個第三方的機構中的資料庫?,ex:管理憑證的機構,這機構裡面的資料庫

Broadcast receiver: 這個type的定義,目前依舊不太了解是什麼。我只曉得,它可以接收某service 廣播intent。

此外,在android裡面,開發者在設計application時,是去設計以上四種type,而不像平常的java程式(設計main() ),這樣的說法對嗎?

很需要您的幫助,希望您能幫我解答,謝謝!!

samlu 提到...

Hi 小嫚, 我先簡要回答你的問題。建議你去上個課,找老師回答你的問題,把觀念建立清楚是很重要的。
activity: 你把它想成 PC 上的 window 就對了
service: 沒有UI, 在背景執行,例如背景下載
content provide: 程式將他的資料包裝成的介面,找要供其他程式讀存這些資料用
broadcast receiver: 訊息(系統或其他程式發出的 intent 訊息)的接收者

匿名 提到...

請問您最近台北有開初階的課程嗎?對您的課程蠻有興趣的...

samlu 提到...

目前計畫的課程都列在上面,我會逐步減少開課次數,所以如果要上的話,就上這些已確定的班次。

匿名 提到...

怎麼沒有10號以後的台北課程QQ...
好想參加... 4/5號對我來說還是月底
為了參加我省點吃看能不能去

張貼留言