### 直播工作坊公告 * 將於 5 月 10 日舉辦免費線上工作坊,主題為設計模式在 Android 與 KMP 開發中的應用 * 重點是如何使用設計模式提升 Kotlin 程式碼結構與架構 * 時間為 UTC 下午 3 點,可透過影片說明中的連結報名 --- ### Kotlin Context Parameters 新功能 * [Update on Context Parameters](https://blog.jetbrains.com/kotlin/2025/04/update-on-context-parameters/) * Context Parameters 將取代現有的 Context Receivers * 預計在 Kotlin 2.2.0 引入,可透過編譯器旗標啟用(需手動 opt-in) * 語法上更像函式參數,可指定名稱與多個參數 * 更適合處理需要多個 context 的情境,如 ViewModel Scope 搭配 Flow * 可讓某些擴充函式僅能在指定 context 中呼叫(如 ViewModel)  * 需使用 K2 編譯器,K2 目前在 Android Studio 表現仍不穩定 --- ### Google Play Console 更新 * 新增低記憶體終止比率(Low Memory Kill Rate)指標,可了解背景被系統終止的情況 * 增加 edge-to-edge 預檢查機制,提前發現 UI 相容性問題 * 發布儀表板加入新的品質指標 UI,協助開發者掌握重要問題 --- ### IntelliJ IDEA 2025.1 更新 * JetBrains AI 功能有部分可免費使用,如 AI 補全 * 新增 Java 24 支援,Kotlin 預設使用 K2 編譯器(仍可能導致語法錯誤) * Kotlin Notebooks 支援,方便快速測試與原型開發 * Spring Boot 中,自動建議產生 Spring Data Repository(限 Ultimate 版本) --- ### Room 資料庫更新 * Room 2.7.0 現全面支援 Kotlin Multiplatform * 真正整合 KMP Gradle Plugin,可在 shared code 定義 entity、DAO、database * 僅平台特定部分需手動定義(如資料庫檔案位置與 driver) --- ### Android 16 Beta 4 更新 * Android 16 Beta 4 為最後一個測試版本,下一版將為正式穩定版 * 所有開發者 API 現已固定,可開始針對 Android 16 設定 target SDK * 建議現有應用程式儘快支援該版本,以確保兼容性 --- ### Jetpack Compose 四月版本重點 * TextField 支援自動填充(Autofill) * Text 元件新增 autosize 參數,自動調整字體大小以避免溢出 * AnnotatedString 支援 HTML 的 bullet list(UL/LI)轉換 * 多項 Material 3 元件 API 由實驗性升級為穩定版,如 FlowRow 與 FlowColumn --- ### Firebase Studio 初探 * Firebase Studio 是 Google 新推出的雲端開發環境,目前為預覽版本(Preview) * 可透過 AI 提示生成完整的 Web 應用程式,幾乎無需手動撰寫程式碼 * 預設以 React 建立 Web App,未來預計支援 Android Studio Cloud(目前需排隊) * 一個應用程式對應一個 Workspace,支援多種語言 * 提供視覺化界面與初步的色彩主題建議,可選擇並客製化設計樣式 * 預設支援簡單點擊即修復 runtime error 的功能 --- ### 科學計算機範例 * 輸入簡單提示(支援 +、-、×、÷、括號、乘冪)即可生成完整計算機 * 支援運算優先順序與括號配對 * UI 設計自動生成,可即時操作、計算結果準確 * 無需撰寫程式碼即可完成功能實現 --- ### 植物澆水應用範例:Plan Pal * 根據提示生成具備 CRUD 功能的植物管理應用 * 支援新增、編輯、刪除植物資料,設定澆水週期與篩選條件 * 支援圖片上傳功能,但目前圖片固定為 AI 隨機生成 * 操作簡單直觀,UI 元素齊全(對話框、通知、篩選功能等) * 例外處理能力良好,錯誤可透過 AI 修復功能處理 --- ### 未來應用與觀察 * Firebase Studio 預期將可用於 Android 應用開發,支援 Android Studio Cloud * 有助於快速實現應用想法,減少開發週期 * 鼓勵開發者將工作重點從撰寫程式碼轉向與 AI 合作與需求建構 * 對於複雜邏輯與邊界情況仍需人為設計與指導 * 免費方案提供 3 個 Workspace,超出需升級至付費方案 --- ### Terminlogy * **KMP(Kotlin Multiplatform)**:Kotlin 支援多平台開發的功能,可共用邏輯於 Android、iOS 等平台。 * **Cotton(Kotlin 拼字錯誤)**:正確應為 Kotlin,是 JetBrains 開發的現代化程式語言。 * **Context Parameters**:Kotlin 2.2 引入的新語法,取代 context receivers,以參數方式提供執行上下文。 * **Context Receivers**:舊版 Kotlin 功能,用 `context` 關鍵字限制函數可在特定類型上下文中呼叫。 * **K2 Compiler**:Kotlin 的新一代編譯器,提供更佳效能與功能,但目前尚不穩定。 * **ViewModel Scope**:Android 中 ViewModel 所提供的協程範圍,用於處理生命週期安全的非同步任務。 * **StateIn**:將 Flow 轉換為 StateFlow 的函數,用於持續性資料流的 UI 顯示。 * **WhileSubscribed**:Flow 中的 SharingStarted 策略,用於決定何時啟動與停止資料流。 * **SafeStateHandle**:ViewModel 中保存與恢復 UI 狀態的工具,適用於處理 Process Death。 * **Process Death**:Android 作業系統為節省資源而終止應用程式的現象。 * **Google Play Console**:開發者用來管理其應用發布與追蹤效能的後台系統。 * **Low Memory Kill Rate**:應用程式因記憶體不足而被終止的比率。 * **Edge-to-Edge 支援**:UI 滿版呈現功能,讓內容延伸至螢幕邊緣。 * **Pre-Review Check**:Google Play 上架前的自動審查流程,確保應用符合設計準則。 * **Quality Metrics Dashboard**:在 Google Play Console 中呈現應用品質的統計資訊介面。 * **IntelliJ IDEA 2025.1**:JetBrains 推出的 IDE 更新版本,支援更多 Kotlin 功能。 * **JetBrains AI**:IntelliJ 系列 IDE 中整合的 AI 開發輔助功能,如自動補全、程式生成。 * **Kotlin Notebook**:可即時執行 Kotlin 程式碼的交互式環境,用於原型設計與測試。 * **Spring Data Repositories**:Spring 框架中用於資料存取的物件,支援自動建立功能。 * **Spring Boot**:簡化 Spring 應用程式配置與部署的框架。 * **Gradle Artifacts**:經由 Gradle 建構產生的函式庫或元件,用於依賴管理。 * **Multiplatform Gradle Plugin**:支援 Kotlin 多平台建構的 Gradle 插件。 * **Room**:Android 上推薦的資料庫抽象層,簡化 SQLite 的使用。 * **Entity**:Room 中代表資料表的資料類別。 * **DAO(Data Access Object)**:Room 中定義資料操作方法的介面。 * **Database Driver**:與不同平台底層資料庫互動的驅動程式。 * **Android 16 Beta 4**:Android 作業系統第 16 版的第四個測試版,API 已穩定。 * **Target SDK**:指定應用所支援的最新 Android 版本,影響相容性與新功能使用。 * **Jetpack Compose**:Android 的現代 UI 框架,使用 Kotlin 撰寫宣告式 UI。 * **Text Composable**:Compose 中用來顯示文字的 UI 元件。 * **AutoSize**:Text composable 的新屬性,自動調整字體大小以適應容器。 * **Font Scale**:使用者在 Android 設定中的字型大小偏好。 * **AnnotatedString**:Compose 中支援格式化的文字物件,可設定樣式與互動性。 * **HTML Parsing**:將 HTML 內容解析為可視元素的過程,支援在 AnnotatedString 中使用。 * **UL / LI Tags**:HTML 中定義無序清單(項目符號)的標籤。 * **Material 3**:Google 提供的最新 UI 設計規範,支援 Compose。 * **Experimental APIs**:尚未穩定的開發中 API,需額外註解啟用。 * **FlowRow / FlowColumn**:Material 3 中的新佈局元件,支援內容自動換行排列。 * **Coroutine Scope**:Kotlin 協程的執行範圍,管理非同步任務生命週期。 * **Initial Value**:StateFlow 初始化所需的預設值。 * **Compiler Flag**:啟用特定編譯器功能的命令列參數。 * **IDE(Integrated Development Environment)**:整合式開發環境,用於撰寫與測試程式碼。 * **Syntax Highlighting Error**:編輯器錯誤地標示語法錯誤的現象。 * **Cross-Platform**:可在多種作業系統上執行的應用程式架構。 * **Shared Code**:KMP 中可共用於所有平台的程式碼部分。 * **Platform-Specific Code**:針對特定平台撰寫的程式碼,解決底層差異。 * **Repository Pattern**:用於資料存取層抽象化的設計模式。 * **Bean**:Spring 中由框架管理的組件或物件。 * **Date Formatter**:將日期轉換為特定格式字串的工具。 * **Prototyping**:在正式開發前先快速實驗與測試功能的過程。 * **Function Parameter**:函式定義中傳入的變數,用以接收資料或控制行為。 * **Extension Function**:Kotlin 中可為現有類型新增函式的方法。 * **HTML Bullet Points**:HTML 內容中的清單項目符號,現在支援轉為 AnnotatedString。 * **Material Design**:Google 所制定的 UI/UX 設計語言與風格指南。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up