Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using Google Maps Platform with idiomatic Kotlinまとめ

Using Google Maps Platform with idiomatic Kotlinまとめ

集まれKotlin好き!Kotlin愛好会 vol.30 @オンライン
https://love-kotlin.connpass.com/event/218515/

jollyjoester

July 21, 2021
Tweet

More Decks by jollyjoester

Other Decks in Technology

Transcript

  1. Using Google Maps Platform with idiomatic Kotlinまとめ 2021/07/21 Kotlin愛好会 vol.30

    jollyjoester
  2. この談義について • この談義はGoogle I/O 2021のUsing Google Maps Platform with idiomatic

    Kotlinのセッション動画を見てまとめたものです。 • わかりやすい構成・英語なのでぜひ見てみてください!(初中級向け?)
  3. Javaで開発されているGoogle Maps PlatformのSDKを KTXを使って Kotlinらしい書き方で使えるよ! サマリ

  4. 背景:3つのSDK Maps SDK for Android (2012) Maps SDK Utility Library

    Places SDK (2015, 2019) →Javaで作られている c.f. 1:00 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en
  5. 背景:SDKをKotlinらしく使うには? SDK written in Java Java Kotlin Kotlin KTX SDK

    written in Java SDK written in Java
  6. KotlinのExtention(拡張機能)の集まり JetpackとかのAPIを最適化するためによく使われる Kotlinの言語機能を使ってAndroidアプリの開発をより簡潔で快適にするよ! Maps, PlacesのKTXオープンソースになってるよ! • android-maps-ktx • android-places-ktx KTX

  7. 使い方 c.f. 4:39 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en

  8. Mountain View → Mexico City へ アニメーションしながら移動する Example 1

  9. Without Maps KTX c.f. 5:25 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en

  10. Without KTX ①Mountain Viewまでカメラをアニメーション する

  11. Without Maps KTX ②2秒待つ

  12. Without Maps KTX ③Mexico Cityまでカメラをアニメーションする

  13. コールバック地獄😢 見る場所が飛んでて読みにくい😢 Without KTX

  14. With Maps KTX c.f. 6:29 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en ③Mexico Cityまでカメラを アニメーションする ②2秒待つ

    ①Mountain Viewまでカメラをア ニメーションする
  15. With Maps KTX c.f. 6:29 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en サスペンド関数

  16. With Maps KTX c.f. 6:29 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en サスペンド関数

  17. With Maps KTX c.f. 6:29 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en サスペンド関数をどんなスコープ で実行したりするか

  18. 通常の同期的なコードと同じ逐次的な書き方👍 フラットで読みやすい👍 Kotlin coroutines & suspending functions🙌 With Maps KTX

  19. Autocomplete Place Predictions 一部のテキスト入力すると場所を推測して取ってくるやつ Example 2

  20. Without Place KTX c.f. 8:39 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en requestをビルド

  21. Without Place KTX c.f. 8:39 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en SuccessとFailureのlambdaを書 く必要あり

  22. With Place KTX c.f. 9:08 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en Kotlin DSL スタイル

  23. With Place KTX c.f. 9:08 https://events.google.com/io/session/a898055b-44d0-460a-bf4f-b4512c964441?lng=en サスペンド関数

  24. With Place KTX Kotlin DSL〜(素敵そうだけどそこまで便利さわかってない。わかる方いたら教えて🙏) ハンドラー全部実装する必要ない(すっきり〜) Kotlin coroutines & suspending

    functions🙌
  25. • Codelabs ◦ 地図をAndroidアプリに追加する • Kotlin documentation snippets ◦ Google

    Maps Platform Documentation • Sample code ◦ https://github.com/googlemaps/android-samples ◦ https://github.com/googlemaps/android-places-demos Learning Maps & Kotlin
  26. 感想 Kotlin Corotinesかわいい 既存の資産を最新の形で使いやすくするKTXすごい 拡張なのででかいリファクタをしなくても部分的に新しい書き方を導入できるの便利

  27. Refs. セッション動画 • Using Google Maps Platform with idiomatic Kotlin