Fatal Exception: java.net.UnknownHostException
Unable to resolve host "xxx.xxx.com": No address associated with hostname
這個問題在於如果你的 call api 時是沒有網路的,會產生的exception,要記得把他 catch 起來^^
2021年6月23日 星期三
Android Debug 紀錄之 CalledFromWrongThreadException、BadTokenException
Fatal Exception: android.view.ViewRootImpl$CalledFromWrongThreadException
Only the original thread that created a view hierarchy can touch its views.
這個完全沒什麼好說的,就是沒在UI thread 調用 UI 物件像是各種 view,到底為什麼這樣的 code 可以通過測試我也是不懂,開發者只要有自己測過就一定會 crash 嘛!
Only the original thread that created a view hierarchy can touch its views.
這個完全沒什麼好說的,就是沒在UI thread 調用 UI 物件像是各種 view,到底為什麼這樣的 code 可以通過測試我也是不懂,開發者只要有自己測過就一定會 crash 嘛!
bulid app 時常發生的問題
Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: No outputs for the main artifact of variant: debug
why???
why???
2021年6月21日 星期一
kotlin typealias 用法筆記
之前去聽 kotlin FP 的讀書會時,講者很快的帶過了這個關鍵字,那時候只覺得很神奇,近日為了將 lambda 作為參數傳遞,本 lambda 還帶參數,寫起來落落長,就去找簡化的方法。
typealias aGoodName = (String, String) -> Unit
Interface Or Lambda
我使用的場景其實應該可以用 interface 就好,但覺得 typealias 的功能實在太酷,直接將我原本的 lambda 命名為一個叫簡短的名字,雖然參數只能放型別,但感覺上比宣告一個 interface 炫多了XDtypealias aGoodName = (String, String) -> Unit
疑慮的部分就是參數只能放型別,這樣會不會兩個月後就忘記這兩個參數是要幹嘛?!雖然是可以到實際調用處看或是寫註解,但好像不是根本的解決之道...
2021年6月17日 星期四
Android webview programming click class in HTML 自動點擊 webview 的物件
最近有個需求是要依照後端發來的推播去開啟 webview 的指定頁面,頁面的順序像是這樣:
A page click button and then redirect to B page...
以此類推
2021年6月12日 星期六
adb 使用 android.intent.action.VIEW 開啟 deeplink 會缺少部分網址(query的部分)
這幾天在重構公司的 deeplink 事件,tune 的時候使用 adb 發事件給 android 後發現有帶 query 的網址會少 query 那一段
原本指令
adb shell am start -a android.intent.action.VIEW -d "https://aaa.183club.com/5566/633.html?tab=817&action= fate&value=9478" com.qqq.aaa.ddd
2021年6月9日 星期三
Memory Leak Fix: when use timer in viewholder
當開始使用 Leakcanary 之後,我的興趣就從寫 code 變成找 Memory Leak (以下簡稱ml)了XD
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
標籤:
android,
memoryLeak,
recyclerView
2021年6月8日 星期二
koin 注入 viewModel 時用 byVewModel 會無法 launch viewModelScope, 須改用getViewmodel
情境:
使用 koin "io.insert-koin:koin-android:3.0.2"
viewModel 中使用 viewModelScope.launch {}
在 viewpager 右滑多個 fragment 後,往回滑,在 fragment 重建 view 後,viewModel 跑不進 viewModelScope.launch {} 的 lambda ,在 官方 issue 看到了解法(連結),就是不要使用 byViewModel{} 而是使用 getViewModel(),解是解了,但是為什麼呢?!
使用 koin "io.insert-koin:koin-android:3.0.2"
viewModel 中使用 viewModelScope.launch {}
在 viewpager 右滑多個 fragment 後,往回滑,在 fragment 重建 view 後,viewModel 跑不進 viewModelScope.launch {} 的 lambda ,在 官方 issue 看到了解法(連結),就是不要使用 byViewModel{} 而是使用 getViewModel(),解是解了,但是為什麼呢?!
訂閱:
文章 (Atom)