2022年6月24日 星期五

Android Fragment callback,好用的 Fragment 間的事件傳送方法

當我們的架構是一個 Activity 當配多個 Fragment 時,常常需要在各個 Fragment 之間傳遞資料,或是 DialogFragment 有時候需要通知底下的 Fragment 做事,最近我發現一個很方便的 api:

2022年6月22日 星期三

Android coroutine 1.6.0 遷移與測試

coroutine 1.6.0 在測試 api 上有些變化

runBlocking -> runTest

TestCoroutineDispatcher -> 分成 StandardTestDispatcher 與 UnconfinedTestDispatcher

2022年6月19日 星期日

mac 常用快捷鍵

錄影

shift+command+5


截圖

shift+command+4


Android 模組化簡易實作

查看許多文章後知道,模組化在架構上有水平跟垂直的做法

我首先把資料層分出來,也就是 repo 與 userCase

這部分很單純,因為層級是上下,且原則上資料層應該會是純 kolin,不會調用到  android framework

我覺得好處就是很明確的可以知道這些模組到底依賴哪些東西

也會更關心一下 gradle 的設定

2022年2月7日 星期一

「演化論」桌遊規則細節整理

性狀

肉食在沒有食物的狀態下一定要發動獵食

https://evolutioncardgametw.wordpress.com/2014/03/05/qa-%E5%85%B1%E7%94%9F/


但是這邊提到肉食不用強制執行,可以餓死自己的肉食動物,到底!!!

https://boardgamegeek.com/thread/936370/living-faq-evolution-origin-species-english/page/1

Q: I have an unfed carnivore and the only option to get a token is to kill one of my FED animals. Do I have to use CARNIVOROUS trait?
A: No. You can choose not to attack your animal and starve the carnivore instead. Using CARNIVOROUS trait isn't mandatory.



耗費行動

肉食、獲得紅色食物、消耗脂肪(可一次消耗多個)

2021年12月23日 星期四

Andrid Custom Firebase Crashlytics 教學

最近發現後端的 api 有時候實在不穩,於是想想應該來 log 一下

所以使用 Firebase Crashlytics

而我的需求是在進到某個判斷裡就視為 exception

而不是等 crash 才來分析,所以我要防止 crash 且知道這個大量的 exception

2021年12月20日 星期一

Android Coroutine: Flow MutableSharedFlow Constructor 的用法

doc from SharedFlowImpl 

這週想要加強一下 Coroutine 方面的知識,像是 flow 跟 channel ,而 flow 看著看著就出現了 MutableSharedFlow 與 MutableStateFlow ,前者的建構子有三個參數,第一次看不懂,第二次看還是不懂XD,可憐的智商啊,花了一點時間克服障礙後得到的結果如下: