這章是 Android 的基石,介紹了系統架構(Linux Kernel、Libraries、Application Framework)以及四大元件。重點在於掌握 Activity 的生命週期(Lifecycle)與狀態轉換(Resumed, Paused, Stopped)。
探討如何使用 View 與 ViewGroup 來建立使用者介面。核心涵蓋了 LinearLayout(線性排版)、ConstraintLayout 等,以及如何透過 dp(密度獨立像素)來解決 Android 設備螢幕碎片化(Fragmentation)的問題。
深入介紹基礎 UI 元件(如 TextView, Button, CheckBox, 日期選擇器等)。進階重點在於「選擇控制項」(如 ListView, Spinner),並介紹了 Adapter 的概念,用於將資料綁定到介面上。
探討如何中斷使用者操作以提供重要資訊。涵蓋需要使用者互動的 AlertDialog(可包含標題、訊息與最多三個按鈕),以及短暫顯示且無法互動的 Toast。
解釋如何透過 Intent 在不同的 Activity 之間切換、傳遞資料或呼叫系統內建功能(如撥打電話、開啟地圖)。同時涵蓋了三種選單的建立:Options Menu、Context Menu 與 SubMenu。
介紹 Android 中的資料持久化方案,包含:輕量級鍵值對 SharedPreferences、內部/外部檔案存取,以及 SQLite 關聯式資料庫的建立、CRUD 操作(Create, Read, Update, Delete)與 Cursor 查詢。
探討如何與 Web 伺服器溝通(HTTP, RESTful API)以及解析 JSON 資料。核心考點是「必須將耗時的網路操作放在背景執行緒(Background Thread)」,以避免 UI 凍結引發 ANR(Application Not Responding)。
介紹使用 Canvas 進行 2D 繪圖的方法。動畫方面分為 Frame animations(逐格動畫)與 Tween animations(補間動畫,包含平移、旋轉、縮放、透明度),並配合 Interpolator(插值器)控制動畫節奏。
講解觸控事件的攔截與處理。重點在於覆寫 onTouchEvent 方法,解析 MotionEvent,以及如何透過 Pointer ID 和 Index 來處理兩根以上手指的多點觸控。
涵蓋如何透過 GPS 或基地台取得裝置地理位置(經緯度)。重點包括 LocationManager 的設定、權限宣告(Permissions),以及使用 Geocoder 進行地址與座標的雙向轉換。