whats's new in android studio at google i/o extended in fukuoka

Post on 14-Apr-2017

680 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Proprietary + Confidential

Masahiro Hidaka@mhidaka

Insert Photo

Yuki Anzai@yanzm

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

Android Studio 2.2

最新は Preview 4

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

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

Android Studio 2.2

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

Instant Run デバッグの効率化

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

Proprietary + Confidential

Constraint Layout

Text

Constraint Layout

RelativeLayoutの上位セット

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

ライブラリ非依存、Android

StudioによるUI Builder

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

なぜ新しいLayoutが必要?

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

Simple Complex

LinearLayout RelativeLayout

FrameLayout GridLayout

TableLayout

Layout Problems

Android Layouts

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

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

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

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

Android Stuido Supports Constraint Layout

Text

より柔軟なLayout

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

Android Studio 2.2 Previewよりサポート

API Level 9までバックポート

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

Constraint Layout

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

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

DEMO

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

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

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"

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"

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"

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"

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"

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"

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"

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" />

Proprietary + Confidential

Instant Run & APK Analyzer

Instant Run

アプリ開発を便利に

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

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

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

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

Instant Runの動作原理

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

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

ベンチマーク

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

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

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

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

APKAnalyzer

APK Analyzer

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

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

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

APK Analyzer DEMO

Proprietary + Confidential

Testing Framework

Espresso Test Recorder

UI Test Framework

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

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

Test Recorder

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

Firebase

Firebaseとの連携

Android StudioにPluginを追加

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

・Analytics

・Cloud Messaging

・Authentication

・Realtime Database

・Test Lab

etc

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

Firebase Test Lab

エミュレータ

実機よりも高速に

ADBも10倍転送がはやく

新しいUIとセンサー制御

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/

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

Proprietary + Confidential

Masahiro Hidaka Yuki Anzai@yanzm@mhidaka

End

top related