UNiSOFT Education Centre
🎓 Power Automate with AI Class 將於 2026年9月21日 開始 Limited Seats 🚀 Gemini AI Class 將於 2026年9月23日 開始 Early Bird 優惠
先理解 · 再使用 AI

AI 會寫 App,但你要看得懂程式。

使用 AI 開發 App 之前,你需要先掌握程式碼的基礎,學會閱讀、理解及判斷介面、導航、資料儲存、API 與 Firebase 如何運作;然後才使用 AI 協助產生介面和程式碼、尋找錯誤及提出改善方案。課程亦提供 AI 整理的時間章節和課後測驗,讓你按需要跳到任何重點,並檢查自己是否真正掌握所學。

AI 時間章節 · 快速跳轉直接前往需要學習或重溫的 Apps 開發段落。
課後 Quiz · 即時評估測試理解程度,找出仍需加強的學習重點。
30 小時完整錄影12 節課堂完整 AI 章節導航每課附設 Quiz一年無限重播

從基礎 Apps 技術,到可控制、可驗證的 AI 輔助開發

THE RIGHT LEARNING ORDER

不是先叫 AI 寫,而是先知道 App 怎樣運作

整個學習路徑分為兩個清楚階段。第一階段刻意不依賴 AI,第二階段才把 AI 加入真實 Apps 開發流程。

STAGE 01不使用 AI

基礎技術 · 20 小時

先親手理解一個完整 App 由介面、資料儲存到雲端服務的運作方式。

  • Android:Kotlin、Activity、SQLite、RecyclerView 及 Firebase
  • React Native:元件、導航、裝置功能、API 及跨平台發佈
  • 真正能力:能閱讀、執行、測試及手動除錯自己的 App
STAGE 02加入 AI

AI 實戰 · 10 小時

有了基礎後,再以 AI 作為開發助手,提高速度而不失去控制。

  • 生成:用清晰提示建立介面、資料庫與雲端資料流程
  • 除錯:提供錯誤背景,驗證 AI 建議而不是盲目複製
  • 改善:重構、測試、檢查權限及提升 App 品質
💡

課程原則:AI 是加速器,不是代替理解的捷徑

如果不明白程式碼,便無法判斷 AI 是否製造了錯誤、漏洞或不適合的設計。完成兩個階段後,你不只懂得叫 AI 寫 App,更懂得審查、修正及延伸它。

讀得懂理解介面、資料與雲端流程
驗證到判斷 AI 輸出是否正確
修正到定位錯誤並選擇合理方案
維護到安全地擴充真正的流動應用
WATCH BEFORE YOU ENROL

先看課程片段,再決定是否適合你

免費觀看課程介紹及實際教學內容,了解講解方式、技術深度,以及 Android、React Native 與 Firebase 的實作流程。

免費試看 · 4 段
正在播放AI Apps 開發課程介紹

按播放鍵即可觀看;選擇右方片段可切換內容。

循序學習 · 完整章節 · 課後 QUIZ

AI Apps 應用程式開發錄影課程

先用 Android Kotlin 與 React Native 建立真正的流動應用開發基礎,再學習如何運用 AI 產生、檢查、除錯及改善 App 程式碼。AI 可以加速工作,但理解程式的人才有能力判斷結果是否正確。

STAGE 01 · WITHOUT AI ASSISTANCE

先建立 Apps 開發基礎

Android Kotlin 原生開發與 React Native 跨平台開發,先學懂介面、資料及雲端服務如何真正運作。

Certificate in Android App Development 4 LESSONS · 10 HOURS
CAA2025

Android Kotlin 應用程式開發證書課程

Certificate in Android App Development

以 Kotlin 及 Android Studio 建立原生 Android Apps,掌握介面、頁面導航、SQLite、RecyclerView、Volley API 與 Firebase。

完整逐課內容、摘要及時間章節

以下內容直接取自每段完整課堂錄影及已建立的 AI 學習資料。

4 課60 個章節80 題題庫
LESSON 01 Lesson 1 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本課堂為Android開發入門教學。導師首先指導安裝Android Studio,並介紹專案的基本結構,包括活動檔、佈局檔、設定檔及資源檔的作用。接著講解Kotlin物件導向基礎,示範建立類別、定義變數與函數,並透過LogCat進行除錯。後半部分帶領學生實作介面設計,加入ImageView與Button等元件並設定約束條件,最後結合程式碼學習findViewById及setOnClickListener,透過撰寫條件判斷式完成一個可切換圖片與文字的互動式應用程式,讓學生完整體驗由介面繪製到邏輯控制的開發流程。

完整章節內容
  1. 課程簡介與環境準備

    導師介紹Android開發模式,並指導學生搜尋、下載及開啟Android Studio工具。

  2. 建立全新Android專案

    講解如何選取Empty Views Activity範本建立專案,並設定專案名稱與最低API要求。

  3. 專案結構與核心檔案

    介紹Android專案內的Manifest設定檔、Kotlin程式碼檔案以及裝載版面配置的Layout檔。

  4. 物件導向基礎與建立類別

    解釋類別作為容器的概念,並示範建立Student類別與定義其專屬的屬性變數與函數。

  5. 物件初始化與呼叫函數

    在MainActivity中宣告變數並基於類別建立學生實體物件,設定屬性值後呼叫輸出函數。

  6. 模擬器執行與LogCat工具

    指導開啟虛擬機執行應用程式,並介紹使用LogCat面板作為觀察程式狀態的除錯工具。

  7. 使用Log.d輸出除錯訊息

    示範如何透過Log.d語法輸出帶有自訂標籤的訊息,並學習如何過濾日誌以便追蹤。

  8. 條件判斷與函數回傳

    在類別中加入包含if/else條件判斷的函數以檢查年齡,並將結果回傳至主程式列印。

  9. 介面開發準備與匯入圖片

    建立專注於介面設計的新專案,並指導如何將下載的圖片資源複製到drawable資料夾中。

  10. Layout繪製與元件定位

    示範在佈局檔中拖曳ImageView與TextView,並為元件加入約束條件以正確定位。

  11. 加入按鈕與修改元件ID

    指導在介面中加入三個按鈕元件,並為所有介面元件設定易於辨識的ID以便程式控制。

  12. 綁定介面與findViewById

    於程式碼中宣告與介面元件對應的變數,並透過findViewById指令將程式變數與介面綁定。

  13. 設定按鈕監聽器與事件

    講解透過setOnClickListener設定事件,使按鈕點擊後能動態改變畫面上的圖片及文字。

  14. 實作單一按鈕切換邏輯

    加入Toggle按鈕,利用狀態變數與if判斷式來實作單擊按鈕輪流切換兩張圖片的效果。

  15. 左右按鈕切換與邊界限制

    實作左右切換邏輯,利用計數器增減與條件限制,達到連續切換圖片且不超出範圍的功能。

查看本課 Quiz 示例(3 題)
1. 在實作「點擊單一按鈕不斷切換兩張圖片 (Toggle)」功能時,導師使用了什麼策略來達成目標?
  • A建立多個按鈕並設定重疊隱藏
  • B宣告一個變數記錄目前狀態,並搭配 if/else 判斷來切換
  • C呼叫Android Studio內建的自動輪播函數
  • D使用延遲函數 (delay) 自動切換
顯示答案與解釋

答案:B
導師在示範開一隻旗標記錄狀態,並利用如果(if)與否則(else)判斷目前旗標來決定下一張該換什麼圖片,實作Toggle機制。

2. 在左右切換圖片的邏輯中,為了避免變數超過圖片的總數量(共3張圖),導師加了什麼保護機制?
  • A當數值大於等於3時,強制設定回3
  • B當數值大於3時,讓App自動關閉
  • C隱藏右邊的按鈕
  • D播放警告音效
顯示答案與解釋

答案:A
導師在說明,利用條件判斷,如果 current 大於或等於3,就將它設定回3,確保不會切換超出範圍。

3. 導師實作「左右切換圖片」時建立了一個 current 變數,當使用者點擊「向右」按鈕時,程式應該如何處理 current?
  • Acurrent 歸零
  • Bcurrent 減 1
  • Ccurrent 加 1
  • D刪除 current
顯示答案與解釋

答案:C
導師在說明,為了記錄位置,當按下代表向右或下一張的按鈕時,current 變數必須加1。

LESSON 02 Lesson 2 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本節課程主要教授 Android 應用程式開發中多頁面切換與資料傳遞的實作技巧。首先介紹了在最新版本 (Meerkat) 的 Android Studio 中建立專案,並開啟手機的開發者模式以進行實機 Wi-Fi 偵錯。課程詳細講解如何建立第二個 Activity 頁面,利用 Intent (意圖) 實作跳轉 (startActivity) 與返回上一頁 (finish)。資料傳遞方面教授了兩種方法:第一種透過 Intent.putExtra 將 EditText 輸入的資料傳至下一頁,並以 Toast 或 TextView 顯示;第二種利用 SharedPreferences 進行持久化儲存,結合 RadioGroup 與 RadioButton 實作性別選擇,並透過 Device File Explorer 檢視本機儲存檔案。最後,課程介紹了隱含意圖 (Implicit Intent) 的應用,示範如何觸發手機撥號、發送簡訊及開啟瀏覽器,全面掌握基礎頁面互動與系統功能。

