kako.dev

開発、自作アプリのこと

Android

repeatOnLifecycleは中で何をしているのか?

雰囲気でrepeatOnLifecycleを使ってきたんですが、ちょっと気になったのでrepeatOnLifecycleの内部処理を覗いてみます!

VersionCatalogsのaliasのDeprecated対応

versionCatalogsのaliasがDeprecatedになりました。 VersionCatalogBuilder (Gradle API 7.6) 今後は alias の代わりに library を使用します。 マイグレーション 今まで 一例 alias("core-ktx").to("androidx.core:core-ktx:1.7.0") // または version("cor…

Droid Kaigi 2022 参加まとめ感想

3年ぶりのオフライン 2022/10/05~07に開催されたDroid Kaigi 2022に参加しました。3年ぶりのオフライン参加でお祭り感をビジビジ感じました。

技術書典13のAndroid関連の本まとめ

こんにちわ。普段AndroidのエンジニアしていますAndroidエンジニアです。 技術書典13始まりました。たっっっっくさんの本があって、気になる本ばかりで金銭感覚ぶっ壊れます。 本がたくさんあるので、全部見るのもまあまあ大変です。(でも可能なら全部見て…

Compose for Wear OSでPickerを表示する

Compose for Wear OSではさまざまな入力インターフェースも提供されています。ウェアラブルの入力形式でよく見るであろうPickerの実装をしていきます。

1mmだけ知る Health Connect

前回 kako351.dev もう少し紐解きたい HealthConnectのアーキテクチャ HealthConnect はSDKとHealthConnectAPKがIPC(プロセス間通信)を介してクライアントアプリから接続します。 Health Connect アーキテクチャ図 クライアントアプリにSDKを使うとHealthC…

【GooglePlayConsole】データ セーフティへの回答したので要領まとめる

「7 月 20 日までにデータ セーフティ フォームにご記入ください」とGoogleから言われたので回答した。 GooglePlayでアプリ配信しているアプリはこれをしないとアプリのアップデートが非承認になります。 Googleがちゃんとドキュメント用意しているのでしっ…

ミリしら Health Connect

Google I/O '22 で発表があった「HealthConnect」をとりあえず触ってみたのでその所感を雑にまとめます。 ちゃんと理解したら、また別にブログ書きます。 HealthConnect I/OのDeveloperKeynoteにあった発表をまとめるとこんな感じ(英語聞き取りミスで間違い…

Wear OS で初めてのタイル作成 の Codelabをやってみた

前回 Compose for Wear OSのCodelabをやってみたら、WearOSが楽しくなったので、タイル作成のCodelabもやってみた。

Compose for Wear OS の Codelabをやってみた

Google I/O 2022で発表があった「Compose for Wear OS」を見てから、WearOS開発への意欲が湧いてきたので、Compose for Wear OS の Codelabに入門してみた。

【超個人的】Google I/O 2022 Jetpack Composeまとめ

勤め先のAndroidチームでみんなでGoogle I/Oの動画見よう!ということになりみんなで見た。 視聴したプログラム https://io.google/2022/program/213421b6-9873-464f-9b36-38eeb232a854/intl/ja/ https://io.google/2022/program/14bb63ef-2dd1-460a-9871-5f…

【超個人的】Google I/O 2022 Developer Keynote 気になりポイント

Introduction 昨今、テクノロジーは発展していき、独創的であることを可能にするが、はるかに複雑になる ユーザーは多種多様なデバイス、プラットフォームでインタラクティブで高速な体験を期待している ユーザーの需要に応えるようなシステムを期待 プライ…

【超個人的】Google I/O 2022 keynote 気になりポイントまとめ

今年もオンラインで2日間開催されたGoogle I/Oに参加しました。 keynoteはリアルタイムで視聴。それ以外のセッションはアーカイブで見ました。 参加の様子 今年はKeynoteはリアルタイムで見るつもりだったこともあり、Twitterで見かけたこちらに参加しました…

hiltViewModel() vs viewModel()

Jetpack ComposeにViewModelをDIする方法として2通り見つけた。 androidx.hilt.navigation.compose.hiltViewModel と androidx.lifecycle.viewmodel.compose.viewModel ググって出てきた記事ではhiltViewModelを使っているケースが多い気がしたがこれはnavi…

Google広告で個人アプリのスタートダッシュを決める

(この記事は技術的な内容はなく、Google広告を使って見た個人の感想です。) 最近個人でリリースしたアプリがあります。 無音カメラ:静かにトレルンです 無音で最高画質のカメラアプリ - Apps on Google Play リリース後は「どれくらいインストールされてい…

【アプリで収益化を目指す】AdMob入門

最近AdMobを詰め込んだアプリをリリースしました。 play.google.com このアプリには下記3タイプのAdMob広告を入れています。 バナー インタースティシャル リワードインタースティシャル 導入方法をまとめます

Flowのdebounceについて勘違いしていたので調べた

Flowに対して勘違いをしていたことがいくつかあって、そのうちの1つである debounce について試したのでまとめます。 debounceに勝手に期待していた挙動 flowでdebounceを指定すれば、設定したms内では処理を1回に制限してくれると勘違いしていました。 例え…

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

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

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でした。 体系的に学ぶなら公式のドキュメントを読むのが最良ですが、公式ドキュメントがちょいちょい古いところがあるので、自分用にまとめます。

Firebase Cloud Storageにアップした画像を表示する

FirebaseのCloud Storageアップした画像をAndroidアプリで表示する方法です。 下記の環境で試します。

ジェスチャーナビゲーションに対応させる

この記事は Android #2 Advent Calendar 2019 13日目の記事です。 qiita.com

作ったアプリが「Tabmo」で紹介されました&1000DL突破しました

「コーヒー好きのためのコーヒー手帳」がNTTドコモ「Tabmo」内で紹介されました! 私の開発しているAndroidアプリ「コーヒー好きのためのコーヒー手帳」がNTTドコモ「Tabmo」内で紹介されました!

TabLayoutのIndicatorをカスタマイズする

今開発しているアプリで、TabLayoutのIndicatorをちょっとカスタマイズしたくなりました。 出来上がりこんな感じ 選択中のタブに楕円形の背景をつけます。

EpoxyのTips

Epoxyを使い始めて半年くらいたちまして、色々Epoxyの使い方わかってきたのでTipsとしてまとめます。 ヘッダー・フッターを表示したい TypedEpoxyControllerの場合 PagedListEpoxyControllerの場合 アイテムにLiveDataを適応したい (ex.ヘッダーに表示件数を…

【個人開発】10ヶ月あっためていたAndroidアプリをリリース。サービスや使用技術の紹介や全体の振り返り・・・

だらだらとスローペースで開発していて リリース時期を見計らって先日、個人開発でAndroidアプリをリリースしたので、色々振り返りをしてみます。 目次 どんなアプリ? だれに向けたアプリか? 日本人の7割はくせ毛 開発は去年の9月からしていた 梅雨の時期…

ReactNative→Kotlinのリファクタリングあるいはマルチモジュールの話

迫る64bit対応 個人でリリースしているアプリの中でReactNativeで開発したものがあるのですが、先日Google様から64bit対応してないよと通達を受けました。

ViewModelのDIから始めるKoin入門

公式のInsertKoinを見れば分かる人はそちらを参照していただくのが一番良いと思うので、この記事は「DIをしたい」「Koin使ってみたいけどどうしたら分からん」という人向けに書いてみます。 個人的にViewModelの依存性解決するのがわかりやすいのではないか…

【TextInputLayout】マテリアルな見た目のログインフォームを作る

イケてるログインフォーム欲しい こんなふうな入力欄タップしたらヒントが上にクイッって上がるやつ。 インストール implementation 'com.google.android.material:material:1.0.0' レイアウト TextInputLayoutの中にTextInputEditTextを配置します。