「CA.apk #3 - Google I/O 2017 報告会」に参加してきました

Android Developer Tools

AndroidStudio3.0

  • Developer
  • Build
  • Test
  • Optimize

Developer

Kotlin

  • kotlin公式サポート
  • Javaのコードをkotlinに変換できる
  • kotlinのコードをJavaデコンパイルすることもできる
  • 相互に完全互換がある

LayoutEditor

  • サンプルデータのサポート

その他

  • instant app開発サポート
    • モジュール化
  • iconを1つ用意するだけで勝手に最適化

Build

InstantAppsサポート

ビルドスピードアップ

  • gradle3系を使うこと
  • "Slow Build are not normal"

Test

  • AndroidEmulator
  • APK Debugging
  • LayoutInspector
  • AndroidProfiler
    • CPU,memory,network

Optimize

  • APK Analyzer
    • InstantAppsのために重要

Architecture Components : Room Persistence Library

Room

  • データを永続化するもの
  • キャッシュしたりとか

Androidにおいて

SQLiteを使う

  • いろいろ大変
  • 直接クエリを書く
  • データの読み書きするだけなのに負担大きい

そこでRoom

  • SQLiteを使ったライブラリ
  • コンパイル時にクエリ解析
  • テストのモジュールもある
  • DB周りのインターフェース

Roomの基礎

  • gradleにdependencyいろいろ追加で使える

Roomのコンポーネント

Entity

  • @Entityをつける
  • jpaみたいな感じ
  • @Embedded
    • oneToMany的な
    • でもリレーションではない
リレーション
  • Object間の直接的なリレーションを禁止している
  • ObjectMappingLibrary
  • ネストした呼び出しをすると描画を止めてしまうから
    • user.getAuthoer().getName()みたいな

DAO

  • @DAO
  • query書いたりとか
  • queryは自分で今は書く
    • Androidスタジオの機能でそのうち出るかも

Database

  • @database
  • databaseBuilder

Architecture Components : Solving the Lifecycle Problem

宣伝

  • AbemaTVのアプリは全部Java
  • kotlin化したい人募集中

Kotlin

どうしてkotlinが公式言語

  • KotlinをAndroidの公式言語としてサポート

    • コミュニティが求めていた言語ですでに使われている
    • Androidのランタイムと完全互換
    • 素晴らしいIDE
  • FirstClassLanguage

  • シンタックスノイズの少ない言語
  • AndroidStufio3.0
  • Java8
  • OSSで非営利財団が開発していく

これから

  • 「Kotlinを選ぶ」ことができる
  • Javaの知識は必要
  • 自由度が高いのでチーム内で議論が必要
  • swiftと似てると言われるけど共通化なんて無理

AndroidStufio3.0導入でやったこと

  • futaboooさん(eureka,Inc.)

About "understanding color"

  • mstsskさん(トップゲート)

  • 同じ色の指定でもデバイスによって見え方が違う
  • 色のAPIが新しく追加

GoogleI/O こわくない

  • rmakiyamaさん(Excite Japan)

初めて行ってきた話

  • 英語できない
  • 1人で
  • GoogleI/O参加者のSlackがあるので助けてもらえる
  • 炭酸お菓子がエンドレス
  • Lyft or Uber
    • 現在地と目的地入れるだけでタクシーくる
    • 支払いクレカ
    • チップも勝手に