完整章節內容
  1. 建立專案與手機偵錯設定

    導師介紹最新 Meerkat 版本的 Android Studio,並指導如何設定手機開發者模式以進行 Wi-Fi 連線測試。

  2. 新增 Activity 頁面

    示範如何在專案中建立第二個 Empty Views Activity 作為新的頁面。

  3. 介面設計與版面約束設定

    在 Layout 中加入 TextView 與 Button,並示範如何設定 Constraint 避免元件跑位。

  4. 使用 Intent 實作頁面跳轉

    講解如何宣告 Intent 物件,並透過 startActivity 方法從第一頁跳轉至第二頁。

  5. 實作返回按鈕

    在第二頁使用 finish 方法結束當前活動,讓畫面退回至上一頁。

  6. 使用 EditText 擷取輸入

    加入 Plain Text (EditText) 讓使用者輸入姓名與電郵,並設定 Hint 提示文字。

  7. 接收資料與 Toast 顯示

    透過 Intent 傳遞輸入資料至第二頁,並使用 Toast 彈出訊息視窗印出內容。

  8. SharedPreferences 儲存機制

    開啟新專案示範如何使用 SharedPreferences 將資料儲存為本機檔案。

  9. 設計 RadioGroup 與 RadioButton

    在介面上加入 RadioGroup 來包裝 RadioButton,確保性別選項能夠單選。

  10. 實作資料持久化儲存

    在程式碼中開啟 Editor 編輯模式,將輸入的姓名等資料 putString 後 commit 儲存。

  11. 讀取 SharedPreferences 內容

    在第二頁直接開啟 Shared Preference 並利用 getString 讀取先前儲存的資料顯示。

  12. Device File Explorer 應用

    使用 Device Explorer 工具進入手機系統資料夾,實際查看剛儲存的 XML 檔案內容。

  13. 使用 Log.d 偵錯選項按鈕

    透過 Log.d 將選擇的 RadioButton ID 輸出至 Logcat,以確認使用者的選擇狀態。

  14. 隱含意圖 (Implicit Intent) 應用

    介紹 Implicit Intent 的概念,並實作觸發手機撥號、發送簡訊及開啟瀏覽器的功能。

  15. 課程總結

    總結今日學習的意圖與資料儲存技巧,並預告後續將進入更複雜的網路連線與列表應用。

查看本課 Quiz 示例(3 題)
1. 傳遞資料給下個頁面時,可以使用 Intent 的哪一個方法將字串等資料封裝進去?
  • AputString()
  • BputExtra()
  • CsendData()
  • DaddValue()
顯示答案與解釋

答案:B
導師形容像包裹遊戲,『intent這個物件是可以放進去的,put extra』將資料黏在意圖裡。

2. 一個基本的 Android 頁面 (Activity) 概念上是由哪兩個核心檔案所組成?
  • A一個 Java 檔與一個 JSON 檔
  • B一個 Kotlin (kt) 檔與一個 XML 檔
  • C一個 HTML 檔與一個 CSS 檔
  • D一個 Python 檔與一個 SQL 檔
顯示答案與解釋

答案:B
導師提及『一版裡面有兩個File組成』,分別是 MainActivity.kt (Kotlin) 以及 ActivityMain.xml (XML Layout)。

3. 為了讓「男」與「女」兩個選項能互斥單選,必須將 RadioButton 放在哪一個元件之內?
  • ACheckBoxGroup
  • BLinearGroup
  • CRadioGroup
  • DConstraintGroup
顯示答案與解釋

答案:C
導師提醒『原理就是bottom在group群組,先拉group出來』,指的是 RadioGroup 才能綁定選項。

LESSON 03 Lesson 3 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本節課主要涵蓋了三個核心 Android 開發主題:Activity 生命週期、SQLite 資料庫操作以及 RecyclerView 的基礎建構。課程首先示範如何透過 Logcat 追蹤 OnCreate、OnStart、OnResume、OnPause、OnStop 等生命週期狀態,讓學員理解應用程式在前景與背景切換時的運作機制。接著,課程進入 SQLite 資料庫教學,從介面設計、將寫死的文字轉移至 strings.xml 開始,逐步引導學員建立 Student 資料類別,並深入探討 Kotlin 中主要建構子 (Primary Constructor) 與次要建構子 (Secondary Constructor) 的差異。隨後,講師示範如何繼承 SQLiteOpenHelper 建立 DB Helper,執行 CREATE TABLE 指令,並透過 ContentValues 新增資料,以及使用 Cursor 配合 ArrayList 讀取資料。在實作過程中,講師也示範了如何透過 Device Explorer 檢查資料庫檔案,以及如何排解 SQL 語法錯誤。課程最後階段,講師帶領學員開啟新的 RecyclerView 專案,逐步建立自訂的項目介面 (MyItem.xml)、Fruit 資料類別,以及最具挑戰性的 Adapter 與 ViewHolder 架構,為下節課結合資料庫與 RecyclerView 的綜合應用打下堅實的基礎。

完整章節內容
  1. Android 生命週期概念介紹

    講解應用程式啟動時會依序觸發 OnCreate、OnStart 與 OnResume。

  2. SQLite 資料庫與資料表語法基礎

    介紹 Android 開發中的 SQLite 資料庫架構與 CREATE TABLE 指令應用。

  3. 管理字串資源 (strings.xml)

    示範如何解決 Hardcode 警告,將介面文字抽離至 strings.xml 統一管理。

  4. Kotlin 主要與次要建構子解析

    比較 Java 寫法,說明 Kotlin 類別建構子的簡潔語法及繼承規則。

  5. 實作 SQLiteOpenHelper 與 DB Helper

    建立管理資料庫的 DB Helper 類別,並實作 onCreate 與 onUpgrade 方法。

  6. 使用 ContentValues 新增資料 (Insert)

    撰寫新增學生資料的方法,透過 writableDatabase 寫入資料庫。

  7. 透過 Device Explorer 檢查資料庫檔案

    示範在 Android Studio 透過 Device Explorer 工具尋找與匯出 SQLite 實體檔案。

  8. 修正 SQL 語法錯誤與執行 execSQL

    除錯建立資料表時漏打的指令,強調必須呼叫 execSQL 才能執行 SQL 字串。

  9. 撰寫讀取資料功能 (List Data)

    建立讀取清單的方法,使用 rawQuery 查詢資料庫中的學生紀錄。

  10. 透過 Cursor 取出資料並放入 ArrayList

    利用 Cursor 的指標功能逐筆讀取欄位,並實體化學生物件存入 ArrayList 中。

  11. 綁定介面按鈕與實作迴圈印出資料

    在 MainActivity 使用 findViewById 綁定按鈕,並設計迴圈於 Logcat 印出資料庫結果。

  12. RecyclerView 專案建立與佈局設定

    新開專案並在主佈局中加入 RecyclerView 元件與設定 ID。

  13. 建立自訂項目佈局 (MyItem.xml)

    建立專屬清單項目的 Layout 檔,配置 ImageView 與 TextView,並設定高度為 wrap_content。

  14. 建立 MyAdapter 與繼承 RecyclerView.Adapter

    建立用來供給資料給 RecyclerView 的 Adapter 類別。

  15. RecyclerView Adapter 架構與總結

    完成 ViewHolder 內部類別及必須覆寫的三個方法,統整清單應用架構。

查看本課 Quiz 示例(3 題)
1. 關於 Kotlin 的次要建構子 (Secondary Constructor),下列敘述何者正確?
  • A可以獨立存在不需呼叫主要建構子
  • B必須呼叫主要建構子 (Primary Constructor)
  • C一個類別只能有一個次要建構子
  • D參數數量必須比主要建構子少
顯示答案與解釋

答案:B
講師強調,當類別存在主要建構子時,所有的次要建構子都必須透過 this() 來呼叫一次主要建構子才會有效。

2. 在建立 RecyclerView 的自訂 Adapter 類別時,內部必須再定義一個繼承自 RecyclerView.ViewHolder 的內部類別,主要目的是什麼?
  • A負責與後端伺服器建立連線
  • B實作資料庫的增刪查改功能
  • C保存並管理清單項目內各個視圖元件 (View) 的參照
  • D控制 Activity 生命週期
顯示答案與解釋

答案:C
講師解釋在 Adapter 中實作 ViewHolder (一個 Class 中包 Class 的結構) 主要是用來裝載與持有該清單項目的元件 (例如影像、文字標籤),以利快速替換內容資料。

3. 在 DB Helper 中撰寫建立資料表 (Create Table) 邏輯時,需要呼叫 SQLiteDatabase 的哪個方法來執行 SQL 語法?
  • AexecSQL
  • BrunQuery
  • CexecuteTable
  • DdoSQL
顯示答案與解釋

答案:A
講師在除錯時發現漏打了一句關鍵指令,補充說明必須呼叫 db.execSQL() 才能真正讓系統執行 CREATE TABLE 的字串。

LESSON 04 Lesson 4 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本堂課重點教授如何運用 AI 工具 (例如 POE) 加速 Android 應用程式的開發流程。課程首先示範使用 AI 生成 RecyclerView 的程式碼,並在 Android Studio 中建立對應的 Layout、Data Class 及 Adapter,以清單方式展示產品圖文。接著進階講解如何透過 Intent 將資料傳遞至第二個 Activity 頁面。課程中段介紹了 Fragment 的概念,並實作一個包含表單與資料統計的客戶回饋 App,學習利用 Shared Preferences 儲存本機資料及加入 Tab Layout 切換頁面。最後,指導學員透過 Volley 函式庫連線至 JSON Placeholder 下載網路資料,並實作 Firebase Realtime Database,完成包含建立專案、設定權限及與雲端資料庫即時同步的完整 CRUD 應用程式。

完整章節內容
  1. AI 輔助開發簡介

    課程開場介紹如何使用 AI 工具加速 Android 應用程式的開發與佈局。

  2. 使用 POE 生成 RecyclerView

    示範在瀏覽器開啟 POE,輸入提示詞以生成建立 RecyclerView 的 Kotlin 程式碼。

  3. 替換主畫面 Layout

    將 AI 生成的 XML 程式碼複製並貼上,取代原有的 ActivityMain 版面結構。

  4. 建立 Adapter 類別

    新增 ProductAdapter 類別,並匯入 AI 產生的程式碼以處理清單項目綁定。

  5. 建立第二個 Activity

    發送提示詞產生 Second Activity 程式碼,透過 Intent 將點擊的商品資料傳遞至下一頁。

  6. Fragment 概念與回饋 App

    介紹 Fragment 碎片的觀念,規劃兩個 Fragment 用於收集回饋與顯示評分統計。

  7. Shared Preferences 本機儲存

    利用 Shared Preferences 寫入並累積計算使用者的評分資料。

  8. 建立與綁定 Fragment 檔案

    在專案中實際產生 Blank Fragment 檔案,並將對應的 Layout 及程式碼覆蓋貼上。

  9. 加入 Tab Layout

    實作頂部標籤列,讓使用者能不需依賴按鈕,直接切換不同 Fragment 頁面。

  10. 從網路下載 JSON 資料

    介紹如何使用 Volley 函式庫,連接至 JSON Placeholder 下載並解析網路資料。

  11. 新增 Volley 依賴與 Sync

    將 Volley 套件名稱加入 build.gradle 並執行 Sync Now 下載函式庫。

  12. 設定網際網路權限

    開啟 AndroidManifest.xml 加入 INTERNET 權限,確保應用程式能順利存取網路。

  13. Firebase 雲端資料庫簡介

    前往 Firebase 官方網站建立新專案,並選擇測試模式開啟 Realtime Database。

  14. 透過 Assistant 連線 Firebase

    在 Android Studio 的 Tools 選單使用 Firebase 助理工具,直接與雲端專案進行綁定。

  15. Firebase 資料同步測試

    展示上傳資料與網頁控制台的即時同步,並驗證監聽事件的回傳結果。

