SHOEISHA iD

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

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

特集記事

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

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

JetpackやFirebaseのライブラリ追加が容易になった

 Androidアプリで実用的な体験を作り込んでいく際には、よくある機能をその都度自分で作ったり、サーバーを使ってユーザー間でデータを共有する機能をモバイルアプリ開発者が作り込んだりするのは、難しい場合があります。そういった負担を軽減するために、Googleは強力なライブラリ集であるJetpackと、サーバーを容易に扱うためのツール群である、Firebaseを提供しています。

 今回のAndroid Studio 3.4では、JetpackやFirebaseを開発者が使い始めようとした場合に、ライブラリの導入を支援する機能が追加されました。

 まずは、JetpackやFirebaseについて少し解説してから、ライブラリ導入の手順を解説します。

アプリ開発を加速させるJetpack

 Jetpack(ジェットパック)は、以前はSupport Library(サポートライブラリ)の名前で提供されていた、Androidアプリ開発のための便利ライブラリ群です。

 Androidアプリ開発を長く続けていると、多くのライブラリが共通の課題を抱えていることに気がつきます。例えば、次のものがあります。

  • 最新のOSバージョンで使えるようになった機能を、古いOSバージョンの端末でも動かしたい
  • SQLiteデータベースにスムーズにアクセスしたい
  • 画面を回転してもリセットされない、状態管理用のオブジェクトが欲しい
  • バックグラウンドで定期的に処理を実行したい

 こういった共通の課題について、私たち一般の開発者が車輪の再発明を行わなくてもいいように、Googleの開発者が汎用性の高いライブラリとして実装してくれたのが、Jetpackと呼ばれる一連のライブラリ群です。

 SQLiteを簡単に扱うためのライブラリであるRoom、画面回転でリセットされないオブジェクトを生成するViewModel、バックグラウンド処理を管理するWorkManagerなど、魅力的なライブラリが数多く提供されています。いずれのライブラリも、最新のOSバージョンはもちろんのこと、少し古いOSバージョンでも適切な代替実装に切り替わる作りになっており、安心して利用することができます。

 実践的なアプリを作っていく上では、Jetpackの利用は欠かせません。Androidアプリ開発者であれば、どんなライブラリがあるのかをチェックしておいても、無駄にはならないでしょう。

サーバー利用を容易にするFirebase

 Firebase(ファイアーベース)は、ユーザー間・端末間のデータ連携を行う上では欠かせないサーバーサイドの機能を提供する、Webサービス群です。

 アプリを通じてユーザーに価値を届けようとする場合、扱うデータがアプリの中だけに収まらず、サーバーが必要になるのは、よくあることです。例えば、次のようなサーバーサイドのサービスが欲しくなることが多いのではないでしょうか。

  • データを共有するためにデータベースが欲しい
  • 写真を保存するためにファイルストレージが欲しい
  • データベースやファイルストレージに保存する前のデータを加工するアプリケーションサーバーが欲しい
  • プッシュ通知がしたい
  • アプリの利用状況を収集したい
  • アプリが異常終了した細かい原因をアップロードして確認したい

 こういった、モバイルアプリ開発者がゼロから構築するには荷が重いサービスを、モバイルアプリ開発者が扱いやすい形で提供してくれているのが、Firebaseというサービス群です。

 簡易データベースのCloud Firestore、ファイルストレージのCloud Storage、簡易アプリケーションサーバーのCloud Functions、プッシュ通知のCloud Messaging、アプリの利用状況を収集するGoogle Analytics、クラッシュレポートを解析するCrashlyticsなど、数多くのサービスが提供されています。

 AndroidやiOSから扱うための便利なSDKライブラリも提供されており、あまりサーバーの存在を意識せずに、その恩恵を最大限に受けることができるという、素晴らしいサービスになっています。ユーザー間のデータ共有などに関心がある場合には、ぜひ利用してみてください。

クラス名を記述するとライブラリが追加される

 さて、そんな素晴らしいJetpackやFirebaseですが、大抵のアプリで使うとはいえ、さすがにGradleのdependenciesに記述するための名前までは覚えてはいられません。ViewModelというクラス名は覚えていても、思い出せるのはandroidxなんとかくらいまでが精いっぱいです。

 そんな私たちの強い味方として、クラス名さえ覚えていればライブラリを追加できる機能がAndroid Studio 3.4に入りました。

 使い方は簡単です。まず、図20のように、使いたいクラス名を記述します。

図21:クラス名を記述すると赤い電球が出る
図20:クラス名を記述すると赤い電球が出る

 すると、赤い電球アイコンが現れます。このアイコンをクリックすると、ライブラリをbuild.gradleのdependenciesに追加するかどうかを聞かれるので、クリックまたはエンターを押して実行します。

 Gradleの同期が始まるのでしばらく待つと、ライブラリにパスが通り、図21のように表示が変わります。

図22:ライブラリが追加された
図21:ライブラリが追加された

 ここから先は通常と同じように、Alt+Enter(macの場合はOption+Enter)でimport文を追加するだけです。とても手軽にライブラリを追加できるので、JetpackやFirebaseを使いたくなった場合に思考をそらさずに作業を続けることができそうです。

まとめ

 Android Studio 3.4では、Android Studioの登場以来あまり変化がなかった領域にも変更が加わり、GUI上でさまざまな操作ができるようになりました。build.gradleを触るのは怖かった方でも、GUIからならビルド環境を壊さずに新しい設定を追加できるかもしれません。また、デザイナーの方が直接レイアウトエディタを使ってレイアウトを調整できる環境も、少しずつですが整備されてきています。

 皆さんも、新しいAndroid Studioを使ってみてください。

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

  • 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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング