37
What’s new in Android Studio @ Google I/O Extended in Fukuoka

Whats's new in Android Studio at Google I/O extended in Fukuoka

Embed Size (px)

Citation preview

Page 1: Whats's new in Android Studio at Google I/O extended in Fukuoka

What’s new in Android Studio@ Google I/O Extended in Fukuoka

Page 2: Whats's new in Android Studio at Google I/O extended in Fukuoka

Proprietary + Confidential

Masahiro Hidaka@mhidaka

Insert Photo

Yuki Anzai@yanzm

Page 3: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Android Studio 2.2

最新は Preview 4

Page 4: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

アプリ開発が複雑化、効率的な開発環境が必要

Page 5: Whats's new in Android Studio at Google I/O extended in Fukuoka

Android Studio 2.2

Constraint Layout 柔軟なレイアウトが可能に

Instant Run デバッグの効率化

Testing Framework テスト、Firebase連携の充実

Page 6: Whats's new in Android Studio at Google I/O extended in Fukuoka

Proprietary + Confidential

Constraint Layout

Page 7: Whats's new in Android Studio at Google I/O extended in Fukuoka

Text

Constraint Layout

RelativeLayoutの上位セット

Layoutの入れ子を減らし、効率的に作れる

ライブラリ非依存、Android

StudioによるUI Builder

Page 8: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

なぜ新しいLayoutが必要?

90のスクリーンサイズ、30言語、縦横の組み合わせでレイアウトを設計する必要がある

Simple Complex

LinearLayout RelativeLayout

FrameLayout GridLayout

TableLayout

Page 9: Whats's new in Android Studio at Google I/O extended in Fukuoka

Layout Problems

Android Layouts

シンプルなレイアウトはわかりやすいが入れ子で使う

レイアウトの入れ子はパフォーマンスに影響

複雑なレイアウトはメンテナンスが困難。プロの技となりやすい

Page 10: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Android Stuido Supports Constraint Layout

Page 11: Whats's new in Android Studio at Google I/O extended in Fukuoka

Text

より柔軟なLayout

既存のLayout XMLは変換可能 UI BuilderではXMLは機械的に生成

Android Studio 2.2 Previewよりサポート

API Level 9までバックポート

Page 12: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Constraint Layout

Android StudioのGUIから位置合わせ、コンポーネント間の関係を定義できる

Page 13: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

DEMO

https://youtu.be/csaXml4xtN8?t=852 

Page 14: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout に関連するクラス

android.support.constraint.ConstraintLayout

android.support.constraint.Guideline

android.support.constraint.solver.widgets.ConstraintWidget

android.support.constraint.solver.widgets.Guideline

Page 15: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 : Absolute

app:layout_editor_absoluteX="100dp"app:layout_editor_absoluteY="100dp"

Page 16: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 : Center

app:layout_constraintCenterX_toCenterX="@id/view1"app:layout_constraintCenterY_toCenterY="@id/view1"

Page 17: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 : Vertical Position

app:layout_constraintTop_toTopOf="@+id/view1"

app:layout_constraintTop_toBottomOf="@+id/view1"

app:layout_constraintBottom_toTopOf="@+id/view1"

app:layout_constraintBottom_toBottomOf="@+id/view1"

app:layout_constraintBaseline_toBaselineOf="@+id/view1"

Page 18: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 : Horizontal Position

app:layout_constraintLeft_toLeftOf="@+id/view1" app:layout_constraintLeft_toRightOf="@+id/view1" app:layout_constraintRight_toLeftOf="@+id/view1" app:layout_constraintRight_toRightOf="@+id/view1"

Page 19: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 : Horizontal Position

app:layout_constraintStart_toStartOf="@id/view1" app:layout_constraintStart_toEndOf="@id/view1" app:layout_constraintEnd_toStartOf="@id/view1" app:layout_constraintEnd_toEndOf="@id/view1"

Page 20: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 for Guildeline

android:orientation=“vertical"

app:relativeBegin="20dp"

app:relativeEnd="20dp"

app:relativePercent="13"

Page 21: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 : Bias