查看本課 Quiz 示例(3 題)
1. 為了將一筆商品的名稱、價格和照片放在一起傳遞,課程中建議建立哪一種自訂檔案?
  • AManifest 檔
  • BResource 檔
  • CData Class (如 Product.kt)
  • DGradle 檔
顯示答案與解釋

答案:C
課程中創建了 Product class 來封裝每一項產品的名字、價錢與照片。

2. 在設定第二個頁面時,應選擇建立哪一種類型的 Android 元件?
  • AService
  • BBroadcast Receiver
  • CEmpty Views Activity
  • DContent Provider
顯示答案與解釋

答案:C
導師示範點擊 New > Activity > Empty Views Activity 來建立名為 Second Activity 的頁面。

3. 課程中推薦使用哪一個 AI 工具來產生建立 Android 應用程式的 Kotlin 程式碼?
  • APOE
  • BMidjourney
  • CCanva
  • DFigma
顯示答案與解釋

答案:A
導師在示範中開啟瀏覽器,前往 POE 網站輸入提示詞來產生 Android 程式碼。

Certificate in React Native App Development 4 LESSONS · 10 HOURS
CRN2025

React Native 跨平台應用程式開發證書課程

Certificate in React Native App Development

使用 React Native 及 JavaScript 以一套程式碼開發 iOS 與 Android Apps,掌握元件、導航、裝置功能、API 與 Firebase。

完整逐課內容、摘要及時間章節

以下內容直接取自每段完整課堂錄影及已建立的 AI 學習資料。

4 課59 個章節80 題題庫
LESSON 01 Lesson 1 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本課程主要介紹 React Native 跨平台手機應用程式(Hybrid Apps)的基礎開發流程與環境建置。課程一開始,導師帶領學員安裝必備的開發工具,包含執行環境 Node.js、用於建立專案的 Expo CLI、程式碼編輯器 VS Code 以及提供手機模擬器的 Android Studio。完成安裝後,導師示範如何使用 Windows 命令提示字元 (CMD) 建立資料夾,並透過 npx create-expo-app 指令搭配 JavaScript 模板來初始化 React Native 專案。接著,課程進入實作階段,講解 App.js 的核心結構,包括如何匯入 View、Text、Button 與 Image 等內建組件。學員學習了如何使用 StyleSheet.create 定義與套用樣式,並深入探討 Flexbox 排版技巧,如 justifyContent、alignItems 以及外距 (margin) 與內距 (padding) 的設定。在互動功能方面,課程重點介紹了 React 的狀態管理概念,示範如何透過 useState Hook 宣告狀態變數與更新函數,配合按鈕的 onPress 事件來動態改變畫面內容。最後,導師演練了如何透過 require 語法載入本地端圖片資源,讓學員完整體驗從環境設置到基礎介面與互動開發的完整過程。

完整章節內容
  1. React Native 簡介

    介紹 React Native 是一個跨平台開發軟件,並說明混合式應用程式的基本概念。

  2. 選擇 Expo 開發環境

    比較 Expo 與 React Native Command Line 的差異,並建議新手使用 Expo 建立環境。

  3. 開發工具總結

    總結課程前段安裝的 Node.js、Expo CLI、VS Code 與 Android Studio 等四個主要工具。

  4. 初始化 Expo 專案

    使用 npx create-expo-app 指令在命令提示字元中建立全新的 React Native 專案資料夾。

  5. 啟動開發伺服器

    輸入 npm run web 啟動本地伺服器,並於瀏覽器上即時預覽應用程式畫面。

  6. 解析 App.js 結構

    介紹 React Native 的核心入口檔案 App.js,包含引入函式庫與輸出主程式結構。

  7. StyleSheet 樣式套用

    學習如何宣告樣式表,並透過 style 屬性將文字大小與背景顏色等設定套用到組件上。

  8. Flexbox 主軸與交錯軸對齊

    講解 justifyContent 與 alignItems 如何分別控制元件在垂直主軸與水平交錯軸的對齊。

  9. Flexbox 位置設定

    實際測試 flex-start、center 與 flex-end 屬性對於畫面元件上、中、下位置的影響。

  10. Margin 與 Padding 設定

    說明 margin (外部邊距) 與 padding (內部填充) 在元件排版與撐開空間時的作用與差異。

  11. 元件空間分配

    示範 space-between、space-around 與 space-evenly 在多個元件時如何自動分配剩餘空間。

  12. Button 元件與 onPress 事件

    在畫面上加入 Button 組件,並設定 onPress 事件來觸發按下按鈕後的互動反應。

  13. 狀態管理概念基礎

    解釋為何單純修改一般變數無法讓畫面跟著變動,帶入 React 狀態變數的核心設計邏輯。

  14. useState Hook 應用

    實作 useState 掛鉤,宣告狀態變數與 setter 函數,讓按鈕點擊後能即時更新畫面文字。

  15. 載入本地圖片資源

    示範如何匯入 Image 元件,並正確使用 require 語法將專案內的本地圖片載入至應用程式中。

查看本課 Quiz 示例(3 題)
1. Image 元件要讀取專案資料夾內的本地端圖片時,其 source 屬性必須搭配哪一個函數來指派路徑?
  • Aurl()
  • Brequire()
  • Cfetch()
  • Dimport()
顯示答案與解釋

答案:B
導師在遇到圖片讀取錯誤後確認語法,說明載入本地圖片 (Local Image) 時,source 屬性必須設定為 `require('路徑')`。

2. 關於 React Native 開發時的語法錯誤檢查機制,以下描述何者正確?
  • A打錯字依然會自動修正並顯示畫面
  • B如果出現紅線錯誤,畫面依然可以正常執行
  • C如果語法錯誤或打錯字,畫面將無法顯示並報錯
  • D錯誤只會在輸出成正式版 APP 時才顯示
顯示答案與解釋

答案:C
導師提醒學員,如果有語法錯誤出現紅線或打錯字,畫面是不會成功出現的,程式必須完全正確才能預覽。

3. 想要增加元件本身的外部周邊距離,讓它與周圍其他元件隔開,應該調整哪一個屬性?
  • Apadding
  • Bmargin
  • Cbackground-color
  • Dfont-size
顯示答案與解釋

答案:B
導師解釋 margin 是控制元件外圍周邊的距離,設定 margin 可以將相鄰的 box 互相隔開。

LESSON 02 Lesson 2 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本節課為 React Native 開發的第二堂課,主要講解了 React Native 與 Android 開發的差異,強調其純程式碼的特性。課堂從建立 Expo 專案開始,教授如何使用 create-expo-app 指令建立專案,並透過 npm 啟動網頁與模擬器測試。隨後深入探討 Component 的核心概念,示範如何建立自訂元件,並運用 View、Text、Image 及 Button 等內建元件建構介面。課程詳細解說了 Props 的傳遞與解構機制,展示如何將文字、圖片路徑甚至是外部函式由父元件動態傳遞給子元件。接著,講師介紹了 useState 狀態變數的應用,透過三元運算子實作動態渲染,讓使用者點擊按鈕即可切換不同元件的顯示。課程後半段更進一步探討資料陣列的處理,示範利用 map 函式將陣列資料迴圈輸出成多個元件,並點出動態組合 require 圖片路徑時容易遇到的編譯錯誤。最後總結本堂學習要點並簡介了未來將學習的 FlatList 概念,為下一堂課串接資料庫與換頁功能打下基礎。

完整章節內容
  1. React Native 開發特性與專案環境簡介

    介紹 React Native 純程式碼特性,並開始學習使用指令建立專案環境。

  2. 啟動 Web 伺服器與安裝執行套件

    講解如何使用指令啟動 Web 伺服器並安裝 React Native Web 所需的相關套件。

  3. 建立與定義第一個自訂 Component

    示範如何建立自訂 Component,並學習匯入與匯出模組的語法。

  4. 圖片素材下載與 Asset 資料夾管理

    引導將網路下載的圖片存放至專案的 asset 資料夾以便後續使用。

  5. 使用 Image 元件與 Require 引入圖片

    介紹如何使用 Image 元件,並透過 require 語法將本機圖片顯示於畫面上。

  6. 元件動態化:接收與使用 Props 參數

    講解元件如何透過 Props 接收外部傳入的參數,使內容能根據參數改變。

  7. 將函式作為 Props 傳遞與 Button 應用

    示範在元件中加入 Button,並學習如何將父元件的函式傳遞給子元件觸發。

  8. 建立新專案 Project 4 準備進階實作

    開啟新的 Expo 專案,為學習更進階的排版與動態渲染做準備。

  9. 啟動 Android 模擬器與 Expo Go 測試

    示範如何啟動 Android 模擬器,並說明實體手機使用 Expo Go 測試的方法。

  10. 動態渲染 (Dynamic Rendering) 的邏輯介紹

    說明如何透過三元運算子與條件判斷,讓畫面根據不同情況顯示不同元件。

  11. 引入與設定 useState 狀態變數

    學習使用 React 的 useState Hook,建立可改變元件狀態的變數。

  12. 實作按鈕切換元件狀態與畫面更新

    完成點擊按鈕即可更改狀態變數,進而動態切換畫面上顯示的貓狗元件。

  13. 建立 Project 5 進行清單與迴圈練習

    再次建立新專案,準備講解如何將陣列資料轉換為列表元件。

  14. 運用 map() 函式將陣列轉換為元件

    詳細示範如何利用 JavaScript 的 map 函式,將陣列內的文字資料逐一渲染至畫面。

  15. 課堂總結與下一堂課內容預告

    總結本日學習的 Component、Props、State 等核心觀念,並預告下一堂課將串接資料庫。

