技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
30
0
自我挑戰組
一天學一篇 Google Codelabs
系列 第
30
篇
112/30 - 架構與狀態 - 狀態容器與狀態產生方式
15th鐵人賽
android
compose
AndyAWD
2023-10-15 03:06:46
382 瀏覽
分享至
今天學什麼?
今天閱讀「
適用於 Android 開發人員的 Jetpack Compose
」第三章「
架構與狀態
」的「
狀態容器與狀態產生方式
」
學習筆記
Android 開發關係團隊推薦的應用程式架構
UI elements
UI 層
在螢幕上顯示資訊
State holders
UI 層
狀態持有者
保存狀態並且向 UI 公開狀態
Domain layer (optional)
領域層
簡化 UI 層中可能存在的業務邏輯
Data layer
資料層
包含大部份的業務邏輯
邏輯分為兩種,但都應該由螢幕層級狀態持有者來管理
UI 邏輯
手機方向變動時更新畫面
業務邏輯
手機方向變動時不更新資料
推薦使用 ViewModel
壽命比畫面還要久,可以用來保存畫面狀態
和 Jetpack 完美相容
如何妥善的使用 ViewModel
在螢幕層級使用
不應該瞭解 UI 的實作細節,要通用
不要保存生命週期相關的 API 引用
不要傳遞,使用框架來管理
建立不同的狀態持有者來管理各個 UI
留言
追蹤
檢舉
上一篇
112/29 - 架構與狀態 - Navigation 最佳做法、Navigation
系列文
一天學一篇 Google Codelabs
共
30
篇
目錄
RSS系列文
訂閱系列文
11
人訂閱
26
112/26 - 架構與狀態 - 建構 Compose UI
27
112/27 - 架構與狀態 - Compose 狀態思維
28
112/28 - 架構與狀態 - 提升狀態的位置、進階狀態和連帶效果
29
112/29 - 架構與狀態 - Navigation 最佳做法、Navigation
30
112/30 - 架構與狀態 - 狀態容器與狀態產生方式
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
380
組
團體組數
13
組
累計文章數
2664
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
17th鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
關於 ADDC及DNS SERVER的設定提問
中介系統的用處
VMware vCenter Server 不明原因時間跑掉 憑證異常超成一連串異常
更換FW後Public IP service無法使用
鼎新ERP欄位可修改預設值嗎
不知道網路紅隊的要去那加公司
Ansible 連線主機的 port 不是 22 遇到的問題
求檔案分級軟體\手機outlook簽核軟體推薦
備份映像檔
Outlook 寄件備份消失問題 (已解決)
熱門回答
關於 ADDC及DNS SERVER的設定提問
鼎新ERP欄位可修改預設值嗎
中介系統的用處
VMware vCenter Server 不明原因時間跑掉 憑證異常超成一連串異常
Ansible 連線主機的 port 不是 22 遇到的問題
熱門文章
第8天,省錢三大關鍵字:自動化、共用、開源 / 陳家莊魯肉飯 小魚干辣椒很讚(新北土城)| 30天滷肉飯
Day26 Vibe Coding 所帶來的影響
第7天,善用「有流量才付費」的服務 / 東引小吃店 滷味一流的名店(台北松山)| 30天滷肉飯
第10天,No-Code 快速上線又省錢 / 原汁排骨湯 台北最好喝的排骨湯(台北萬華)| 30天滷肉飯
什麼是 Signal ?
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}