その他注目すべき機能
ここまで、Kotlinのサポート、新しいJavaの記述方法を紹介してきました。ここからは、Android Studio 3.0に追加された機能で、他に注目すべきものをカタログ的に紹介していきます。
Layout Inspector
これは、現在実行中の画面をAndroid Studioに表示してくれる機能です。
例えば、ListViewを使った画面があるとします。レイアウトエディタでは図7のように仮の表示です。
これが、Layout Inspectorを使えば、図8の通り実行中の画面を表示してくれます。
これは、アプリ実行中に[Tools]メニューから
[Android] > [Layout Inspector]
を選択し、表示されたダイアログから実行中のパッケージを選択すれば表示されます。
このLayout Inspectorにおいて、Android Studio 3.0では、右側のプロパティパネルでのプロパティのグループ化表示、および、プロパティパネルと左側のビューツリーでの検索機能が追加されています。
XMLフォントとダウンローダブルフォント
これは、フォントをXMLで記述し、必要に応じてダウンロードしてくれる機能です。
これまでは、Android SDKに含まれていないフォント(カスタムフォント)を使う場合は、assetsフォルダにフォントファイルを格納しておく必要がありました。ところが、Android 8(APIレベル26)からはリソースとして利用できるようになりました。これは、res/fontフォルダにフォントファイルを格納します。さらに、xmlファイルとしてフォントファミリーを記述して定義できます。リスト8がフォントファミリーを定義しているXMLのサンプルです。
<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/maru_regular" /> <font android:fontStyle="italic" android:fontWeight="400" android:font="@font/maru_italic" /> </font-family>
このファイルを、例えばmaru.xmlとしてfontフォルダに配置した場合、TextViewではリスト9のように指定すれば、フォントが適用されます。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/maru"/>
これが、XMLフォントです。
さらに、フォントファイルのダウンロードすら不要な方法も用意されています。これがダウンローダブルフォントです。これは、フォントプロバイダというアプリを端末内に用意し、そのフォントプロバイダにフォントデータをダウンロードしてもらいます。端末内の各アプリはフォントプロバイダを通じてファイルを共有する仕組みです。この仕組みのおかげで、アプリ内にフォントファイルを組み込む必要がなくなり、アプリのサイズを減らすことができます。現状、Google Play Servicesがフォントプロバイダとして組み込まれており、Google Fontsのフリーフォントが利用可能です。
利用方法はいたって簡単です。レイアウトエディタの[Attributes]で[fontFamily]のドロップダウンリストを表示させてください(図9)。そのリストを一番下までスクロールすると[More Fonts...]が表示されるので、それを選択してください。
すると図10のリソースウィンドウが表示されます。
右上に[Source]のドロップダウンがあり、こちらでフォントの提供先を選択できます。現状Google Fontsしか選べません。[Fonts]一覧をスクロールすると、[Downloadable]という区切り線が表示されます。それ以下がダウンローダブルフォントです。適当なフォントを選んで[OK]をクリックしてください。ここでは「Aclonica」を選択しています。すると、レイアウトエディタ[Attributes]の[fontFamily]に「@font/aclonica」と記述されると同時に、図11のように/res/fontフォルダが作成され、フォントファミリーが記述されたxmlファイルが自動生成されています。
とはいえ、フォントの実体はありません。これは、実行時にフォントプロバイダから提供されます。
Android Profiler
これは、アプリのパフォーマンスをリアルタイムに表示する機能です。
Android Studioの[View]メニューから
[Tool Windows」>[Android Profiler]
を選択すると、図12のツールウィンドウが表示されます。これは、ツールバーのアイコンをクリックしても表示されます。
このツールウィンドウでは、画面に起こったイベントのタイミング(図12ではMainActivityと書かれた緑色の横線の上の紫色の●)、CPUの使用状況、メモリの使用状況、ネットワークのトラフィックが一度に、しかもリアルタイムで確認できます。この画面を見ながら、作成したアプリのパフォーマンスについて、どこにボトルネックがあるのかなどを確認し、改善につなげることができます。
さらに、それぞれの行をクリックすると詳細が表示されます。参考までに、メモリ行をクリックした詳細画面(図13)を掲載しておきます。
Instant Appsサポート
Instant Appsは、インストール不要のAndroidネイティブアプリのことです。2017年5月17日、Googleが一般の開発者でも開発できるように公開しました。ただ、そのInstant Appsを開発するにはAndroid Studio 3.0が必要でした。その当時、Android Studio 3.0はまだプレビュー版でしたが、先行で発表した形です。今回、Android Studio 3.0が正式版となったことで、正式に開発が可能となりました。
従来のAndroidアプリを利用するには、Google Play Storeなどを通してアプリをインストールする必要がありました。一方、Instant appsはインストールの必要はありません。リンクなど、Instant appsを表すURLにアクセスすると、自動的にモジュール化されたアプリの必要な部分だけを端末にダウンロードし、実行されます。ブラウザ上で動作しているように見えるので、Webアプリのように見えますが、ネイティブアプリとしての動作が可能です。Webアプリでは実現できなかった操作感を、アプリのインストールなしに体感してもらえる仕組みです。
しかも、アプリの開発者は全く別々のアプリを作る必要もありません。既存のアプリの別ビルドとして同一プロジェクト内に作成できます。
とはいえ、インストールするアプリと全く同等の機能が実現できるかというとそうではなく、例えば、バックグラウンド処理などは使えません。
Android Emulator Quick Boot
これは、エミュレータの高速起動を実現する機能ですが、現段階では安定板は供給されていません。したがって、この機能使いたい場合はプレビュー版を使う必要があります。
Android Emulator Quick Bootを利用するには、Android Emulator 26.2.0以降を使う必要があります。こちらは、Android Studioのアップデートを行うチャンネルをCanary Channelにすることで入手できます。26.2.0以降を使ってAVDを作成する際、AVDの設定画面の詳細表示に図14のように[Boot option]という項目があります。これを[Quick boot]にすることで、AVDの2回目以降の起動が早くなります。
参考資料
ここまで紹介してきた機能を解説した公式サイトへのリンクを掲載しておきます。
- Layout Inspector
- XMLフォントとダウンローダブルフォント
- Android Profiler
- Instant Apps
- Android Emulator Quick Boot
まとめ
いかがでしたでしょうか? 1年半ぶりのメジャーアップデートでよりAndroid Studioはさらに使いやすくなりました。ぜひ新機能を試してください。