查看本課 Quiz 示例(3 題)
1. 實作動態渲染 (Dynamic Rendering) 時,腳本中介紹使用了什麼符號來進行條件判斷?
  • A+ 和 -
  • B? 和 : (問號與冒號)
  • C& 和 *
  • D@ 和 #
顯示答案與解釋

答案:B
腳本說明「用一個問號的方式做決策,colon就是代表否則」。

2. 建立新的 Expo 專案時,腳本中示範使用哪個指令?
  • Anpm create expo
  • Bnpx create-expo-app
  • Cnpm build expo
  • Dnpx react-native-init
顯示答案與解釋

答案:B
腳本中提到「MPX-GREAT-EXPO APP」及「mpx create expo app」,即建立專案的指令。

3. 在子元件中直接以大括號讀取屬性參數的方式,稱為什麼技巧?
  • Alooping
  • Bdestructuring
  • Cformatting
  • Dmapping
顯示答案與解釋

答案:B
腳本提及「我們可以用另一招,就是更加prefer的,叫做de-structuring,直接用大括號包住」。

LESSON 03 Lesson 3 14 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本堂課為 React Native 課程的第三課,主要教授多個核心開發概念與實用技巧以取代純手動編碼的傳統作法。課程首先複習如何建立專案與指令操作,並深入講解 Component(組件)的概念,特別是父子組件之間的資料傳遞(Props),包括傳遞變數與函數,並示範了如何透過子組件呼叫父組件的函數來實現資料反向傳遞與解構賦值 (Destructuring) 的寫法。接著,課程引入了 FlatList 組件的使用方法,說明其優於傳統列表的渲染效能,並實作了 data、renderItem 與 keyExtractor 三個核心屬性。隨後,課程結合網路請求 fetch API 與 React Hooks(useState 與 useEffect),示範如何從遠端 API 獲取 JSON 資料並動態顯示於列表中,詳細解釋了非同步操作與狀態管理(副作用及依賴陣列)的結合運用。最後,課程探討了多頁面切換的實作邏輯,展示如何透過狀態變數與條件渲染來控制頁面的顯示與隱藏,達到動態載入組件的效果。雖然課程中實作手動轉頁時遇到了一些資料傳遞的困難,但講師也預告下一堂課將會引入 useNavigation 導航套件,為後續的應用開發奠定重要的基礎理解。

完整章節內容
  1. React Native 專案建立與基礎複習

    回顧如何開啟命令提示字元並使用 npx create-expo-app 指令建立空白專案。

  2. 建立 Component 與基礎使用

    講解如何建立獨立的子組件,並將其引入到主程式中渲染顯示。

  3. 父子組件傳遞函數與數值

    示範如何將變數及 JavaScript 函數透過 Props 傳遞給子組件,並讓子組件呼叫。

  4. 解構賦值 (Destructuring) 寫法

    介紹在接收 Props 時使用解構賦值語法,直接提取出需要的變數與函數。

  5. 認識 FlatList 列表組件

    講解類似 Android RecyclerView 的 FlatList 組件,並說明其基礎渲染屬性設定。

  6. 透過 fetch API 獲取遠端資料

    使用 JavaScript 內建的 fetch 函數發送網路請求,並取得 JSON 格式的資料。

  7. 將資料綁定至 FlatList

    把網路上獲取的資料存入狀態變數,並綁定為 FlatList 的 data 屬性進行渲染。

  8. useEffect 依賴陣列的運作機制

    解釋 useEffect 第二個參數 (Dependency Array) 的功能,如何根據變數變化觸發函數。

  9. 轉頁 (Change Page) 概念介紹

    說明在單一畫面 App 中實現多頁面切換效果的重要觀念與基本做法。

  10. 狀態變數與動態載入組件

    示範透過判斷 currentPage 的狀態值,使用三元運算子決定渲染哪個 Component。

  11. 使用 TextInput 設計資料輸入表單

    在頁面中加入 TextInput 組件,並設定預設顯示文字 (placeholder)。

  12. TextInput 屬性綁定與狀態更新

    說明 TextInput 必須配合 value 與 onChangeText 屬性,才能持續更新狀態變數。

  13. 第一版與第二版的資料傳遞邏輯

    嘗試實作按下按鈕後將表單資料從第一版傳回父組件,再轉至第二版顯示的流程。

  14. 頁面導航錯誤排除與後續課程預告

    總結手動設計轉頁機制的困難點,預告後續將使用 useNavigation 套件簡化開發。

查看本課 Quiz 示例(3 題)
1. 不使用 props 物件接收屬性,改用大括號直接接收特定變數的方法稱為什麼?
  • AInitializing
  • BRe-rendering
  • CDestructuring (解構)
  • DInheritance
顯示答案與解釋

答案:C
課程中提到「很多時間會用一個叫destructuring的方法,就是打散所有東西」。

2. FlatList 的 keyExtractor 屬性主要作用是什麼?
  • A控制列表顏色
  • B決定點擊事件的觸發
  • C提供每一行唯一的識別碼 (unique id)
  • D設定文字字型
顯示答案與解釋

答案:C
腳本提到「因為每一行都用不同的key...Key Extractor抽回number出來做key」。

3. 用於收集使用者輸入資料 (如輸入姓名) 的組件名稱是什麼?
  • ALabel
  • BText
  • CTextInput
  • DButton
顯示答案與解釋

答案:C
設計表單時提到「入資料就叫做test input (TextInput)」。

LESSON 04 Lesson 4 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本節 React Native 課程主要教授如何結合 AI 工具來加速開發流程,並深入探討應用程式的導航機制、資料管理以及表單處理。課程前半段,導師指導學生建立及清理 Expo 專案,示範傳統透過父組件傳遞函數與狀態來切換頁面的方法,隨後引入更強大的 React Navigation,涵蓋堆疊導航 (Stack Navigation)、抽屜導航 (Drawer Navigation) 以及底部標籤導航 (Bottom Tab Navigation)。接著,課程介紹了如何使用 FlatList 元件來渲染清單,以及如何透過 fetch 從 JSON Placeholder 獲取遠端資料。在本地端資料儲存方面,導師詳細講解了 AsyncStorage 的實作方法,示範將使用者輸入的表單資料轉換為字串後儲存並在需要時讀取,也能在瀏覽器開發者工具中檢視。課程後段的實作環節包含一個具備 CRUD 功能的待辦事項 (To-Do List) 應用程式,並處理了複雜的表單控制項與刪除確認彈出視窗 (Modal Dialog)。最後,導師簡介如何使用 Expo Application Services (EAS) 將應用程式打包並部署上傳至雲端,以便在實體手機或模擬器上進行測試與安裝。

完整章節內容
  1. 課程回顧與環境準備

    回顧上一節課的專案並使用命令提示字元準備開發環境與資料夾。

  2. 建立新的 Expo 專案

    示範如何下達指令建立全新的 Expo 專案並啟動網頁伺服器進行測試。

  3. 使用 AI 工具生成基礎頁面

    透過提示詞要求 AI 生成不含導航套件的兩個基本頁面以了解資料傳遞原理。

  4. 引入 React Navigation

    安裝 React Navigation 套件並使用堆疊導航來實現頁面切換與參數傳遞。

  5. 使用 FlatList 渲染清單

    透過 AI 生成 FlatList 結構,展示如何將陣列資料渲染為可點擊的清單。

  6. 從外部 API 獲取資料

    結合 useEffect 從 JSON Placeholder 獲取遠端資料並更新至清單狀態中。

  7. 實作 AsyncStorage 本地儲存

    安裝 AsyncStorage 並示範如何將使用者的輸入資料轉為字串後存入本地端。

  8. 檢查本地儲存資料

    教導如何開啟瀏覽器的開發者工具,在 Local Storage 標籤中確認儲存的資料。

  9. 應用 Drawer Navigation

    重新建立專案並匯入抽屜式導航套件,製作可以從側邊滑出的導航選單。

  10. 處理複雜表單控制項

    加入單選按鈕 (Radio Button) 與下拉選單 (Picker) 等表單控制項來收集使用者資料。

  11. 除錯與改用 Picker 控制項

    處理第三方單選按鈕產生的問題,並改用更為穩定的 Picker 控制項替代。

  12. 實作底部標籤導航

    介紹 Bottom Tab Navigation,在應用程式下方加入分頁切換按鈕。

  13. 開發待辦事項 CRUD 應用

    利用狀態管理與陣列展開運算子實作待辦事項的新增、讀取、更新與刪除功能。

  14. 新增提示對話框與編輯模式

    加入刪除確認的 Modal Dialog Box,並設定編輯模式的切換與取消機制。

  15. 透過 EAS 部署上傳雲端

    介紹 Expo Application Services,安裝 EAS CLI 並將應用程式打包上傳至雲端提供下載。

查看本課 Quiz 示例(3 題)
1. 為了取得遠端的 JSON 測試資料,課程使用了哪一個網站的 API?
  • AGoogle API
  • BJSON Placeholder
  • CFacebook Graph API
  • DFirebase Realtime DB
顯示答案與解釋

答案:B
導師在指令中向 AI 要求從 json placeholder 這個網站去 fetch 資料,而不是使用本地資料。

2. 若想製作可以從畫面側邊滑出的選單,應該選擇哪一種 Navigation?
  • AStack Navigation
  • BDrawer Navigation (抽屜導航)
  • CBottom Tab Navigation
  • DTop Tab Navigation
顯示答案與解釋

答案:B
導師提到 Drawer Navigation 可以在右邊或左邊彈出來轉頁,並要求 AI 建立此導航介面。

3. 在 React 中更新待辦事項 (Task) 陣列時,為了將舊資料保留並加入新資料,導師使用了什麼語法?
  • AArray.push()
  • BSpread Operator (三點 ... 展開運算子)
  • CArray.splice()
  • DObject.assign()
顯示答案與解釋

答案:B
導師解釋要用 Spread Operator (三點),將舊的 Task 散開並加入新的,否則會覆蓋掉原有的資料。

STAGE 02 · AI-ASSISTED DEVELOPMENT

