【Android】DroidKaigi 2019 まとめ

# DroidKaigi とは
エンジニアが主役のAndroidカンファレンス。
DroidKaigi 2019 は 2019年2月7日(木)、8日(金)の2日間開催。

以下が公式サイトのリンクです。
[DroidKaigi 2019 公式サイト](https://droidkaigi.jp/2019/)

チケットがないと入場できません。ちなみにチケット代は以下でした。
・ 早期割引: 10,000円
・ 一般: 15,000円
・ 学生: 4,000円

高いと感じるかもしれませんが、パーティの参加費も含まれています。お昼のお弁当も出ました。

# タイムテーブル
各セッションの詳細は公式サイトにタイムテーブが載っています。
[公式サイトタイムテーブル](https://droidkaigi.jp/2019/timetable)

各セッションの発表資料を公開していたのでまとめさせていただきました。
リンクがあるところが公開されている資料を見つけられたセッションです。

## 1日目

### Hall
| Hall A | Hall B |
|:-----------|:---------|
| ウェルカムトーク | |
| [マルチモジュールなプロジェクトでテストはどう変わる？](https://speakerdeck.com/tkmnzm/how-change-testing-in-modular-architecture) | |
| [マルチモジュールプロジェクトでの Dagger2を用いた Dependency Injection](https://speakerdeck.com/kgmyshin/android-multi-module-with-dagger) | Optimize Builds with Android Plugin for Gradle 3.3.0+ |
| Fireside Chat | |
### Room1
| 時間 | セッション名 |
|:-----------|:---------|
| 11:20 | What is Navigation Architecture Component and Tips |
| 12:50 | [LiveData と Coroutines で実装する DDD の戦術的設計](https://y-anz-m.blogspot.com/2019/02/droidkaigi-2019-livedata-coroutines-ddd.html) |
| 14:00 | [PWAでここまでできる](https://speakerdeck.com/samukei/pwadekokomadedekiru) |
| 14:50 | [Chrome Custom Tabsの仕組みから学ぶプロセス間通信](https://speakerdeck.com/ohmae/chrome-custom-tabsfalseshi-zu-mikaraxue-bupurosesujian-tong-xin) |
| 15:40 | [Androidエンジニアが抑えておくべきUnicode Emojiの知識](https://speakerdeck.com/tacke_jp/unicode-emoji-for-android-engineer-droidkaigi09) |
| 16:30 | [From Monolithic to Modularized codebase with Dagger](https://drive.google.com/file/d/1rICcpOK-5ly61KLqkyTlhgvAPKL18OPs/view) |
### Room2
| 時間 | セッション名 |
|:-----------|:---------|
| 12:50 | [EspressoのテストをAndroidの最新トレンドに対応させよう](https://speakerdeck.com/sumio/make-espresso-testing-follow-the-cutting-edge-in-android-development) |
| 14:00 | [ぼくのかんがえた最強のUsecaseの作り方  ~あるいはビジネスロジックとはなにかという1つの回答~](https://speakerdeck.com/kiuchikeisuke/bokufalsekangaetazui-qiang-falseusecasefalsezuo-rifang-aruihabizinesurozitukutohananikatoiu1tufalsehui-da) |
| 14:50 | R8、Proguard徹底比較 |
| 16:00 | 詳解定期購入 |
| 17:10| [シームレスに遷移可能な画面を他のアプリに提供する方法](https://www.slideshare.net/TakakiHoshikawa/droidkaigi-2019) |
### Room3
| 時間 | セッション名 |
|:-----------|:---------|
| 11:20 | [Unit test for ViewModel and LiveData](https://speakerdeck.com/hkusu/unit-test-for-viewmodel-and-livedata) |
| 12:50 | [マテリアルデザインの起源とベースとなる哲学](https://speakerdeck.com/ken0331/materiarudezainfalseqi-yuan-tobesutonaruzhe-xue) |
| 14:00 | [Master of Android Theme](https://speakerdeck.com/konifar/master-of-android-theme) |
| 14:50 | [The good and bad of modern app architecture](https://www.slideshare.net/fast-retailing/the-good-and-bad-of-modern-app-architecture) |
| 15:40 | Understanding Kotlin Coroutines: コルーチンで進化するアプリケーション開発 |
| 16:50 | [クロスプラットフォームモバイルアプリ開発ツール総ざらい2019 〜Titanium MobileからKotlin/Nativeまで〜](https://speakerdeck.com/amay077/native-made-number-droidkaigi) |
### Room4
| 時間 | セッション名 |
|:-----------|:---------|
| 12:50 | [アプリをさらに成長させるための技術戦略（振り返りとこれから）](https://speakerdeck.com/shoheikawano/tech-strategy-for-boosting-app-growth) |
| 14:00 | [つらいと評判のAndroid BLEを頑張って使い続けた話](https://www.slideshare.net/KentaHarada/android-ble) |
| 14:50 | [いかにしてビットコインを扱うか](https://speakerdeck.com/yuiki/how-to-handle-bitcoin-in-android) |
| 15:40 | ちゃんとつくる Google Assistant アプリ |
| 16:30 | [クロスプラットフォーム開発3種の神器 React Native](https://speakerdeck.com/takuji31/graphql-1a527ce1-a600-4b07-b4c8-0c0d99016702) |
### Room5
| 時間 | セッション名 |
|:-----------|:---------|
| 12:50 | Codelabs: Android Fundamental Course |
### Room6
| 時間 | セッション名 |
|:-----------|:---------|
| 12:50 | [Server-side Kotlin for Frontend 複雑なAndroidアプリ開発に対するアプローチ](https://speakerdeck.com/qsona/server-side-kotlin-for-frontend) |
| 14:00 | [FCMを使った用途に合わせたPush通知設計](https://speakerdeck.com/supersatosan/push-notification-architecture-design-according-to-the-use-case-using-fcm) |
| 14:50 | [Chromebookで始めるラップトップ向けAndroidアプリ](https://github.com/Reyurnible/chromebook-android-sample) |
| 16:00 | [Redux for Android](https://speakerdeck.com/yuyakaido/droidkaigi-2019) |
| 17:10 | [Chrome + WebAuthn で実現できるパスワードレスなユーザー認証体験と開発者の課題](https://speakerdeck.com/ritou/webauthn-at-droidkaigi-2019) |
### Room7
| 時間 | セッション名 |
|:-----------|:---------|
| 12:50 | [Deep Dive to fido.fido2 Packages](https://speakerdeck.com/ken5scal/deep-dive-to-com-dot-google-dot-android-dot-gms-dot-fido-dot-fido2) |
| 14:00 | [Dexs, R8 & 3.2](https://speakerdeck.com/cdsap/dexs-r8-and-3-dot-3) |
| 14:50 | [Exploring the Android Transform API](https://speakerdeck.com/mannodermaus/exploring-the-android-transform-api) |
| 15:40 | [Grid Systems And Android](https://speakerdeck.com/soham/grid-systems-and-android-droidkaigi-2019) |
| 16:40 | [ExoPlayer in RecyclerView(*), a proposal](https://speakerdeck.com/eneim/exoplayer-in-recyclerview) |


## 2日目

### Room1
| 時間 | セッション名 |
|:-----------|:---------|
| 10:30 | [Dialogflowによる自然言語処理(NLP)を用いたボイスコマンド音声認識の精度向上](https://speakerdeck.com/kakka/20190208-droidkaigi2019) |
| 11:20 | [Spek2+MockK+JaCoCoでイケてる Unit Test環境を手に入れろ！](https://speakerdeck.com/subroh0508/spek2-plus-mockk-plus-jacocodeiketeru-unit-testhuan-jing-woshou-niru-rero) |
| 12:50 | [Deep dive into MotionLayout](https://www.slideshare.net/hagikuratakeshi/deep-dive-into-motionlayout) |
| 14:00 | [Android Studio設定見直してみませんか？](https://shiraji.hatenablog.com/entry/2019/02/08/131843) |
| 14:50 | [今日から始める依存性の注入](https://speakerdeck.com/kobakei/first-time-dependency-injection) |
| 15:40 | [Androidにおけるパフォーマンスチューニング実践](https://speakerdeck.com/neonankiti/androidniokerupahuomansutiyuningushi-jian) |
| 16:50 | [Navigation Architecture Component によるアプリ内遷移の管理](https://speakerdeck.com/ytakahashi/navigation-architecture-component-niyoruapurinei-qian-yi-falseguan-li) |
| 17:40 | [実践 WorkManager](https://speakerdeck.com/_atsushisakai/workmanager) |
| 18:30 | Android アプリ開発における、デザイナーとエンジニアのワークフロー |
### Room2
| 時間 | セッション名 |
|:-----------|:---------|
| 10:30 | [中規模以上のアプリ開発におけるCIレシピとリリースフロー戦略](https://speakerdeck.com/kazakago/zhong-gui-mo-yi-shang-falseahurikai-fa-niokeruciresihitoririsuhurozhan-lue) |
| 11:20 | [Guide to app architectureを踏まえた既存アプリの設計改良](https://speakerdeck.com/nakamuuu/droidkaigi-2019) |
| 12:50 | Trash Talk |
| 14:00 | SpekでUnitTestを書こう |
| 14:50 | [ハマった時に役立つ通信系デバッグの話](https://speakerdeck.com/ecoopnet/hamatutashi-niyi-li-tutong-xin-xi-tehatukufalsehua) |
| 15:40 | [Multi-module Androidアプリケーション](https://speakerdeck.com/sansanbuildersbox/multi-module-android-application) |
| 16:50 | [デザイナーとエンジニアの距離をより近づけるLottie利用術](https://speakerdeck.com/ykoyano/dezainatoenziniafalseju-li-woyorijin-dukerulottieli-yong-shu) |
| 17:40 | [AndroidThingsでのプロダクト開発](https://docs.google.com/presentation/d/1yVlj4FZpWYYQckVzKt4kHHjJx4hWVYskdQBIMLF2Rgc/edit#slide=id.g4f4af87baa_2_6) |
| 18:30 | [build.gradle.ktsに移行しよう](https://speakerdeck.com/tnj/lets-migrate-to-build-dot-gradle-dot-kts) |
### Room3
| 時間 | セッション名 |
|:-----------|:---------|
| 10:30 | [Not Just Rotation: Configuration Changes on Android](https://docs.google.com/presentation/d/1e52eJiLim4YQIw-NOgKHsXeLq2W5W_l22BDQ1N1iM7Y/edit#slide=id.g4ee691df86_2_55) |
| 11:20 | [Gradle BOM importでライブラリバージョン管理](https://speakerdeck.com/gya/droidkaigi2019) |
| 12:50 | [Best practice for text on Android and its internals.](https://speakerdeck.com/nonanona/droidkaigi-2019-the-best-practice-for-android-text) |
| 14:00 | [AndroidVitals徹底活用](https://speakerdeck.com/kr9ly/androidvitalsche-di-huo-yong) |
| 14:50 | Lifecycle, LiveData, ViewModels - The inner wiring |
| 15:40 | [Journey of APK from compilation to launch](https://speakerdeck.com/amanjeetsingh150/journey-of-apk-from-compile-to-start) |
| 16:50 | [UIテスト(Espresso)の高速化をさらにすすめる](https://www.slideshare.net/tarappo/droidkaigi2019-130938358) | [WebView+ViewGroupを実現するAOSPメールアプリの内部実装とニュースアプリへの応用](https://speakerdeck.com/ogapants/droidkaigi2019) |
| 17:40 | [ああ、素晴らしきTDD ~アプリとエンジニアの心に安寧を~](https://www.slideshare.net/SaikiIijima/tdd-130994383) |
| 18:30 | [巨大なアプリ開発を支えるフラグ管理術](https://speakerdeck.com/line_developers/flag-based-feature-management) |
### Room4
| 時間 | セッション名 |
|:-----------|:---------|
| 10:30 | [React NativeとExpoを用いたクロスプラットフォーム開発入門](https://speakerdeck.com/mrtry/react-nativetoexpowoyong-itakurosupuratutohuomukai-fa-ru-men) |
| 11:20 | [Slice Your App: Inside Slices and How to build it](https://speakerdeck.com/kobitokaba/slice-your-app) |
| 12:50 | [カスタムブラウザの作り方 ー 実例から学ぶ Chrome と Firefox のカスタムビルド開発 ー](https://speakerdeck.com/dynamis/making-custom-browser) |
| 14:00 | FridaによるAndroidアプリの動的解析とフッキングの基礎 |
| 14:50 | |
| 15:40 | WiFi Direct + VpnServiceでSIM無しAndroidをWeb世界に社会復帰させる話 |
| 16:50 | [WebView+ViewGroupを実現するAOSPメールアプリの内部実装とニュースアプリへの応用](https://speakerdeck.com/ogapants/droidkaigi2019) |
| 17:40 | WebViewを守るSafe Browsingのコントロール |
| 18:30 | [Google Play Consoleのリリーストラックを有効活用してリリースフローの最適化を行った話](https://speakerdeck.com/litmon/google-play-consolefalseririsutoratukuwoyou-xiao-huo-yong-siteririsuhurofalsezui-shi-hua-woxing-tutahua) |
### Room5
| 時間 | セッション名 |
|:-----------|:---------|
| 10:30 | Android App Improvement Challenge Part1: 機能実装編 |
| 12:50 | Android App Improvement Challenge Part 2: リファクタ編 |
| 15:00 | Codelabs: Free Theme |
### Room6
| 時間 | セッション名 |
|:-----------|:---------|
| 10:30 | [外部デバイスと密に連携するAndroidアプリに最適なアーキテクチャとは？](https://speakerdeck.com/uri/wai-bu-tehaisutomi-nilian-xi-suruandroidahurinizui-shi-naakitekutiyatoha) |
| 11:20 | [Wi-Fi RTTによる屋内測位アプリを作ろう](https://speakerdeck.com/napplecomputer/wi-fi-rttniyoruwu-nei-ce-wei-apuriwozuo-rou) |
| 12:50 | [All About Test of Flutter](https://docs.google.com/presentation/d/1Our2pND0t5IjJhpt0rGw5eDjWUeHU0145A9w9yqvZm0/edit#slide=id.g4bf17e68c4_0_76) |
| 14:00 | [実践Lottie](https://speakerdeck.com/kumanomi/shi-jian-lottie) |
| 14:50 | [Android Enterpriseで実現できる端末管理の世界](https://www.slideshare.net/DaisukeTsutsumi/android-enterprise-131344427) |
| 15:40 | [ゼロから実装する縦書きTextViewとその周辺技術](https://speakerdeck.com/cc4966/vertical-textview-from-scratch-and-related-technologies) |
| 16:50 | [2019年の技術であのARアプリを再現する](https://speakerdeck.com/ktaka/2019nian-falseji-shu-deafalsearapuriwozai-xian-suru) |
| 17:40 | [FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略](https://www.slideshare.net/cch-robo/flutterwidget-130879555) |
| 18:30 | [BLEアプリ設計パターン](https://speakerdeck.com/tomohikosato/ble-app-pattern) |
### Room7
| 時間 | セッション名 |
|:-----------|:---------|
| 10:30 | [From TensorFlow to ML Kit: power your Android application with machine learning](https://speakerdeck.com/jinqian/from-tensorflow-to-ml-kit-power-your-android-application-with-machine-learning) |
| 11:20 | Code Review as a Collaborative Journey |
| 12:50 | |
| 14:00 | What does "adb lolcat" do? A deep dive into adb |
| 14:50 | [Troubleshooting your designer's, and vector graphics](https://speakerdeck.com/marukami/troubleshooting-your-designer-and-vector-graphics) |
| 15:40 | [Sharing Code between iOS & Android with Rust](https://speakerdeck.com/terhechte/sharing-code-between-ios-and-android-with-rust) |
| 16:50 | [Fast Prototypes with Flutter + Kotlin/Native](https://speakerdeck.com/bennegeek/droidkaigi-2019-flutter-kotlin-native) |
| 17:40 | [Building for next billion](https://docs.google.com/presentation/d/1kETJkCt6hbD2sfq70pTgIQ_NLmxS2E0dnKgfpHpzWtg/edit#slide=id.g4df7f70a13_0_689) |
| 18:30 | Animations in Flutter |

# 動画
各セッションでは動画撮影をしていました。
後日に公開されるということで、この取り組みも素晴らしいと感じました。
[Youtube DroidKaigiチャンネル](https://www.youtube.com/channel/UCgK6L-PKx2OZBuhrQ6mmQZw)

# 終わりに
私自身、今回が DroidKaigi 初参戦！
セッションをしていただいていた方々は企業のエンジニアでしたが、企業の宣伝はほとんどないところが素晴らしかったです。

全てのセッションの資料を見つけようと思いましたが、見つけられませんでした。
力不足ですいません(｡>＿<｡)

見つけることができたら更新します。

# おまけ
個人的に良かったのは、パーティに出てきたドロイド君のケーキです(もちろん参加者は食べることができます)
↓写真を貼っておきます。
![cake.jpeg](https://qiita-image-store.s3.amazonaws.com/0/264726/297ab769-6fde-e2c9-c753-652fb28796a2.jpeg)