preloader
軟體工程

Android開發新手手冊

以下這是我的經驗。

 

Android 開發新手應具備的觀念:

  1. Android是Multithread運作,沒有thread-safe, 有些時候會有thread-safe。

  2. 運作App常容易因為一些事件而要轉換狀態,例如旋轉螢幕,這是正常的。

  3. 找問題的解決方式,搜尋關鍵字找兩次,找第二次時最好加上Android最近一年的新版本編號、別名,例如Androidv4.0又稱為Icecream Sandwich, 4.1、4.2和4.3都稱為 Jellybean。原因是目前網路上沒註明版本的解法通常是android 4.0以前版本。

  4. App的運作模式一言以蔽之,啟動和結束App階段就是不斷的切換狀態,切換狀態時保存和讀取資料,剩下的運作階段就是你賦予App的概念。

 

  1. 理解概念的方式, 先看Android developer的guide, 再找stackoverflow.com,這兩個通常都會有diagram講解概念和能運作的sample code;不懂的api去看Android developer的reference,看一次class的說明再往下找api的使用方式。Android developer的blog最新文章可以看,距離一段時間的文章當做參考就好。Android developer的training可看可不看,看你開發時間充裕程度而定。

 

 

 

開發新手分階段應熟悉的資料階段,完全了解前三階段的資料,開發者就具備可以開發出一個好App的能力:

 

第一階段: 

  • Activity生命週期,
  • Manifest.xml的Activity相關標籤。
  • activity layout, 像是Linearlayout, RelativeLayout,Framelayout, …etc.
  • layout component,像是TextView, Button, ImageView, ImageButton, …etc. 不用管動畫,只要能顯示和變色這兩種基本就好了。
  • 基本的layout component的listener,像是onClickListener, onTouchListener, 這兩個就夠了。

 

 

第二階段:

  • Fragment生命週期,
  • ActionBar的tab頁面切換,
  • Fragment的layout和Activity的layout觀念相同.
  • Fragment的動態layout,
  • layout component, 像是ListView, ArrayListView,自定的ArrayListView, …etc.
  • Manifest裡Activity的onConfigChange標籤內容、intent-filter標籤、uses-permission。
  • 傳送和接收Intent。h.實作Broadcast receiver類別。

 

 

第三階段:

  • Service生命週期,
  • Service的兩種不同操作方式,
  • Java的Thread運作方式,synchronize用法.
  • Android的UI thread, Handler, HandlerThread運作方式。
  • Java的socket, datagram, datagramsocket.
  • 你想了解Android的類別, 例如Bluetooth, NFC, …etc.
  • 不同尺寸螢幕的Layout擺放方式。

 

第四階段:

  • 手勢listener.
  • 不同解析度(dpi)螢幕的Layout擺放方式。
  • 你想了解的Android類別、附屬的interface和底下的method.
  • Broadcast receiver與Activity、Fragment、Service的溝通方式。
  • AIDL。

 

 

第五階段:

  • ui design pattern.