再用 AI 加速開發與除錯

把已掌握的技術結合 ChatGPT、Claude、Copilot 與 Gemini,生成、檢查和改善 App 程式碼。

Certificate in AI Apps Development 4 LESSONS · 10 HOURS
AIAPPS2025

AI Android Apps 應用程式開發證書課程

Certificate in AI Apps Development

運用 AI 輔助 Kotlin 與 Android Studio 開發,掌握多頁 App、SQLite、RecyclerView、網絡 API、Firebase Database 及相片上載。

完整逐課內容、摘要及時間章節

以下內容直接取自每段完整課堂錄影及已建立的 AI 學習資料。

4 課59 個章節80 題題庫
LESSON 01 Lesson 1 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本課程帶領學員了解如何利用AI輔助工具(如Poe與Copilot)大幅提升Android應用程式的開發效率。課程初期詳細示範了Android Studio的介面、建立Empty Views Activity專案的流程,以及XML介面檔與Kotlin程式檔的基礎架構與關聯。隨後,導師講解了虛擬機(Emulator)的設定方法與Logcat除錯工具的使用,並實作自定義的Student與Teacher類別,學習物件實體化的概念。課程後半段著重於AI提示詞的撰寫技巧,示範如何讓AI快速生成程式碼以及指定的介面佈局(如LinearLayout)。最後,學員學習了UI元件在ConstraintLayout的定位原理、設定元件ID,以及使用findViewById與setOnClickListener將介面按鈕與程式邏輯進行綁定,並透過AI進一步完成按鈕的Toggle切換狀態功能,完整體驗從無到有的AI輔助開發流程。

完整章節內容
  1. 課程簡介與建立專案

    介紹透過AI輔助進行Android開發的全新模式,並示範正確選擇Empty Views Activity建立專案。

  2. 設定虛擬裝置與執行應用

    講解如何使用Android內建的模擬器或實體手機測試開發中的應用程式。

  3. 了解程式碼基礎與架構

    說明Class類別的結構,包含變數區與Function區,以及覆寫(Override)等基本概念。

  4. 建立自定義類別 (Student)

    示範如何手動建立一個Student類別,定義名稱、年紀與電郵等變數及列印函式。

  5. 將物件實體化並賦予屬性

    在MainActivity中呼叫建立好的Student類別,宣告變數並寫入實體資料。

  6. 使用Logcat觀察執行結果

    說明如何過濾標籤並使用Logcat來查看程式中Log.d印出的Debug資訊。

  7. 註冊與使用AI輔助工具

    介紹Poe.com與Copilot等AI工具,為後續生成程式碼做準備。

  8. 利用AI生成程式碼並複製

    示範提供範例給AI,讓其快速生成Teacher類別的完整程式碼,並貼回專案執行。

  9. 建立第二個專案與UI介面

    開新專案開始學習UI介面設計,認識Test View等元件與畫面的縮放。

  10. ConstraintLayout元件定位

    學習在UI介面中拉定位線,避免元件在執行時全部集中在左上角。

  11. 利用AI生成介面佈局

    編寫提示詞讓AI自動生成包含特定顏色、字體大小與線性佈局(LinearLayout)的程式碼。

  12. 檢查與修正AI產生的程式碼

    將AI生成的XML程式碼貼入Code View中,並觀察Design View的變化與除錯。

  13. 為UI元件設定ID

    替畫面上每個Button與Test View設定唯一ID,以便在程式端進行呼叫綁定。

  14. 設定按鈕點擊監聽器

    撰寫程式碼透過findViewById綁定介面,並加入setOnClickListener來觸發文字變更。

  15. 撰寫Toggle按鈕邏輯

    向AI提出新需求,利用布林值變數將按鈕升級為可在兩種狀態間切換的Toggle功能。

查看本課 Quiz 示例(3 題)
1. 在介面設計時如果UI元件沒有加上任何定位線(Constraint),執行應用程式時會發生什麼狀況?
  • A自動向畫面置中對齊
  • B元件會隱藏無法顯示
  • C所有元件會全部飛到畫面的左上角
  • D導致編譯失敗並出現紅色錯誤
顯示答案與解釋

答案:C
導師實際測試示範,若無設定定位線,元件在執行時便會不受控制地堆疊在左上角。

2. AI生成的介面(Layout)代碼,應該要貼在Android Studio介面設計檔的哪一個視圖(View)中?
  • ADesign View
  • BCode View
  • CSplit View
  • DProject View
顯示答案與解釋

答案:B
導師說明因為AI產出的是XML純文字代碼,所以必須切換到Code View貼上,才能反映在畫面上。

3. 在Android Layout中,調整字體大小(Text Size)時使用的單位通常是什麼?
  • Apt
  • Bpx
  • Csp
  • Ddp
顯示答案與解釋

答案:C
導師在示範調整大小與教導寫AI提示詞時,特別強調單位是SP(如50SP)。

LESSON 02 Lesson 2 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本堂課程主要教授Android應用程式開發,涵蓋介面設計、頁面跳轉與資料庫建立。首先,導師指導學生在Android Studio中開啟新專案,並示範如何清理多餘的程式碼以保持專案整潔。接著,介紹如何使用介面編輯器建立包含文字輸入框、按鈕及文字顯示區的表單,並完成元件的ID命名與版面定位。課程重點講解了如何在程式碼中宣告變數並使用findViewById綁定介面元件,以及設定按鈕監聽器來收集使用者輸入的資料。隨後,導師示範了如何建立第二個Activity,並利用Intent物件實現頁面之間的跳轉與資料傳遞。在課程後半段,教學重點轉向SQLite資料庫的應用。導師引導學生建立SQLiteOpenHelper與資料模型類別,學習撰寫SQL指令來建立資料表,並實作新增與查詢功能。最後,課程展示了如何結合使用者輸入表單與資料庫,將收集到的姓名與電子郵件存入SQLite,並透過Logcat工具過濾與驗證資料是否成功儲存,為後續的資料庫進階操作打下基礎。

完整章節內容
  1. 開啟專案與環境設定

    建立新專案並調整API版本與清理多餘的預設程式碼以保持專案整潔。

  2. 建立基本資料輸入介面

    在Layout加入文字輸入框、按鈕與文字顯示區並進行排版與定位。

  3. 程式碼與介面元件綁定

    在MainActivity宣告變數並利用findViewById找出介面元件。

  4. 設定按鈕監聽器與收集資料

    設定OnClickListener以擷取使用者輸入的文字並顯示於畫面上。

  5. 運用AI輔助生成複雜表單

    將版面與程式碼提供給AI工具,快速產生包含多種輸入欄位的介面。

  6. 建立第二個頁面

    新增DataActivity與設計對應的介面以準備接收從主頁傳來的資料。

  7. 利用Intent實現頁面跳轉

    編寫Intent程式碼讓按鈕觸發後能切換至第二個頁面。

  8. 實作返回按鈕功能

    在第二頁使用finish方法關閉當前頁面,讓畫面返回至主頁。

  9. 透過Intent傳遞資料

    使用putExtra將收集到的人名資料打包,準備傳送至第二個頁面。

  10. 在第二頁接收並顯示資料

    利用getIntent和getStringExtra解析傳入的資料並顯示在畫面上。

  11. 建立資料庫專案與環境設定

    開啟全新的資料庫專案,修正API版本問題並清理多餘程式碼。

  12. 認識SQLite與建立資料表

    解說資料庫基礎結構並撰寫Create Table的SQL指令來定義資料表。

  13. 建立Database Manager類別

    繼承SQLiteOpenHelper並實作onCreate與onUpgrade等必要方法。

  14. 建立資料模型Model Class

    新增Staff類別以明確定義資料庫內每一筆紀錄的結構與屬性。

  15. 結合介面與資料庫儲存紀錄

    利用AI修改MainActivity以收集姓名及電郵並寫入SQLite,透過Logcat驗證。

查看本課 Quiz 示例(3 題)
1. 建立新專案時,導師建議選擇哪種Activity範本?
  • ABasic Activity
  • BEmpty Views Activity
  • CNavigation Activity
  • DFullscreen Activity
顯示答案與解釋

答案:B
導師在影片初期明確指示要選擇Empty Views Activity來建立乾淨的專案。

2. 為了保持程式碼整潔,導師建議在MainActivity中刪除哪類多餘的程式碼?
  • AonCreate方法
  • BsetContentView設定
  • CEdge to Edge與ViewCompat等程式碼
  • Dimport類別
顯示答案與解釋

答案:C
導師強調越追求越少Code越好,並示範刪除Edge to Edge與ViewCompat以簡化程式結構。

3. 若專案出現API版本錯誤,導師示範將build.gradle中的版本改為多少來解決?
  • A33
  • B34
  • C35
  • D36
顯示答案與解釋

答案:D
影片中提到系統預設為35,並示範將compileSdk改為36來解決錯誤並進行Sync。

LESSON 03 Lesson 3 14 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本堂課詳細講解了在Android Studio中開發應用程式的進階功能,主要涵蓋三個核心部分。首先,教授如何建立及運用出名難處理的RecyclerView,包含設定Data Class、Item Layout以及Adapter Class,將資料以清單方式呈現,並介紹將圖片放入drawable資料夾的處理技巧。接著,教學深入探討結合SQLite資料庫進行CRUD(新增、讀取、更新、刪除)操作,示範如何建立DBManager管理資料,以及設計新增與更新資料的介面,並處理頁面跳轉與生命週期。最後,引入網路連線概念,指導學員使用Volley函式庫從遠端伺服器(如JSONPlaceholder)下載JSON資料,設定網路權限,並將擷取到的真實網路數據整合至RecyclerView中顯示。

