SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

新機能でさらに便利になったAndroid Studio 3.4を知ろう

  • X ポスト
  • このエントリーをはてなブックマークに追加

 平成も終わりを迎えようとしていた2019年4月17日に、Android Studioのバージョン3.4がリリースされました。このリリースにも多くの新しい機能が含まれており、今後も私たちの開発をより強力にサポートしてくれるものになりそうです。本記事では、バージョン3.4で追加された機能の概要を紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

対象読者

  • Android Studioの新しい機能に興味がある方
  • build.gradleの編集が苦手なAndroid開発者
  • Android Studio上でリソースやレイアウトを管理したいデザイナー
  • JetpackやFirebaseの名前は聞いたことがあるが導入の仕方がわからないAndroid開発者

前提環境

 筆者の検証環境は以下の通りです。

  • macOS Mojave 10.14.4
  • Android Studio 3.4.1

Android Studio 3.4の概要

 Android Studio 3.4では、これまでのアップデートと同様に多くの改善が行われました。公式ブログから、代表的な変更をいくつか抜粋します。

 まず、開発に関する分野として、次の4点が改善されました。

  • 画像やXMLリソースを効率的に管理できる「リソースマネージャ」の機能が新たに追加された
  • JetpackやFirebaseのクラスをコード内に書くとGradleプロジェクトファイルに追加するかどうか提案する機能が追加された
  • レイアウトエディタからビューを装飾する際の操作性が向上した
  • IntelliJ 2018.3.4ベースになった

 次に、ビルドに関する分野では、次の2点が改善されています。

  • プロジェクト構成ダイアログを通じてGradleプロジェクトファイルを設定できるようになった
  • 新しいコード圧縮ツール「R8」がProguardの置き換えとして標準で有効になった

 最後に、テストに関する分野では、次の2点が改善されました。

  • エミュレータのスキンに最新版のPixel 3やPixel 3 XLが追加された
  • Android Qのベータ版のシステムイメージが追加された

 本記事では、今回の更新で強化された、アプリ開発をGUI上で快適に行うための機能について着目して、解説します。

リソースを管理するためのUIが新設

 まずは、リソース管理の使い勝手を改善する新ツールである、 リソースマネージャ(Resource Manager)について解説します。

 従来のAndroid Studioでは、resフォルダ内のリソースを一覧したい場合、ファイルの一覧として見ることしかできませんでした(図1)。

図1:resフォルダ
図1:resフォルダ

 画像(drawableリソース)に限っていえば、以前からサムネイルビューが用意されていました(図2)。しかしこれは、hdpiのみ、xhdpiのみなど、1つのサイズのリソースしか一覧できないため、あまり使い勝手の良いものではありませんでした。

図2:簡易的なサムネイル表示機能はあった
図2:簡易的なサムネイル表示機能はあった

 こういった不便さへの対策としてか、今回、Android Studio 3.4で新規に追加されたリソースマネージャは、「『どのファイル名なのか』が先にあった上で『各サイズの見え方』があった方が使いやすい」といった実務上のわかりやすさを優先した作りになっています。

リソースマネージャの概要

 リソースマネージャを使う場合は、ウィンドウの左端にあるツールバー(図3)から開くか、メニューのView > Tool Windows > Resource Manager(図4)から開きます。

図3:ツールバーからリソースマネージャを開く
図3:ツールバーからリソースマネージャを開く
図4:メニューからリソースマネージャを開く
図4:メニューからリソースマネージャを開く

 すると、図5のようにリソースマネージャが開きます。

図5:リソースマネージャと各部の役割
図5:リソースマネージャと各部の役割

 リソースマネージャは大きく分けて3つのUIが組み合わさっています。

  1. 検索・絞り込み:リソース名や種類で表示を絞り込みます
  2. リソース種別切り替え:表示するリソースの種類を切り替えます
  3. リソース表示:リソースをプレビューします

 2に示されている通り、現状では、Drawableリソース、Colorリソース、Layoutリソースの3種類のみがサポートされています。

見た目を確認しながらリソースを選べる

 リソースマネージャの良い点として、まずはプレビューの見やすさが挙げられます。図5からもわかる通り、同じリソースの解像度違いは一段深いところに配置され、見た目の違う画像同士を一覧できるようになりました。

 同じリソースの解像度の違いを一覧することも容易です。図5で "6 versions" のように記述されている、複数のファイルが含まれたリソースをダブルクリックすると、図6の画面に切り替わります。

図6:Drawableリソースのサイズ別の表示
図6:Drawableリソースのサイズ別の表示

 これにより、適切にファイルが割り振られているかどうかを確認することができます。

 同様の仕組みはColorやLayoutのタブにも用意されています。Colorリソースであれば、 今後ダークモードの普及に伴ってvaluesvalues-darkといった振り分けが必要になっていきます。また、Layoutリソースであればlayoutlayout-land(横画面)でリソースを振り分けることがあるかもしれません。そういった場合にも、図7のように、同じリソースの別バージョンという形でプレビューを見ることができます。

図7:レイアウトの振り分け
図7:レイアウトの振り分け

 初回の開発から何年か経過したアプリでは、デフォルトのリソースは修正したけれどlayout-landvalues-v24といったフォルダ内にある別バージョンのリソースを編集し忘れてユーザーの手元で不具合になる、といった問題が起こりやすくなります。そうした問題を防ぐ観点でも、この機能はとてもうれしいものになっています。

レイアウトエディタと相性がいい

 魅力的な点としては、レイアウトエディタとの相性の良さも挙げられます。レイアウトエディタの進化によって、GUIからレイアウトを構築するのは少しずつ現実的になってきましたが、従来のファイル一覧(プロジェクトビュー)からドラッグ&ドロップで画像を配置する機能はありませんでした。

 今回のアップデートで、リソースマネージャからレイアウトエディタへのドラッグ&ドロップがサポートされています。図8のようにリソースマネージャからDrawableリソースをレイアウトへドラッグ&ドロップすると、図9のようにImageViewとして配置されます。

図8:Drawableリソースをドラッグする
図8:Drawableリソースをドラッグする
図9:DrawableリソースがImageViewとして配置される
図9:DrawableリソースがImageViewとして配置される

 これは従来の手順よりも直感的になっており、デザイナーの方が直接レイアウトを編集したい場合などに有用なのではないでしょうか。

次のページ
レイアウトエディタの属性パネルがリニューアル

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 中川幸哉(ナカガワユキヤ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11581 2019/06/19 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング