DroidKaigi 2019で登壇&ブース出展しました

こんにちは!Airメイト のAndroidアプリを開発している小谷野(@bandwagondagon)です。

先日行われたDroidKaigi 2019 にスピーカーとして登壇させてもらいましたので、その紹介と報告をします。 また、昨年 に引き続き、会社のブースを出展しており、そこで実施したAndroidクイズの解答と結果を公開いたします!

デザイナーとエンジニアの距離をより近づける Lottie 利用術

「デザイナーとエンジニアの距離をより近づける Lottie 利用術」というタイトルで今回初めて登壇しました。

発表のメインテーマでもあるLottieとはAirbnb, Inc.が公開しているOSSでAdobe After Effectsで作成したパスアニメーションを、モバイルやwebといった各アプリケーションプラットフォーム上で描画するためのライブラリです。

昨年のDroidKaigi 2018ではLottieに関するCFPは1つしかありませんでしたが、今年は6つに増えており、Lottieの注目度が大きく上がっていることがわかります。 当日もLottieをメインに取り扱ったセッションが2つありました。

セッションでは、Lottieアニメーションを個人開発やAirメイトのAndroid/iOSアプリに導入した際に得られた知見や課題感を元に

  • Lottieを取り巻く環境
  • Lottieが動く仕組み
  • ワークフローTipsの紹介

について発表しました。

詳しくは以下のスライドや当日の動画をご覧下さい。

セッション終了後のオフィスアワーでは、オーディエンスの方から、さまざまなLottieに関する疑問や質問をお聞きしました。その中でも

  • 既存のアニメーションとLottieのアニメーションをどのように使い分けたらよいのか?
  • Lottieアニメーションの描画パフォーマンスを上げるにはどのようにしたらよいのか?

といった悩みを抱えている方が多い印象でした。 セッション内では話し切れなかったこともあるため、補足事項を後日公開したいと思っています。

ブース出展

個人としての発表の他に、リクルートライフスタイルとしてブースを出展しました。 サービス紹介や、Tシャツ・トートバッグといったノベルティの配布の他に、Androidクイズを実施しました。

ブースに来ていただいた方、クイズに参加していただいた方、ありがとうございました!

Androidクイズ

今年はブースのコンテンツとしてAndroidクイズを実施しました。クイズに全問正解した方の中から、抽選で5名の方にAmazonギフト券1万円分をプレゼント!ということでたくさんの方に参加していただきました。普段の開発では触れないような知識の問題もあったため、解答に悩んだという方もいらっしゃったのではないでしょうか。

Androidクイズの正解や結果は後日公開としていたので、本記事ではその結果を公開したいと思います!

Q1. Android Pのコードネームは?

選択肢

  • Pocky
  • Popcorn
  • Pie
  • Pineapple Cake

正解はPieです!ラッキー問題ということでほとんどの方が正解していました。 個人的には次のAndroid Qのコードネームが何になるか気になるところです。

Q2. Androidのバージョン番号を連打すると出てくるイースターエッグ。Android Pでは何ができる?

選択肢

  • お絵描き
  • ねこあつめ
  • タコを動かす
  • 障害物の間を通すゲーム

正解はお絵描きです!この問題、一番正解率が低い問題となりました! このお絵描機能、実はPAINT.APKというアプリとして独立して存在しているため、ダウンロードも可能です。

https://play.google.com/store/apps/details?id=not.android.egg

またソースコードも公開されているため、興味がある方はぜひのぞいてみてください!

https://github.com/aosp-mirror/platform_frameworks_base/tree/pie-dr1-release/packages/EasterEgg

Q3. 次のうち、Runtime Permissionが必要じゃないものは?

選択肢

  • 電話番号を取得する
  • Wi-FiのIPアドレスを取得する
  • 現在地を取得する
  • 写真を撮影する

正解はWi-FiのIPアドレスを取得するです!Wi-FiのIPアドレスはNormal Permissionsで取得することが可能です。 具体例としては以下です。

1
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
1
2
val wifiManager =   applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
wifiManager.connectionInfo.ipAddress

Q4. val x = object : ((Int) -> Unit) -> Unit by {} {} {} と宣言した時、xの型は?

選択肢

  • Int
  • Unit
  • (Int) -> Unit
  • ((Int) -> Unit) -> Unit

正解はUnitです!こちらも解答が大きく分かれる問題でした。 Object expressionsDelegationラムダを引数としたときの括弧省略を組み合わせた問題だったのですが、いきなり定義だけ見ても、ぱっと答えが出てこない・・・と悩んだ方も多かったのではないでしょうか。

こちらの問題、@44x1carbonさんがDroidKaigi2019のAndroidクイズでQ4の解説でわかりやすく解説して下さっています。興味がある方はぜひご覧ください!

最終結果

問題ごとの解答の分布はこちらです!

Droidkaigi 2019 4

なんと113人もの方に解答していただき、全問正解者は26人という結果でした。 景品の当選結果は、3月上旬に当選者の方にのみご連絡を差し上げる予定です。 クイズに参加していただいた方、ありがとうございました!

おわりに

今年のDroidKaigiでは、日英同時通訳・コードラボなどさまざまな新しいチャレンジがなされていて、 毎年恒例のイベントでありつつも、進化し続けていく姿勢に、参加者としても非常に刺激を受けました。 そんなDroidKaigiをはじめとした開発者コミニティに、個人としても会社としても、 今後もよりいっそう貢献していきたいなと思っております!

さて、弊社では3月21日,22日に開催されるtry! Swiftでもブースを出展する予定です! こちらもよろしくお願いします!

https://www.tryswift.co/events/2019/tokyo/jp/