完整章節內容
  1. 認識 RecyclerView

    介紹 RecyclerView 這個用來呈現資料清單的重要介面與其建立專案的流程。

  2. RecyclerView 的三大元素

    講解 RecyclerView 需要配備的三樣基礎檔案:Data Class、Item Layout 與 Adapter Class。

  3. 設計 Item Layout

    手把手示範如何利用 TextView 與 ImageView 等元件排版每一行資料的外觀,並設定合適的元件屬性。

  4. 建立 Adapter Class

    進入最困難的步驟,透過 AI 輔助建立 Adapter,將資料源與排版物件進行綁定及生成。

  5. 相片素材匯入 Drawable

    解說如何從網路下載相片素材,並提醒命名規範,將檔案放入專案的 drawable 資料夾中。

  6. 運用 AI 實作 Employee List

    使用 AI 輔助工具快速生成員工清單系統所需的各種檔案與程式碼,提升開發效率。

  7. 整合 AI 程式碼

    將 AI 生成的 Data Class、Layout 及 Adapter 程式碼依序貼入 Android Studio 專案並解決錯誤。

  8. 引入 SQLite 資料庫

    使用 SQLite 替換靜態資料,建立 DBManager 來管理新增、讀取、更新與刪除 (CRUD) 的操作。

  9. 設計新增資料頁面

    建立全新的 Activity,包含填寫表單的介面,用以將新的員工資料儲存進資料庫。

  10. 實作資料修改與刪除

    解說如何點擊清單進入詳細資料頁面,並在該頁面實作附帶確認對話框的刪除與更新功能。

  11. 使用 onResume 更新頁面

    解決資料修改後主畫面未及時更新的問題,透過 Android 生命週期 onResume 重新讀取資料庫。

  12. 使用 Volley 函式庫連線

    介紹透過 Google 提供的 Volley 函式庫,輕鬆解決 Android 應用程式的網路連線與資料下載需求。

  13. 連接 JSONPlaceholder

    示範如何利用免費的測試 API (JSONPlaceholder) 來取得遠端的 JSON 格式假資料。

  14. 加入 Internet 權限並測試

    在 AndroidManifest 設定網路權限,完成資料下載並於 Logcat 中確認回傳的網路數據。

查看本課 Quiz 示例(3 題)
1. 當我們要讓程式管理增刪查改操作時,通常這些操作被合稱為什麼?
  • AHTTP
  • BJSON
  • CCRUD
  • DREST
顯示答案與解釋

答案:C
導師提到資料庫需要實現 CRUD operation,即 Create, Read, Update, Delete 的功能。

2. 下載好的相片應該被放入專案中的哪一個資料夾?
  • Aassets
  • Bdrawable (joeable)
  • Clayout
  • Dmipmap
顯示答案與解釋

答案:B
影片中指示要將照片複製並貼上到 app 的 res 下的 drawable (語音讀作 joeable/job) 資料夾中。

3. 在使用 SQLite 儲存範例資料前,程式會先進行什麼檢查?
  • A檢查是否連上網路
  • B檢查資料表 (Table) 是否為空 (empty)
  • C檢查照片檔案是否存在
  • D檢查權限是否開啟
顯示答案與解釋

答案:B
程式碼中包含一個檢查機制,確認資料表是空的才會去儲存範例資料,避免重複加入。

LESSON 04 Lesson 4 15 個完整時間章節 · 3 條 Quiz 示例
本課摘要

本節課程主要教授如何在Android Studio中整合Firebase服務,並透過AI輔助生成Kotlin程式碼來開發應用程式。前半部重點在於Firebase Realtime Database的實作,涵蓋建立專案、設定測試模式權限、寫入單純字串,以及使用push()方法寫入具備自動產生ID的產品物件(包含名稱、數量與價錢)。隨後引導學生使用AI設計輸入介面,並透過RecyclerView即時顯示資料庫內容,進而實作更新與刪除功能,同時強調Realtime Database即時更新的優勢。後半部則轉入Firebase Cloud Storage,指導學員建立新專案以準備上傳相片,說明如何在AndroidManifest中開啟相機權限、設定FileProvider機制,處理Android新版的執行時權限(Runtime Permission)問題,並比較模擬器與實體機在硬體測試上的差異。

完整章節內容
  1. 介紹Firebase與建立專案

    導師介紹Firebase Realtime Database並引導學員登入Google帳號建立新的Firebase專案。

  2. 在Android Studio建立Kotlin新專案

    示範在Android Studio建立新的Empty Views Activity專案,並提醒選擇Kotlin作為程式語言。

  3. 設定Database規則為測試模式

    說明預設資料庫權限為鎖定狀態,為了開發測試必須將權限放寬為Test Mode以允許讀寫。

  4. 寫入基礎資料至Database

    撰寫程式碼取得Firebase Reference,並成功將Hello World與自訂名稱寫入雲端資料庫。

  5. 建立Product資料類別(Data Class)

    利用AI產生程式碼,在專案中建立一個包含名稱、數量與價錢等欄位的Product資料類別。

  6. 使用push()方法自動產生資料ID

    解說並示範使用push()方法將產品資料寫入資料庫,由Firebase自動產生唯一的資料ID。

  7. 建立產品資料輸入介面(UI)

    透過向AI輸入Prompt,快速生成包含產品名稱、數量、價錢欄位及儲存按鈕的UI佈局檔與程式碼。

  8. 實作RecyclerView顯示雲端資料

    請AI協助建立RecyclerView、Adapter與ItemLayout,將儲存在Firebase的產品清單顯示在畫面上。

  9. 測試Firebase即時資料同步特性

    示範在雲端直接修改產品數值,手機端App畫面會立刻同步更新,展示即時資料庫的優勢。

  10. 實作資料的更新與刪除功能

    要求AI在每筆資料旁加入更新與刪除按鈕,並在刪除前加入確認對話方塊(Dialog Box)。

  11. 除錯刪除功能與更新Data Class

    解決刪除時清空整個資料庫的錯誤,原因是缺少ID,需將Firebase ID加入Data Class中。

  12. 建立Cloud Storage相片上傳新專案

    關閉原專案,建立全新的Cloud Storage專案,準備學習如何呼叫相機拍照並上傳檔案。

  13. 設定相機權限與FileProvider機制

    在AndroidManifest.xml中加入相機使用權限,並新增FileProvider以支援較新的相機呼叫機制。

  14. 解決執行時期的權限請求問題

    針對較新Android版本,實作在應用程式執行時動態跳出視窗詢問使用者是否授予相機權限。

  15. 實體機與模擬器測試相機之建議

    導師強烈建議針對相機拍照等硬體功能,使用透過Wi-Fi連線的實體手機進行測試會比模擬器穩定。

查看本課 Quiz 示例(3 題)
1. 根據腳本,Firebase Realtime Database和SQLite的最大差別是什麼?
  • ASQLite需要收費,Firebase完全免費
  • BSQLite放在雲端,Firebase放在設備上
  • CSQLite放在手機設備上,Firebase放在雲端
  • D兩者沒有任何分別
顯示答案與解釋

答案:C
腳本提及SQLite的database是放在device(手機)上面的,而firebase是放在雲端。

2. Android App在呼叫相機拍照時,其底層的運作原理通常是什麼?
  • AApp自己從頭寫了一個相機的驅動程式
  • B使用Intent機制呼叫手機內建的相機App來協助拍照
  • C透過Firebase的雲端相機API拍照
  • D自動截取當下的手機螢幕畫面
顯示答案與解釋

答案:B
導師解釋我們不用自己做相機功能,我們是用這個app去call(呼叫)手機內置的camera apps去take photo,這個機制叫intent object。

3. 設定FileProvider時,必須在res/xml資料夾中手動新增哪一個設定檔?
  • Astrings.xml
  • Bfilepath.xml (或 file_paths.xml)
  • Ccamera_rules.xml
  • Dprovider_settings.xml
顯示答案與解釋

答案:B
導師指出要開xml資料夾裡面加個file,名稱叫filepath.xml,以提供檔案路徑給Provider使用。

LEARNING OUTCOMES

完成課程後,你將能夠

不只是跟隨影片完成練習,而是真正理解技術、獨立解決問題,並把 AI 變成可控制和可驗證的工作助手。

01

理解 Apps 架構

掌握 Android Kotlin、React Native、介面、導航、資料儲存、API 及雲端服務如何配合運作。

02

獨立建立流動應用

能夠由畫面設計開始,完成原生及跨平台 App 的主要功能與資料流程。

03

測試及解決問題

能閱讀錯誤訊息、追蹤程式流程,處理裝置權限、Firebase 及跨平台問題。

04

有效使用 AI 開發

運用 AI 產生、檢查、重構及改善 App 程式碼,同時自行驗證答案是否合理。

05

建立實戰作品

把所學整合成可展示及繼續擴充的 Android、React Native 與 AI Apps 專案。

DM
LEAD INSTRUCTOR
導師簡介 · TUTOR PROFILE

Dannis Mok

擁有豐富的商業網頁及應用程式系統開發經驗,以及超過 25 年教學經驗。教學方式清晰直接,擅長把複雜技術拆解成容易理解、可以實際應用的步驟。

曾為知名企業、政府部門及本地大學提供培訓,涵蓋辦公室自動化、數據科學、數據分析,以及商業網頁和 Apps 系統開發;並擔任 NCC Education 及 University of Greenwich 的主要講師。

25+ 年教學經驗商業 Web & Apps 開發BSc · MBA · 2× MSc企業及政府培訓
Microsoft
MOS Master
Microsoft
MCSE · MCDBA
Cisco
CCNP · CCDP
CompTIA Data Plus Microsoft Power BI Data Analyst Associate Python Institute PCAP
查看相關專業認證
  • Microsoft MCSE、MCDBA、Microsoft Certified System Developer
  • Microsoft Office Specialist Master
  • Cisco CCNA、CCDA、CCNP、CCDP
  • Sun Certified Java Programmer、Oracle Certified Database Professional
  • Linux LPI Level 1 & 2、CompTIA Data+
  • Microsoft Power BI Data Analyst Associate、Python Institute PCAP
查看企業及機構培訓經驗
  • 教育局、香港教育大學、VTC 職業訓練局
  • 積金局、房屋署、勞工處及醫管局
  • 中國銀行、香港郵政及香格里拉大酒店
  • Android、iPhone、HTML5、Angular、跨平台及企業系統開發培訓
完整三證書組合

Android、React Native 與 AI Apps 開發組合課程

Android, React Native & AI Apps Development Package

