學習Android之路

這是為了讓許多有心想學習如何開發Android APP的朋友們設計的內容,從頭以正確的方式學習,這個過程並不是無痛的,只是,有付出,一定會有收獲的。請切記,你練習過的內容若在日後無法自己完成它,就不算程式設計能力。程式設計是需要不斷重複練習與應用後,所獲得的經驗所組成的。

系列文章使用Android 7.1並以Android Studio 2.3版為基礎

0. 開始之前

使用Github分享在學習、開發過程的程式碼是一個潮流,未來的工作面試時,你可能只需要一個如github的網址,對方就能知道你的程式設計能力,也能看出你在學習過程中參與有興趣的專案歷程。我在撰寫本書時,使用github來管理各個章節的程式碼,因此,使用它來說明一個專案的開發過程是再也合適不過了。

0.1  什麼是git、github? 為什麼要版本控制,從安裝必要的軟體開始

0.2  取得範例專案程式碼,註冊github後取得專案複本

0.3  切換各個版本,與遠端檔案庫切斷連結

1. 由最基本的環境、工具、架構、開發工具,從一開始就做對的事吧

1.1 學Android的起點,把環境建置好並掌握每個角色後,什麼都好做

1.2 Android Studio開發環境準備與安裝必要工具

1.3 建立新Android專案,認識Android Studio環境

1.4 Android SDK,SDK管理工具的使用

1.5 使用內建模擬器映像檔,建立Android模擬器

1.6 Genymotion模擬器

2. 開始寫第一個APP囉,建立一個專案後,先認識專案架構與開發工具

2.1 Android 專案架構,什麼是AndroidManifest.xml?

2.2 畫面配置Layout,使用者看到的畫面設計

2.3 Activity是什麼? Java類別,沒有它就沒有互動了

2.4 專案的資源,Layout、字串與圖檔等,但沒有R類別就麻煩了

2.5 Android Support Library—支援函式庫

3. 如何設計一個畫面? 什麼是Layout與Activity類別

3.1 Layout版面配置能做什麼? 有那些Layout可以選擇,談LinearLayout與RelativeLayout

3.2 元件的屬性,高度、寬度、對齊與權重分配

3.3 Layout新成員ConstraintLayout,組織要扁平化,Layout也要扁平化?

3.4 上戰場了,寫個Bmi APP吧,專案Layout與元件設計

3.5 Bmi專案功能與事件處理,什麼是onClick屬性?

3.6 Bmi專案功能之顯示資訊,包括Toast、AlertDialog

3.7 Bmi專案功能之多國語言,資源抽出之重要性

3.8 Bmi專案功能與事件處理,什麼是匿名類別?

3.9 使用ConstraintLayout設計Bmi專案畫面

4. 建立與使用第二個Activity

4.1 建立第二個Acitivity,自動產生了那些東西?

4.2 使用Intent轉換Activity並傳遞資料,什麼是Intent意圖?

4.3 將字串抽取出成為資源,重要的能力

4.4 Activity的生命週期,它會自動執行那些方法? 方法如何覆寫?

4.5 生命週期的測試情境—使用Bmi專案

4-6 來證明你會了吧,Atm專案之登入功能實務

4-7 轉換畫面後,按返回鍵回到前一個Activity時怎麼取得結果? onActivityResult方法

5. Material Design,什麼是實感設計? 有那些元件符合

5.1 Material Design實感設計,浮動按鈕與它的事件處理

5.2 SnackBar提示訊息元件

5.3 什麼是CoordinatorLayout?

5-4 太好用的輸入方塊元件,TextInputLayout

5.5 那RecyclerView呢?

6. APP中可以存取資料嗎? 使用ADB工具與設計ActionBar

6.1 使用SharedPreferences存取設定資料

6.2 使用ADB登入模擬器

6.3 實務練習,怎麼讓APP記住我的登入帳號? Atm專案

6.4 實作Activity上方選單Menu與下拉項目功能