kako.dev

開発、自作アプリのこと

Androidで手書きの文字を解析して音声再生する

プロローグ 個人開発しているアプリで、キャンバスに書かれた文字を解析して音声再生する機能をリリースしました。 実装した記録をブログとしてまとめます。 久々に個人開発アウトプットした。リリース済みアプリをアップデートしました。手書き文字を音声再…

Firebase Functions で `Response is not valid JSON object.` が出てハマった

Firebase Functionsを使ってみたらResponse is not valid JSON object.という例外が発生してハマりました。 こういうFunctionをデプロイ

FCMで analytics_label を設定してプッシュごとの集計可能にする

公式に載ってないハマりポイントがあったのでまとめます。 HTTP V1 API FCMではHTTP V1 APIが提供されておりAPI経由でプッシュを配信することができます。 HTTP V1 APIの準備はこちらみれば大体できます。 以前の HTTP から HTTP v1 に移行する | Firebase …

Roomでデータを重複させない

Roomには重複を避ける方法紹介します。 やることは2つ Entityにインデックスをつける INSERT時 OnConflictStrategy.IGNORE をつける Entityにインデックスをつける Userデータがあると想定して、account_idの重複をさせないようにします。

Keystoreを無くした時の対応

プロローグ 昔に作ったAndroidアプリをアップデートしようとしたらKeystoreが見つかりませんでした。 Google Play Consoleから鍵のアップグレードをリクエストする 幸いそのアプリが「Play App Signing」を有効にしていたのでなんとかなりそうです。

Dagger HiltでViewModelをDIする

今更ながらDagger Hiltを触りました。 DIの経験はDagger2とKoinを触ったことがあります。 最近はもっぱらKoinでした。 体系的に学ぶなら公式のドキュメントを読むのが最良ですが、公式ドキュメントがちょいちょい古いところがあるので、自分用にまとめます。