heihei blog

Blog icon by Unsplash https://unsplash.com/@virussinside

android

PermissionsDispatcher KTXで条件に応じて承認リクエストする権限を切り替える

permissionsdispatcher-ktxが便利だったので、それについての話を書いています。Android 12で新しく追加されたBluetooth権限などの話なども含めて書いています。

Target SDK 31対応の際に参照したリンク一覧の雑ログ

Target SDK 31対応の際に参照したリンクの一覧について、雑ログ程度にまとめています。

ActivityManager.isLowRamDevice

ActivityManager.isLowRamDevice関数を見つけて、もしかしたら今後使うかもしれない、と思い書いた雑メモ記事です。基本的には1GB以下のRAMの端末とかの場合にtrueが返ってくる模様。 たとえばメモリ消費をめちゃするような機能?があるときに、「この端末で…

AutoCompleteTextViewの要素選択時の処理

AutoCompleteTextViewの要素選択時の処理を実装する際にすこしだけハマったことについて記述しています。

wire-gradle-pluginを動かす

Square社のwireライブラリ内のwire-gradle-pluginのセットアップでつまづいたのでその原因と解決策をメモ程度に紹介しています。

Kotlin 1.4からStdlibの依存の記述がいらなくなるらしいメモ

Kotlin 1.4のバージョンから、Kotlin Gradle projectではStandard Library `org.jetbrains.kotlin:kotlin-stdlib-*` の依存の指定が要らなくなるようです。そのことについてリファレンスなどを書きました。

Twilio Video Androidサンプルを動かすまでの雑メモ

Twilio Video Androidサンプルを動かすまでの雑メモの記事です。

HttpLoggingInterceptorのJsonログを整形して表示する

ふと思いついて調べてみたらさくっとできて便利だと思ったのでです。 HttpLoggingInterceptor OkHttpには、HttpLoggingInterceptorという便利なInterceptorが用意されています。 このクラスを利用することで、API通信時のヘッダー、レスポンスやリクエストボ…

RoomでDBの値更新時に、更新通知がこない!というときはDIの設定に原因があるかも

「RoomでDBの値更新時に、更新通知がこない!」こんなことがもし起こったら、DI周りをしっかり見直しましょう、という話になります。 TL;DR RoomDatabaseやDaoクラスがアプリ内の複数箇所で扱われている場合に、同一インスタンスが利用されているかを確認し…

BottomNavigationItemView長押し時の挙動を制御する

BottomNavigationViewとは アプリ内の主要な遷移先への移動を可能にするコンポーネントです。 上記スクリーンショットのような、画面下部にボタンを配置するという特徴から"Bottom"Navigationと呼ばれているのではないかと考えています。 BottomNavigationの…

Androidのmenu.xmlでactionLayoutを指定しているレイアウトが表示されないとき

今後忘れた頃にまた踏みそうだなと思ったので、備忘録として。 前提 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> </menu>

Androidブログ枠でpotatotips#66に参加してきた

Androidブログ枠として参加 2019/11/11のポッキーの日にpotatotipsがあり、参加してきました!今回のpotatotipsの会場提供はyappliさんでした!ありがとうございました! Androidブログ枠として参加したので、ざっくりAndroidやクロスプラットフォーム関連の…

#AskAndroid at Android Dev Summit 2019 - Jetpack Composeの内容をざっくりメモした

全部の内容は記載できていないです。もし間違いなどがありましたらご指摘いただけたら嬉しいです。 動画は下記です: www.youtube.com Q. いつalphaかbetaになるか? 来年Betaになる Q. RecyclerViewのようなRecycling Logicなどはあるか?(静的なViewのみの…

Notes - An Opinionated Guide to Dependency Injection on Android (Android Dev Summit &#39;19)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

Notes - Fragments: Past, Present, and Future (Android Dev Summit &#39;19)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

Notes - Firebase offline: What works, what doesn&#39;t, and what you need to know (Firebase Summit 2019)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

Android TransitionにListenerを追加する

業務で少し調べたことのメモ程度に。 AndroidでViewをアニメーションさせたいときの実装方法の一つとして、Transitionがあります。 Transition Transitionの概要については、公式ドキュメント、もしくはyarakiさんによる下記のスライドが参考になります。 ya…

Notes - What's New in Firebase (Google I/O'19)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

Notes - Build a Modular Android App Architecture (Google I/O&#39;19)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

ReycyclerView:setLayoutFrozen/isLayoutFrozen

setLayoutFrozen/isLayoutFrozenという(面白い名前の)APIを見つけたのでメモ程度に紹介です。 業務でCoordinatorLayout + RecyclerViewを用いた画面を実装中に見つけました。画面起動をすると、RecyclerViewが意図せず微妙にスクロールしてしまうという問題…

Robolectric 4.2の変更点とアップデートできずに詰まっている点について

Robolectricとは RobolectricとはAndroidのためのオープンソースのユニットテストフレームワークです。レミュレータや実機を起動してテストを実行せずとも、JVM内の擬似的Android環境上でテストを実行することで、テスト実行時にActivityなどのAndroidプラッ…

DroidKaigi 2019にて「アプリをさらに成長させるための技術戦略」というタイトルで登壇をしました

DroidKaigi 2019とは? Androidの技術情報の共有とコミュニケーションを目的としたカンファレンスです。2015年から毎年開催されており、2019年は、2月7日〜2月8日の二日間、開催されました。 droidkaigi.jp 登壇内容 「アプリをさらに成長させるための技術戦…

Notes - Fun with LiveData (Android Dev Summit '18)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

Notes - Get Animated (Android Dev Summit '18)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

Notes - Modern Android Notifications (Android Dev Summit '18)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…

BuildConfigを生成しないようにする方法

TL;DR android { ... libraryVariants.all { it.generateBuildConfig.enabled = false } } 自動生成されるBuildConfig.javaについて Androidアプリ開発等において、プロジェクト構成をマルチモジュールの形にすることで得られるメリットは大きくなってきてい…

Layout XMLファイル内でData Bindingを用いてプレースホルダー付きStringリソースにアクセスする

公式リファレンスに記載されている通りですが、 <string name="self_introduction">My name is %1$s</string> というstringリソースが定義されているとします。これをData Bindingを使ってLayout XML内部にて、たとえばTextViewのtextフィールドにバインドしたい場合、 以前だと下記のような記述方法の…

Parcelizeを利用してみた所感と注意点

※2018/06/14(木) 時点での所感と注意点を記載しています。何かアップデートがあれば随時追記していければと思います。 Parcelizeとは、Kotlinが提供するAndroid開発のためのコンパイラー拡張機能です。Parcelableを実装したクラスに対して@Parcelizeアノテー…

Google I/O 2018で質問したこと・I/O 2018の振り返り

※Google I/O 2018の発表内容についてはこのブログでは紹介していないので、発表内容について気になる方は他ブログ・Qiita記事だったり各地で開催されている報告会の資料などをぜひ参考にしてください。 本記事では、Google I/O 2018にて質問したこと(したか…

Notes - Android Jetpack: what’s new in Android Support Library (Google I/O 2018)

※Notes記事では、英語のセッション動画やポッドキャストの内容を(雑に)英語でメモに書き残すことを行っています。本記事は、あくまで動画を見ながら、参考程度に読んでいただくことを想定しています。Notes記事には雑メモ程度のものだったり、書き起こしのよ…