一次掌握 Android Kotlin 原生開發、React Native 跨平台開發及 AI 輔助 Apps 開發,共 12 節、30 小時完整錄影課。

  • Android Kotlin App Development
    4 節錄影課:Kotlin、Android Studio、SQLite、RecyclerView、Volley 及 Firebase。
  • React Native Cross-platform Development
    4 節錄影課:JSX、元件、導航、裝置功能、API 及跨平台發佈。
  • AI Apps Development
    4 節錄影課:運用 AI 加速 UI、Kotlin、資料庫、API、Firebase 及完整 CRUD App 開發。
原價 HK$5,940HK$3,280
查看完整組合內容

本頁所有課程均為錄影課程;報名後即可開始,無需等待開課。

其他付款方式

支付詳情

  • 轉數快: 快速支付系統識別碼: 108329293
  • 銀行轉帳: 恆生銀行 #789-681384-883
    (戶口名稱: UNiSOFT Education Limited)
  • 支票付款: 枱頭請寫 UNiSOFT Education Limited

注意: 如選用轉數快或銀行轉帳完成付款後,請將付款記錄 Whatsapp 到 90455522

校舍地址及聯繫方式

校舍地址: 九龍佐敦德興街12號興富中心5樓501室
辦公時間: 星期一至星期五 上午11時至晚上8時


Android Logo

Android 應用程式開發證書課程 (CAA2025)

適合初學者修讀,無需任何經驗,
由淺入深教學

你將學到什麼?

  • 設置 Android Studio 並建立第一個專案
  • 學習 Kotlin 基礎:變數、資料類型和控制流程
  • 理解並應用物件導向程式設計概念於 Android 開發
  • 使用 XML 和 Jetpack Compose 設計用戶介面
  • 使用 Navigation Graph 建立多畫面應用程式
  • 使用 RecyclerView 處理動態列表和適配器
  • 使用 SQLite 資料庫進行本地資料儲存
  • 使用 Volley 進行 API 請求並解析 JSON 資料
  • 使用 ViewModel 和 LiveData 建立響應式用戶介面
  • 與 RESTful API 互動並處理身份驗證
  • 整合 Firebase 實現身份驗證和資料管理
  • 學習如何使用 AI 工具加速 Android 開發流程
Android

COURSE OUTLINE

  • Android 開發概述與 Kotlin 介紹
  • 安裝和設置 Android Studio 開發環境
  • 建立第一個 Android 專案
  • 理解 Android 專案結構與檔案組織
  • 設置模擬器與實機測試
  • 實作練習:建立簡單的 "Hello World" 應用程式

  • Kotlin 程式語言簡介與優勢
  • 資料類型、變數宣告與 Null Safety
  • 控制流程:條件判斷與迴圈結構
  • 函數定義與基本語法結構
  • 集合操作:List、Set、Map 的使用
  • 實作練習:撰寫基礎 Kotlin 程式

  • 物件導向程式設計 (OOP) 概念介紹
    • 理解 OOP 概念:類別、物件、繼承和多型
    • 在 Kotlin 中定義類別和建立物件
    • 建構函數與屬性的使用
  • 實作練習:為 Android 應用程式建立基本類別結構
  • 在 Android 開發中應用 OOP
    • 在 Android 開發中應用 OOP 原則
    • 使用類別和物件設計簡單的 Android 應用程式
    • 繼承與介面在 Android 中的應用
  • 實作練習:建立使用 OOP 概念的小型應用程式

  • 理解 Android 用戶介面元件
    • 佈局和視圖的概述
    • 使用 XML 設計用戶介面
    • 常用 UI 元件:TextView、Button、EditText 等
    • 佈局容器:LinearLayout、RelativeLayout、ConstraintLayout
  • 實作練習:使用各種元件建立基本用戶介面
  • Jetpack Compose 現代 UI 開發簡介
    • Jetpack Compose 現代 UI 開發概述
    • 使用 Compose 建立簡單佈局
    • 宣告式 UI 與傳統 XML 的比較
  • 實作練習:使用 Jetpack Compose 建立用戶介面

  • 實作頁面導航功能
    • 理解 Android 中的導航模式
    • 設置 Navigation 元件
    • 在畫面間傳遞資料
    • 處理返回堆疊與導航邏輯
  • 建立 Navigation Graph
    • Navigation Graph 概述與結構
    • 在 Navigation Graph 中定義目的地和動作
    • 組織導航的實用考量
    • 深層連結與條件導航
  • 實作練習:使用導航和 Navigation Graph 建立多畫面應用程式

  • 使用 RecyclerView 建立動態列表
    • RecyclerView 簡介及其元件
    • 建立自訂適配器和視圖持有者
    • 處理項目點擊和資料綁定
    • 不同佈局管理器的使用
  • RecyclerView 進階功能
    • 項目裝飾和分隔線
    • 滑動手勢處理
    • 動畫效果與轉場
  • 實作練習:使用 RecyclerView 建立基於列表的應用程式

  • SQLite 資料庫介紹
    • 理解 SQLite 及其在 Android 中的角色
    • 設置本地 SQLite 資料庫
    • 資料庫設計原則與表格結構
  • CRUD 操作實作
    • 執行 CRUD 操作(新增、讀取、更新、刪除)
    • 使用 SQLiteOpenHelper 管理資料庫
    • 資料庫查詢與結果處理
    • 事務處理與資料完整性
  • 實作練習:建立從 SQLite 儲存和檢索資料的應用程式

  • 使用 Volley 進行網路操作
    • Volley 概述及其優勢
    • 使用 Volley 進行網路請求
    • 處理不同類型的 HTTP 請求
  • JSON 資料處理
    • 解析 JSON 回應資料
    • 錯誤處理與網路狀態管理
    • 圖片載入與快取策略
  • 實作練習:使用 Volley 從公共 API 獲取資料

  • ViewModel 和 LiveData 介紹
    • 理解 MVVM 架構模式
    • 使用 ViewModel 管理 UI 相關資料
    • ViewModel 的生命週期管理
  • LiveData 響應式更新
    • 觀察 LiveData 實現響應式 UI 更新
    • 資料綁定與自動 UI 刷新
    • MediatorLiveData 與複雜資料流
  • 實作練習:在應用程式中實作 ViewModel 和 LiveData

  • 使用 Web 服務
    • 理解 RESTful API 及其運作方式
    • 向 Web 服務發出網路請求
    • API 端點設計與資料格式
  • 身份驗證與安全性
    • 處理身份驗證和 API 金鑰
    • OAuth 與 JWT 令牌管理
    • HTTPS 與安全通信
  • 實作練習:建立與 Web 服務互動的應用程式

  • Firebase 入門設置
    • Firebase 服務概述及其優勢
    • 設置 Firebase 專案並連接到 Android 應用程式
    • Firebase SDK 安裝與配置
  • 實作練習:在 Android 應用程式中配置 Firebase
  • Firebase 身份驗證
    • 使用電子郵件和密碼實作用戶身份驗證
    • 社交媒體登入整合
    • 管理用戶會話與登出功能
  • 實作練習:建立用戶註冊和登入系統
  • Firebase Realtime Database
    • 理解 Realtime Database 的結構和使用方式
    • 即時讀取和寫入資料到資料庫
    • 資料同步與離線支援
    • 資料庫安全規則設置
  • 實作練習:建立儲存和檢索用戶資料的應用程式

  • 介紹 AI 工具在 Android 開發中的應用
  • 使用 AI 快速生成 Android 程式碼
  • AI 協助除錯和程式碼優化
  • 建立高效的 AI 輔助 Android 開發流程
  • 實作練習:使用 AI 工具完成 Android 開發專案

React Native Logo

React Native 跨平台應用開發證書課程 (CRN2025)

適合初學者修讀,無需任何經驗,
由淺入深教學

你將學到什麼?

  • 學習如何使用 React Native 開發跨平台應用程式
  • 學習如何使用 FlexBox 建立響應式佈局
  • 學習如何使用 JSX 設計自訂元件
  • 學習如何使用 props 和 state 管理資料
  • 學習如何使用內建元件進行用戶互動
  • 學習如何使用導航在不同畫面間切換
  • 學習如何在 AsyncStorage 中儲存資料
  • 學習如何使用相機和定位服務
  • 學習如何連接網路下載文字和圖像
  • 學習如何使用 Firebase 和 NodeJS 實作 CRUD 操作
  • 學習如何將應用程式部署到 Google Play Store 和 Apple Store
  • 學習如何使用 AI 工具加速 React Native 開發流程
跨平台

課程大綱

  • React Native 概述與跨平台開發優勢
  • 理解 ReactJS 與 React Native 的差異
  • 設置 React Native 開發環境
  • 安裝 Node.js、React Native CLI 和模擬器
  • 專案結構解析與檔案組織
  • 實作練習:建立第一個 React Native 應用程式

  • 核心元件:View、Text、Image、ScrollView
  • 輸入元件:TextInput、TouchableOpacity、Button
  • 列表元件:FlatList、SectionList
  • 使用 StyleSheet 進行樣式設計
  • FlexBox 佈局系統與響應式設計
  • 處理不同螢幕尺寸和方向
  • 實作練習:使用核心元件建立移動端介面佈局

  • React Hooks 在移動端的應用
  • useState 和 useEffect 狀態管理
  • Props 在元件間的資料傳遞
  • React Navigation 安裝與配置
  • Stack Navigation、Tab Navigation、Drawer Navigation
  • 頁面間參數傳遞與深層導航
  • 實作練習:建立多畫面移動應用程式並實作導航功能

  • 使用 fetch API 進行網路請求
  • 處理 GET、POST、PUT、DELETE 請求
  • JSON 資料的解析與處理
  • 錯誤處理與載入狀態管理
  • 在移動端顯示 API 資料
  • 快取策略與離線資料處理
  • 實作練習:建立從 REST API 獲取並顯示資料的移動應用程式

  • 表單狀態管理與資料綁定
  • 即時表單驗證與錯誤顯示
  • 使用 Formik 和 Yup 進行表單處理
  • 處理不同類型的輸入:文字、數字、日期
  • 移動端鍵盤處理與使用者體驗
  • 觸控事件與手勢識別
  • 實作練習:在 React Native 中建立表單並實作驗證邏輯

  • AsyncStorage 本地資料儲存
  • 資料的持久化與檢索
  • 相機功能整合與圖片處理
  • GPS 定位服務與地圖整合
  • 設備權限管理與請求
  • 處理 iOS 和 Android 平台差異
  • 實作練習:整合相機、定位等設備功能的應用程式

  • 設計完整的 CRUD 操作介面
  • 整合 Firebase Firestore 雲端資料庫
  • 即時資料同步與離線支援
  • 用戶認證與權限管理
  • 連接 NodeJS 後端 API
  • 檔案上傳與雲端儲存
  • 實作練習:建立具備完整 CRUD 功能的移動應用程式

  • 為 iOS 和 Android 準備應用程式
  • 建置發布版本與代碼簽名
  • 應用程式圖示與啟動畫面設計
  • Google Play Store 發布流程
  • Apple App Store 發布流程
  • 應用程式測試與品質保證
  • 版本更新與維護策略
  • 實作練習:在模擬器/實機上建置並執行 React Native 應用程式

  • 介紹 AI 工具在 React Native 開發中的應用
  • 使用 AI 快速生成 React Native 元件
  • AI 協助除錯和程式碼優化
  • 建立高效的 AI 輔助跨平台開發流程
  • 實作練習:使用 AI 工具完成 React Native 開發專案


