こんにちは、tkyです。 個人で作成しているアプリをJetpackComposeで書き直したものを先日リリースしました。 どんなことを考えて実際に移行したのか記録として残しておこうと思います。 対戦ゲームの勝敗記録アプリ みんな使ってね! play.google.com ■でき…
こんにちは、tkyです。 普段自分が利用しているDiscordサーバー用にディスコードのテキスト読み上げBOTを作成したのでBOTを作ってみたいな、作るときにどういったところに気をつけて作ればよいのかと思っている人向けに一部共有します。 テキスト読み上げBOT…
こんにちは、tkyです。 ※Qiitaにも書いてありますが、こちらにも投稿しておきます。 jetpack composeでかんたんなレイアウトをそれぞれ - Row/Column/Box (※今回Boxは使っていません) - Constraint で作成した場合、どのような違いが出るのか見てみました。 …
こんにちは、tkyです。 ※Qiitaにも書いてありますが、こちらにも投稿しておきます。 jetpack composeには下層のcomposeに依存を渡す方法があります。 KoinなどのDIコンテナを使う CompositionLocalProviderを使う 今回はFragmentManagerを下層のcomposeに渡…
こんにちは、tkyです。 ※Qiitaにも書いてありますが、こちらにも投稿しておきます。 jetpack composeでFragmentの上にjetpack composeを乗せるパターンはよく見ますが、逆はなかったので記事にしてみました。 Fragmentからjetpack composeを扱うこともできれ…
こんにちは、tkyです。 伝えたいことはタイトルにすべて込めました! なぜか突然Macの時刻がめちゃめちゃずれていて、試行錯誤の末直ったのでメモしておきます。 それはある日のこと 現在時刻2021年9月18日13時頃・・・ 「あれ?なんで16時になってるの?て…
こんにちは、tkyです。 現在携わっているAndroidプロジェクトの開発環境Android Studio4.1からArcticFoxに切り替えてビルドできるようにするまでをまとめてみました。 皆さんも同じようなところでハマるかもしれないのでこれを読んでおくと心構えができるか…
こんにちは、tkyです。 Androidアプリ開発のDBとしてRealmを使用して、Realmをマルチモジュール化したときにどのようなことに気をつけるとよいのか私が実際に直面した問題を説明したいと思います。 目的 マルチモジュール化の目的として、Realmの依存をappの…
こんにちは、tkyです。 「Realmのtransaction処理、Coroutinesで書きたいな〜」 そう思ったことありませんか?ありますよね。 最新のRealm(10.0)ではkotlin拡張がいくつか存在して executeTransactionAwait を使うと時間のかかる書き込み処理などをsuspend f…
こんにちは、tkyです。 今日はテストの話です。 画面遷移をテストする時Robolectricを使うと比較的簡単にテストできます。 今回はRobolectric v4.3を使用して 自身のアプリの別Activityに遷移する場合 (=明示的Intent) 外部アプリに遷移する場合 (=暗黙的Int…
こんにちは、tkyです。 Kotlinの小ネタです。 タイトルのとおりなのですが、こういったことってほとんどないとは思うのでいざというときどうするか迷う系のやつです。 ドメインとしてのクラス名と被ってしまう 例えば イベント情報 を取り扱うドメインがあっ…
こんにちは、tkyです。 アプリ容量が日に日に多くなっていく中、できることを探してみました。 developer.android.com 公式に削減のための方法が乗っていて、そのうちの2つをやってみました。 効果 僕が携わっているアプリプロダクトは長い間運用されている…
こんにちは、tkyです。 私が業務で担当しているAndroidのアプリサポートバージョンをAPI19->23に引き上げました。 すでにリリースから数ヶ月経過しましたが、その時にやったことなどをまとめたいと思います。 OSの分布を知る 世界的なOS分布 developer.andro…
こんにちは、tkyです。 Go勉強してコマンドを作ってみました。 github.com git checkout をサポートする gith というコマンドです。 デモ1 こんな感じにブランチが選択式で表示されるので選べばそのブランチに移動できるようなものです。 リモートブランチ…
こんにちは、tkyです。 今私が携わっているAndroidプロジェクトのCIは基本的にCircleCIを採用しています。 そんな中、同時にGitHubActionsも採用した経緯とどんなことをしているのか、ちょっとハマったことを書き留めておこうと思います。 また、本記事は「…
こんにちは、tkyです。 『レシーバー付きラムダ』という用語をご存知でしょうか。Kotlinインアクションとかで使われている表現です。 英語では Function literals with receiver と言われています。 今回は apply{} がどのように動作するのか確認しながら『…
こんにちは、tkyです。 先日、とあるcodelabをやっていて『Repository層でLiveDataって使っていいの?』と感じたことがあり。 この疑問からLiveDataを使用するレイヤーとそこから生じるメリット・デメリットなどを考察した内容をまとめておきます。 こういう…
こんにちは、tkyです。 テスト、書いてますか? 僕はぼちぼち書いてます。 今日はViewModelのテストを書いてみたいと思います。 サンプリリポジトリです。サンプルではGitHubのAPIにアクセスする簡単なサンプルにテストを書いてみた感じです。 github.com 本…
こんにちは、tkyです。 かねてから触ってみたかったJetpackComposeのチュートリアルをやってみました。 本稿は2020/08/09時点のAndroid Jetpack compose チュートリアルを実施するに当たり ハマらないため+これからやることをイメージできるようにすること…
こんにちは、tkyです。 Androidで動きのある画面遷移に挑戦してみようと思います。 画面間遷移にアニメーション 今回は画面から画面の遷移にSharedElement(これって機能名になるんですかね?)を指定して 「遷移元のUIの一部が遷移先のUIの一部になるように…
こんにちは、tkyです。 N番煎じの小ネタなのですが、案外使っていない人が多いのかもしれませんね。 slackでアンケート的な何かがあるときにリアクションを使うパターンはよくありますね。 slack一般的なアンケート 実は/pollコマンドでアンケート作れます /…
こんにちは、tkyです。 今日はKotlinのプロパティとゲッターの種類と違いを深堀りしてみようと思います。 はじめにプロパティとフィールドについておさらい程度に単語を整理します。 プロパティとフィールド Kotlinのプロパティについて復習です。 dogwood00…
こんにちは、tkyです。 BillingLibraryのバージョンを遅ればせながら1.2 -> 2.2.1(20200603時点の最新)にアップデートしましたのでその時の作業内容をまとめておこうと思います。 バージョンアップは必要なのか? 必要です。 Google I/O'19において 毎年のGo…
こんにちは、tkyです。 PlayConsoleに登録しないでBilling Library2.0を使ってみた所感などを書いていきます。 目的は『課金フローを理解する』ことにあります。 基本ドキュメント見たら書いてあるため公式のドキュメントを信頼するのが一番良いです。本記事…
こんにちは、tkyです。 Android小ネタ集です。色々なブログでも書かれている内容で、ほぼ自分用として書いておきます。 Dependency treeが見たい時、ありますよね? (ライブラリを特定のバージョンに上げると何故か別の機能がバグるみたいなことがたまにあ…
こんにちは、tkyです。 Androidネタです。epoxyの話です。 ※epoxy is 何の話はしません epoxyはデータバインディングをサポートしていて、リソースファイルからデータバインディング用のモデルクラスを自動生成してくれたりします。 github.com 上記のドキュ…
こんにちは、tkyです。 社内でプルリクをいろいろなメンバーにレビューしてもらっているのですが、 「最近特定の人ばかりにレビュー依頼してる気がする・・・負荷溜まってないかな・・・」 という一抹の不安をいだき誰にレビュー依頼するか判断する材料にし…
こんにちは、tkyです。 久々にWebViewで落ちた案件です。Lollipop(5.0)です。悲しみです。 手元にLollipopがないので実機で発生するかわからないのですが、Emulatorで発生するものです。 もしかしたらPlay Storeからandroid system webveiwのバージョンを上…
こんにちは、tkyです。 Kotlinにおいてnullチェックしてそのインスタンスにアクセスする場合、?.let{} を使うことがわりと多いです。 しかしnullだったときの処理も記述する場合?.let{} だとどうしてもわかりづらくなる場合があり、素直にif elseを使ったほ…
こんにちは、tkyです。 既出小ネタ集です。 AndroidStudioで開発中たまにAS上のLogcatが出てこないときがあります。 read: unexpected EOF! --------- beginning of crash 昔から対策自体はありますが、全体的に記載記事が古くなっている方に感じるので今で…