heihei blog

書けるときに書く。📝

android

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'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記事には雑メモ程度のものだったり、書き起こしのよ…

Notes - Android Jetpack sweetening Kotlin development with Android KTX (Google IO 18)

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

Notes - Android Jetpack how to smartly use Fragments in your UI (Google IO 18)

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

Notes - Modern Android development: Android Jetpack, Kotlin, and more (Google I/O 2018)

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

Android関連のユティリティークラスやヘルパークラスの命名などについてざっくり調べてみた

TL;DR ユティリティーとヘルパーの違いは曖昧 ユティリティークラスはプライベートコンストラクタを持ちstaticメソッドを公開しているパターンが多そう ユティリティーパッケージ、ユティリティークラスやヘルパークラスの命名には単数形(~Util / Helper)を…

Droidcon Boston 2018に登壇者として参加した

3/26(月)、3/27(火)の2日間、ボストンにてDroidcon Boston 2018というAndroidエンジニアのカンファレンスがあり、登壇者として参加してきました。 3キーノートスピーチ 24セッション 6ライトニングトーク 5ワークショップ がありました。 自分が発表した内容…

DroidKaigi RejectconでOkio & OkHttpの内部実装について発表した

DroidKaigi RejectconでOkio & OkHttpの内部実装について発表しました 資料はこちらです: speakerdeck.com DroidKaigi Rejecton connpass.com 準備期間としては、DroidKaigiが終わってから本日までの、1週間後と少しでした。 登壇までの背景 前々から有名ラ…

DroidKaigi 2018にて、Flux for Androidについて発表した

はじめに DroidKaigi運営の方へ、本当にお疲れ様でした!! たくさんの知見を共有する・してもらうだけではなく、初めて出会う方はもちろん、GitHubやTwitterでは知っていたけどリアルで話したことはなかった他のエンジニアの方々や海外出身の方々とも交流す…

Presentation(β version) for DroidKaigi "Flux: Utilize unidirectional data flow to think less and scale faster"

This is the β version of DroidKaigi session "Flux: Utilize unidirectional data flow to think less and scale faster". If you have anything specific you would like to know about Flux or if you find something irrelevant/typo in this presentat…

Android SDK内部のソースコードを読む際に役立つ(かもしれない)ツールやウェブサイト7選

Androidアプリ開発をしていると、「Android SDKのソースコードを読みたい」、と思うことがしばしばあります。 思わぬバグに出くわしてしまったが調べても調べても原因がつかめない (例えば)ViewPagerなどのAndroidが提供しているViewコンポーネントの動きを…

Notes - droidcon NYC 2017: Upgrading to Moshi

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

Notes - droidcon NYC 2017: App Development - Pragmatic Best Practices

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

Notes - Kotlin Types: Exposed by Svetlana Isakova (KotlinConf 2017)

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

Notes - Fragmented Podcast: 105: Jake Wharton on the Android Kotlin Guides

In this post I wrote down the notes I took while I was listening to the Fragmented Podcast ep. 105 - Jake Wharton on the Android Kotlin Guides. The talk mainly talks about the main reason or the goal of android/kotlin-guides, the content o…

Firebaseのサポート(CS)について

この記事では、FirebaseのようなBaaSを利用している方向けに、機能追加や質問等がある場合には積極的にサポートに連絡しよう、という勧めについて記載しています。

"XXX is a boxed field but needs to be un-boxed to execute YYY. This may cause NPE so Data Binding will safely unbox it. You can change the expression and explicitly wrap XXX with safeUnbox() to prevent the warning."の警告を見て、Data Binding周りを調べたことについて

TL;DR Data Bindingライブラリで<data>タグと<variable>タグを利用してXML上に変数定義をする際には、プリミティブ型で定義できる際には積極的にプリミティブ型を使っていこう 参照型の変数を定義した際には、Data Bindingライブラリが内部でunboxingする safeUnbox()を利用</variable></data>…

Androidの(海外開催含む)カンファレンス情報について

Androidアプリケーション開発者に関わらず、国内、国外の大きなカンファレンスが行われる際、どのようなカンファレンスなのか(どこでいつ頃あるのか、登壇者は誰なのか、等)気になることがあります。Androidアプリケーション開発に関するカンファレンスに関…