Android Development Logo

AI 助力 Android 應用開發實戰課程 (AIA2025)

結合理論與實務,
透過 AI 工具提升 Android 開發效率

你將學到什麼?

  • 掌握 Android Studio 環境設置與模擬器管理
  • 學會使用 AI 工具輔助 Android UI 設計與佈局
  • 運用 AI 快速生成 Kotlin 程式碼與邏輯結構
  • 透過 AI 協助物件導向程式設計與類別建立
  • 使用 AI 工具設計表單驗證與資料處理邏輯
  • 實作 AI 輔助的頁面導航與資料傳遞機制
  • 運用 AI 進行 SQLite 資料庫設計與 CRUD 操作
  • 建立 AI 協助的 RecyclerView 與資料綁定系統
  • 整合 Firebase 雲端服務與 AI ML 功能
  • 透過 AI 優化網路請求與 API 整合流程
  • 開發完整的 CRUD Android 應用程式
  • 掌握應用程式發佈到 Google Play Store 的流程
AI 實戰

COURSE OUTLINE

  • Android 開發環境建置與設定
    • Android Studio 安裝與最佳化配置
    • SDK 管理器設定與版本控制
    • 建立和管理 Android 虛擬設備 (AVD)
    • 模擬器效能優化與除錯技巧
  • Android 專案結構深度解析
    • 理解 Android 專案的目錄架構
    • 探索 app 模組與 Gradle 建置系統
    • AndroidManifest.xml 配置與權限管理
    • 資源檔案的組織與最佳實踐
  • Android 資源管理系統
    • 圖片資源的管理與多解析度支援
    • 字串資源的國際化與本地化
    • 佈局資源的設計與響應式適配
    • 顏色、尺寸和樣式資源的統一管理
  • UI 佈局設計與程式碼檢視
    • 使用拖拉式設計器創建佈局
    • 理解 XML 佈局程式碼結構
    • 設計檢視與程式碼檢視的切換技巧
    • 多螢幕尺寸的佈局預覽與測試
  • 基礎 Widget 元件應用
    • TextView:文字顯示與格式化
    • ImageView:圖片顯示與縮放處理
    • Button:按鈕樣式設計與事件處理
    • Layout 容器:LinearLayout、RelativeLayout、ConstraintLayout
  • AI 輔助螢幕設計與生成
    • 使用 ChatGPT 和 Claude 生成 UI 設計概念
    • AI 協助創建 XML 佈局程式碼
    • 利用 AI 工具進行顏色搭配和視覺設計
    • 自動化 UI 元件樣式和主題生成
  • 實作練習:AI 輔助第一個 Android 應用
    • 建立包含多種 Widget 的練習專案
    • 使用 AI 工具優化佈局設計
    • 實作響應式 UI 與多螢幕適配
    • 完成基礎 Android 應用程式架構

  • Kotlin 程式語言基礎
    • Kotlin vs Java:現代 Android 開發的選擇
    • 基本語法結構與程式碼風格指南
    • 變數宣告:val、var 與資料類型系統
    • Kotlin 的安全性特性:Null Safety
  • AI 輔助 Kotlin 語言學習
    • 使用 AI 工具理解 Kotlin 語法結構
    • AI 協助解釋變數、陣列和控制結構
    • 利用 AI 生成 Kotlin 練習程式碼
    • AI 輔助的程式碼除錯與最佳化建議
  • 控制結構與陣列操作
    • 條件控制:if/else、when 表達式
    • 迴圈結構:for、while 迴圈的應用
    • 陣列與集合:Array、List、Set、Map
    • 高階函數與 Lambda 表達式
  • 物件導向程式設計基礎
    • 類別與物件的定義與實例化
    • 建構函數與屬性的設計
    • 方法定義與封裝概念
    • 資料類別 (Data Class) 的應用
  • 繼承與多型
    • 父類別和子類別的設計原則
    • 繼承的語法與 override 應用
    • 抽象類別與介面的使用
    • 多型性在 Android 開發中的應用
  • Android 中的自訂類別應用
    • 建立資料模型類別
    • 工具類別與單例模式
    • 自訂 View 類別的基礎設計
    • 類別在 Activity 與 Fragment 中的整合
  • 除錯與日誌系統
    • Log.d 日誌系統的使用技巧
    • Logcat 的查看、篩選與分析
    • 除錯訊息的分類與最佳實踐
    • 使用 AI 工具協助除錯流程
  • 連接程式碼與 UI 的第一個應用
    • findViewById 與 View Binding 的使用
    • 設定按鈕點擊事件與監聽器
    • 在程式碼中動態操作 UI 元件
    • 建置、執行與測試 Android 應用程式

  • AI 輔助表單設計與資料接收
    • 設計用戶註冊與登入表單界面
    • 使用 AI 工具生成表單驗證邏輯
    • EditText 輸入欄位的進階配置
    • 表單 UI/UX 的最佳化設計
  • AI 增強表單驗證功能
    • 使用 AI 協助設計即時驗證規則
    • 正規表達式驗證的 AI 生成
    • 自訂驗證邏輯與錯誤處理
    • 用戶友善的錯誤訊息設計
  • Activity 間的頁面導航
    • Intent 的基礎概念與應用
    • 顯式 Intent 與隱式 Intent 的使用
    • Activity 生命週期管理
    • 頁面切換動畫與效果
  • Intent 資料傳遞機制
    • 使用 putExtra 傳遞基本資料類型
    • Bundle 的進階使用技巧
    • 接收與解析傳遞的資料
    • startActivityForResult 的應用
  • AI 輔助複雜資料傳遞
    • 使用 AI 工具設計物件序列化
    • Parcelable 介面的 AI 自動生成
    • 複雜資料結構的傳遞策略
    • 資料傳遞的效能優化建議
  • SharedPreferences 簡易資料儲存
    • SharedPreferences 的基本概念
    • 鍵值對資料的讀取與寫入
    • 用戶偏好設定的管理
    • 資料的安全性與隱私考量
  • AI 協助複雜資料集儲存
    • 使用 AI 工具設計資料儲存架構
    • JSON 格式資料的序列化與反序列化
    • 資料加密與安全儲存的 AI 實作
    • 資料備份與同步策略
  • ListView 和 Spinner 複雜佈局
    • ListView 的基礎設計與 Adapter 模式
    • 自訂 ListView 項目佈局
    • Spinner 下拉選單的進階應用
    • 動態資料填充與事件處理
  • AI 設計複雜 ListView 和 Spinner
    • 使用 AI 工具生成複雜列表佈局
    • AI 協助的資料綁定與互動邏輯
    • 自動化列表效能優化
    • AI 生成的自訂 Adapter 設計

  • SQLite 資料庫設計與建立
    • Android 中的 SQLite 資料庫概念
    • SQLiteOpenHelper 的使用與最佳實踐
    • 資料表設計原則與正規化
    • 資料庫版本管理與升級策略
  • AI 輔助資料庫創建與管理
    • 使用 AI 工具設計資料庫架構
    • AI 生成 SQL 建表語句與索引
    • 自動化資料庫遷移腳本生成
    • AI 協助的資料庫效能優化
  • AI 協助 CRUD 操作實作
    • 使用 AI 生成資料增刪改查邏輯
    • ContentValues 與 Cursor 的高效使用
    • 事務處理與批量操作的實作
    • 資料驗證與錯誤處理機制
  • AI 客製化 RecyclerView 設計
    • RecyclerView vs ListView 的性能優勢
    • 使用 AI 工具生成 RecyclerView 架構
    • ViewHolder 模式的 AI 自動實作
    • 自訂 LayoutManager 與 ItemDecoration
  • RecyclerView 與 SQLite 整合
    • 資料庫資料的動態載入與顯示
    • 即時資料更新與通知機制
    • 分頁載入與無限滾動實作
    • 搜尋、篩選與排序功能
  • 網路通信與 Web API 整合
    • Volley 與 Retrofit 庫的比較與選擇
    • HTTP 請求的建立與管理
    • JSON 資料的解析與處理
    • 網路錯誤處理與重試機制
  • Firebase Firestore 雲端整合
    • Firebase 專案建立與 Android 連接
    • Firestore 資料庫的設計與配置
    • 雲端 CRUD 操作與即時同步
    • 離線資料支援與同步策略
  • RecyclerView 與 Firebase 整合
    • FirestoreRecyclerAdapter 的使用
    • 即時資料監聽與自動更新
    • 雲端資料的分頁載入
    • 離線快取與同步機制
  • Firebase ML 與 AI 功能整合
    • ML Kit 文字識別 (OCR) 功能
    • 圖片標籤識別與分類
    • 語言翻譯與智慧回覆
    • 自訂機器學習模型整合
  • Android 應用程式發佈流程
    • Google Play Console 開發者帳戶設定
    • APK 簽名與版本管理
    • 應用程式清單資訊與截圖設計
    • 隱私政策與 Google Play 政策合規
  • 完整 CRUD Android 應用實作
    • 整合本地 SQLite 與雲端 Firebase
    • 實作完整的用戶管理系統
    • 添加 AI 功能與智慧特性
    • 應用程式測試、優化與發佈準備