いももちのきもち

悪戦苦闘の歴史のメモ

2022-08-01から1ヶ月間の記事一覧

`@RunWith(AndroidJUnit4::class)`のimportの変更

テストが放置されている古いプロジェクトでテストを更新していると、runnerのところがdeprecated表示になっていた developer.android.com androidx.test.runner.AndroidJUnit4 を非推奨にし、androidx.test.ext.junit.runners.AndroidJUnit4 に置き換え なる…

synchronizedの小ネタ

仕事のKotlinのAndroidプロジェクトでsynchronizedを利用しているコードがあったのだが、実は意図していない挙動をしていたのでメモ 1. Booleanをsynchronizedして広すぎる範囲をロックしていた maku77.github.io falseもtrueもどこでも共通なので、synchron…

NaNを含むjsonで例外発生を避ける

以前kotlinx.serializationでjsonを組み立てるときに、ごくまれにNaNが入るフィールドがあり、kotlinx.serialization.json.internal.JsonEncodingExceptionが発生していたのでした。 allowSpecialFloatingPointValues = trueを指定すればNaNのままで通せます…

LocationのgetSpeedはNaNを返すことがある

仕事で得た知識をもっと外に出しておこうと思ったので気が変わらないうちに書いておく。 https://developer.android.com/reference/android/location/Location#getSpeed() たとえばFusedLocationProviderClient.requestLocationUpdatesで位置情報としてLocat…