Android
今年もDroidKaigi2024にオフライン参加してきました 今年は転職したこともあり、自社のブースに立ってコミュニケーションとったりしたのが大きな変化だった。 後は、前職の人とも会えたり、SNS上でだけご存じだった人と話したりできた。
2024/06/22 に KotlinFest 2024に参加しました。 www.kotlinfest.dev KotlinFestは2018、2019、2022(online)と参加してオフラインは5年ぶりの開催でした。 KotlinConf 2024 を後から256倍楽しむためのヒント セッションの中から関心の強いものを効率的にキャ…
JUnit4のParameterized JUnit4のTheory Junit5のParameterizedTest 参考 社の読書会で「単体テストの考え方/使い方」を読んでます。 単体テストの考え方/使い方作者:Vladimir Khorikovマイナビ出版Amazon 本書の中でパラメタライズドテスト(パラメータ化テ…
この記事はAndroid Advent Calendar 2023 16日目の記事です。 ハァ… 困ったなァ ちょっと体調くずしちゃって、全然文章書けなくてェ... ほんとに体調くずしてしまい文章書けなかったため、今回はいつかどこかで発表しようと思いながら今日まで日の目を見なか…
今年もDroidKaigi 2023にオフライン参加しました。 そのまとめブログです。 Day1 Modifier.Nodeを使いましょう よく見るあのUIをJetpack Composeで実装する方法〇選 iOSとAndroidで定期購入の意図しない解約を防ぐ YouTubeへのライブ配信機能をリリースする…
4月に YUMEMI.grow さんでLTした内容で、ComposeでTimeRangePickerを作りました。 speakerdeck.com 日が経ちすぎてしまいましたが、ライブラリ公開したので紹介します。 どういうライブラリ? Composeで作成したTimeRangePickerです。時間の範囲を選択できる…
Kotlin Multiplatform Mobile (KMM)でFirestoreを利用する方法を紹介します。
KotlinConfの内容を見ていたら、Compose for iOSのアルファ版がリリースされました。 github.com 私はAndroidエンジニアですが、ComposeでiOSアプリが作れるのはアツい展開なので早速動かしてみました。
2023/3/31にDroidKaigi.collect{ #1@Tokyo } でLT登壇しました。 speakerdeck.com LTの中でComposeの座標取得について触れているんですが、Composeの座標はどのようにセットされてくるのか気になり調べてみました。 Composeの座標を取得する方法 Modifier.on…
雰囲気でrepeatOnLifecycleを使ってきたんですが、ちょっと気になったのでrepeatOnLifecycleの内部処理を覗いてみます!
versionCatalogsのaliasがDeprecatedになりました。 VersionCatalogBuilder (Gradle API 7.6) 今後は alias の代わりに library を使用します。 マイグレーション 今まで 一例 alias("core-ktx").to("androidx.core:core-ktx:1.7.0") // または version("cor…
3年ぶりのオフライン 2022/10/05~07に開催されたDroid Kaigi 2022に参加しました。3年ぶりのオフライン参加でお祭り感をビジビジ感じました。
こんにちわ。普段AndroidのエンジニアしていますAndroidエンジニアです。 技術書典13始まりました。たっっっっくさんの本があって、気になる本ばかりで金銭感覚ぶっ壊れます。 本がたくさんあるので、全部見るのもまあまあ大変です。(でも可能なら全部見て…
Compose for Wear OSではさまざまな入力インターフェースも提供されています。ウェアラブルの入力形式でよく見るであろうPickerの実装をしていきます。
前回 kako351.dev もう少し紐解きたい HealthConnectのアーキテクチャ HealthConnect はSDKとHealthConnectAPKがIPC(プロセス間通信)を介してクライアントアプリから接続します。 Health Connect アーキテクチャ図 クライアントアプリにSDKを使うとHealthC…
「7 月 20 日までにデータ セーフティ フォームにご記入ください」とGoogleから言われたので回答した。 GooglePlayでアプリ配信しているアプリはこれをしないとアプリのアップデートが非承認になります。 Googleがちゃんとドキュメント用意しているのでしっ…
Google I/O '22 で発表があった「HealthConnect」をとりあえず触ってみたのでその所感を雑にまとめます。 ちゃんと理解したら、また別にブログ書きます。 HealthConnect I/OのDeveloperKeynoteにあった発表をまとめるとこんな感じ(英語聞き取りミスで間違い…
前回 Compose for Wear OSのCodelabをやってみたら、WearOSが楽しくなったので、タイル作成のCodelabもやってみた。
Google I/O 2022で発表があった「Compose for Wear OS」を見てから、WearOS開発への意欲が湧いてきたので、Compose for Wear OS の Codelabに入門してみた。
勤め先の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…
Introduction 昨今、テクノロジーは発展していき、独創的であることを可能にするが、はるかに複雑になる ユーザーは多種多様なデバイス、プラットフォームでインタラクティブで高速な体験を期待している ユーザーの需要に応えるようなシステムを期待 プライ…
今年もオンラインで2日間開催されたGoogle I/Oに参加しました。 keynoteはリアルタイムで視聴。それ以外のセッションはアーカイブで見ました。 参加の様子 今年はKeynoteはリアルタイムで見るつもりだったこともあり、Twitterで見かけたこちらに参加しました…
Jetpack ComposeにViewModelをDIする方法として2通り見つけた。 androidx.hilt.navigation.compose.hiltViewModel と androidx.lifecycle.viewmodel.compose.viewModel ググって出てきた記事ではhiltViewModelを使っているケースが多い気がしたがこれはnavi…
(この記事は技術的な内容はなく、Google広告を使って見た個人の感想です。) 最近個人でリリースしたアプリがあります。 無音カメラ:静かにトレルンです 無音で最高画質のカメラアプリ - Apps on Google Play リリース後は「どれくらいインストールされてい…
最近AdMobを詰め込んだアプリをリリースしました。 play.google.com このアプリには下記3タイプのAdMob広告を入れています。 バナー インタースティシャル リワードインタースティシャル 導入方法をまとめます
Flowに対して勘違いをしていたことがいくつかあって、そのうちの1つである debounce について試したのでまとめます。 debounceに勝手に期待していた挙動 flowでdebounceを指定すれば、設定したms内では処理を1回に制限してくれると勘違いしていました。 例え…
プロローグ 個人開発しているアプリで、キャンバスに書かれた文字を解析して音声再生する機能をリリースしました。 実装した記録をブログとしてまとめます。 久々に個人開発アウトプットした。リリース済みアプリをアップデートしました。手書き文字を音声再…
Roomには重複を避ける方法紹介します。 やることは2つ Entityにインデックスをつける INSERT時 OnConflictStrategy.IGNORE をつける Entityにインデックスをつける Userデータがあると想定して、account_idの重複をさせないようにします。
プロローグ 昔に作ったAndroidアプリをアップデートしようとしたらKeystoreが見つかりませんでした。 Google Play Consoleから鍵のアップグレードをリクエストする 幸いそのアプリが「Play App Signing」を有効にしていたのでなんとかなりそうです。
今更ながらDagger Hiltを触りました。 DIの経験はDagger2とKoinを触ったことがあります。 最近はもっぱらKoinでした。 体系的に学ぶなら公式のドキュメントを読むのが最良ですが、公式ドキュメントがちょいちょい古いところがあるので、自分用にまとめます。