app:layout_constraintHorizontal_bias="0.1"app:layout_constraintVertical_bias="0.2"

Page 22: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ConstraintLayout の属性 : dimentionRatio

app:layout_constraintDimensionRatio="16:9"

<TextView android:layout_width="100dp" android:layout_height="0dp" android:background="#3300ffff" android:text="DimensionRatio(16:9)" app:layout_constraintBottom_toBottomOf="@+id/activity_main" app:layout_constraintDimensionRatio="16:9" app:layout_constraintTop_toTopOf="@+id/activity_main" app:layout_constraintVertical_bias="0.0" />

Page 23: Whats's new in Android Studio at Google I/O extended in Fukuoka

Proprietary + Confidential

Instant Run & APK Analyzer

Page 24: Whats's new in Android Studio at Google I/O extended in Fukuoka

Instant Run

アプリ開発を便利に

実行ファイルの一部を動的に入れ替え、ビルド待ちを軽減

アプリケーション内にサーバーを用意、ソケット通信でクラスファイルを入れ替え

Hot Swap, Warm Swap, Cold Swapの3種類がある

Page 25: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Instant Runの動作原理

変更したコードによって・アプリを再起動する ・アクティビティを再起動する・そのまま差し替えて動作が自動的に行われる

Page 26: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

ベンチマーク

https://www.youtube.com/watch?v=csaXml4xtN8 

リソース変更時のリナンバリングを改善

APKのdexファイルを細かく分割、10~11

ファイルのうち必要なファイルだけ更新する

Page 27: Whats's new in Android Studio at Google I/O extended in Fukuoka

APKAnalyzer

APK Analyzer

APKで最も気にすべき要素は「サイズ」ダウンロードサイズが大きいとユーザーはアプリを使ってくれない

APK AnalyzerはAPKの中身を解析、どの部分がダイエットのボトルネックか確認できる

Page 28: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

APK Analyzer DEMO

Page 29: Whats's new in Android Studio at Google I/O extended in Fukuoka

Proprietary + Confidential

Testing Framework

Page 30: Whats's new in Android Studio at Google I/O extended in Fukuoka

Espresso Test Recorder

UI Test Framework

EspressoはUIテストのためのフレームワーク

テスト自動化を支援してソフトウェアの品質を維持

Page 31: Whats's new in Android Studio at Google I/O extended in Fukuoka

Test Recorder

Viewの操作を記録、画面に表示している内容をテストできる

Page 32: Whats's new in Android Studio at Google I/O extended in Fukuoka

Firebase

Firebaseとの連携

Android StudioにPluginを追加

Firebaseの各種機能が使いやすく

・Analytics

・Cloud Messaging

・Authentication

・Realtime Database

・Test Lab

etc

Page 33: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Firebase Test Lab

Page 34: Whats's new in Android Studio at Google I/O extended in Fukuoka

エミュレータ

実機よりも高速に

ADBも10倍転送がはやく

新しいUIとセンサー制御

Page 35: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

画像出典および参考文献

• What's new in Android development tools - https://www.youtube.com/watch?v=csaXml4xtN8

• Android Layouts: a new world - https://www.youtube.com/watch?v=sO9aX87hq9cLean and Fast: Putting Your App on a Diet - https://www.youtube.com/watch?v=xctGIB81D2w

• Instant Run: An Android Tool Time Deep Drive - https://www.youtube.com/watch?v=StqAZ1OQbqA https://android-developers.blogspot.jp/2016/05/android-studio-22-preview-new-ui.html

• https://developer.android.com/studio/features.htmlhttps://firebase.google.com/docs/test-lab/

Page 36: Whats's new in Android Studio at Google I/O extended in Fukuoka

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

画像出典および参考文献

• Latest Android Studio Canary Build https://sites.google.com/a/android.com/tools/download/studio/canary/latest

• Using Multiple Android Studio Versions http://tools.android.com/tips/using-multiple-android-studio-versions

Page 37: Whats's new in Android Studio at Google I/O extended in Fukuoka

Proprietary + Confidential

Masahiro Hidaka Yuki Anzai@yanzm@mhidaka

End