Room 持續性資料庫透過 SQLite 提供抽象層,可讓資料庫順暢存取,同時充分發揮 SQLite 的效用。特別是,Room 具有下列優點: SQL 查詢...
前言 昨天完成 Training 頁面雛形,今天要來加一些更改數據的互動。 首先是日期調整這裡要用到 DatePickerDialog Date Picker...
SharedPreferences是Android平台上一個輕量級的存儲套件,數據以Key-value鍵值對形式持久化保存的xml檔案,其檔案保存在data&g...
前言 今天來做 Training 頁面 預覽 先擺上今天的成果 預設主題 黑暗主題 @Preview @Composable fun...
簡介 Glide是一個快速高校的Android圖片加載庫,注重於平滑的滾動。Glide提供易用的API,高性能、可擴展的圖片解碼器(decode pipeli...
前言 學以致用,把主畫面組裝起來。 MainScreen 這裡傳三個 funtion 用來做頁面轉換用。 @OptIn(ExperimentalMateria...
環境設置 添加依賴 build.gradle(Module) dependencies { ... // Rxjava...
大綱 Simple Using Linear progress indicators Circular progress indicators Anatomy...
前言 今天來介紹進階 State 和 Side Effect 。 依造昨天的慣性,先上結論表方便未來查找。 Effect_Name 更新畫面時機 執行動...
Retrofit是Square公司開發的一款針對Android網路請求的框架,遵循Restful設計風格,底層基於OkHttp。 功能: 支持同步/異步網路請...
簡介 DataBinding庫允許開發者使用宣告式格式(declarative format) 而不是編成方式將XML佈局中的UI組件綁定到應用程序中的數據源...
前言 今天來介紹會觸發畫面更新的 State。先來個大總結,後頭再解釋: 在 Compose 中建議使用以下方式儲存變數 可觀察且可變 例如:State&...
前言 今天來介紹整個頁面的要角 Floating Action Button。 Floating Action Button 樣子 簡稱為 FAB ,常在...
一些工程師在工作幾年之後,接觸自動化領域之後,也是會越挖越深。目前搜尋與 CI/CD 相關的職務,蠻大的層面還是會涵蓋在佈署跟 infra 那一塊,會與後端領域...
LiveData | Android Jetpack LiveData組件:在底層數據更改時自動通知視圖 如何使用 通常LiveData會和ViewMode...
前言 今天來介紹 navigation 怎麼管理頁面 stack,以及navigation到其他頁面時帶參數的方式。 popup stack 是一種資料結構,...
資安的重要性,這道課相信大家心裡都知道很重要,可是我們常常會貪圖方便,或是操作上嫌麻煩而做出一些潛在問題行為。有時可以看到工程師監守自盜,在正式環境做非法行為賺...
LiveData和ViewModel組件常被用來一起實現Android官方所提出來的MVVM架構。 而"ViewModel的唯一職責就是管理UI的數據...
前言 Compose 中要在不同頁面之間切換,可以用 Navigation API。今天就來用在專案中 添加依賴 dependencies { imple...
前一天的舉例,是以分支推回遠端可以直接發版。先不要想工具,還有過程中的成功失敗,先想想若是以指令可以如何執行。 列出的步驟:分支推回遠端 → 程式碼品質掃描 →...
Lifecycle是一個生命週期感知型組件,一般用來響應Activity/Fragment、Service等生命週期狀態的變化。 Jectpack 是一個由多...
前言 今天要來實踐如何在 Lazy Layout 中滑動 item。 支援庫 ComposeReorderable 昨天開心的研究完手勢互動,突然發現在 L...
持續整合和持續發佈,除了解決工程師的痛點之外,也可以預防人工處理可能會產生的錯誤,舉例來說,上傳錯誤的版本交給驗證人員。延續這個原則,當目前的產品跟專案想要建立...
MVC [V] View:負責頁面顯示和使用者交互。由xml文件負責。 [C] Controller:負責Model和View之間的交互由Activity/F...
前言 今天來研究如何處理使用者互動行為,這個專案會用到 click、drag 等動作,讓記事進入編輯狀態,還能透過拖曳來改變 list 的順序。所以首先要先知...
(1) 普通對話框(2顆按鈕) AlertDialog.Builder dialog = new AlertDialog.Builder(this); di...
前言 今天接續昨天,調整卡片樣式。目標樣式: 字體大小 參考 MD3 Card日期我們使用 title medium 內文使用 body medium 在 T...
接續上一遍, 這次要講的是相對進階的操作: 上下拖曳 - 實現Item排序 左右滑動 - 實現刪除&封存操作 滑動後的復原操作 一、上下拖曳 -...
前言 詳讀完 grid layout ,接下來要使用在專案中。除了呈現,我還要做出紀錄長按 item,並且記住 item index 的功能。 前置作業 1...
簡單使用 效果圖: 步驟: 創建Item樣式, 主頁面添加RecyclerView控件 實作RecyclerView.Adapter RecyclerView...