早速はじめのプロジェクトを作っていこうと思いますが、ちょいとプロジェクトに関しておさらい。

Android Studio のプロジェクトには、ソースコードやアセット、テストコード、ビルド設定にいたるまで、アプリのワークスペースを定義するものがすべて含まれています。新しいプロジェクトを開始すると、Android Studio はすべてのファイルの必要な構造を作成し、IDE の左側の [Project] ウィンドウに表示します([View] > [Tool Windows] > [Project] をクリック)。

とのことです、進みましょう。

モジュール

まずは、プロジェクトの中に「モジュール」という単位があることを頭にいれちゃいましょう。

モジュールとはソース ファイルとビルド設定のコレクションであり、モジュールによって機能ごとにプロジェクトを分割できます。プロジェクトには 1 つまたは多数のモジュールを含めることができ、モジュールは別のモジュールを依存関係として使用できます。各モジュールは個別にビルド、テスト、デバッグを実行できます。

追加のモジュールが役立つケースは多くあります。たとえば、独自のプロジェクト内でコード ライブラリを作成したいときや、スマートフォンやウェアラブルといった端末の種類別にコードやリソースのセットを作成し、すべてのファイルのスコープを同じプロジェクト内に維持したまま、一部のコードだけを共有したい場合などです。

新しいモジュールをプロジェクトに追加するには、[File] > [New] > [New Module] をクリックします。

プロジェクト内でも機能や対象端末などによって色々仕分けできるとこのこと。そこで個別にわけることよって、デバッグのし易さ、コードの簡潔さ、管理をシンプル化することができそうですね。

Android アプリモジュール

まずプロジェクトを作成したとき、ディフォルトで作成されるモジュールがAndroidアプリモジュールでappという名前がついています。

新しいモジュールを作成する時は

  • Phone & Tablet Module
  • Android Wear Module
  • Android TV Module
  • Glass Module

とテンプレートから各端末用にモジュールを作成してくれそうです。これはまた追って活用しましょう。

ライブラリーモジュール

次のモジュールタイプは「ライブラリーモジュール」

他のアプリ モジュールで依存関係として使用したり、他のプロジェクトにインポートしたりできる再利用可能なコードのコンテナとして機能します。構造上、ライブラリ モジュールはアプリ モジュールと同じですが、ビルドすると APK ではなくコード アーカイブ ファイルが作成され、端末にインストールすることはできません。

とのことです。端末にインストールできない?言っている事がよくわかりませんが、読み続けましょう。

下記の2モジュールが作成できるそうです。

Android ライブラリ:この種類のライブラリには、ソースコード、リソース、マニフェスト ファイルなど、Android プロジェクトでサポートされるすべてのファイル形式を含めることができます。ビルドの結果は、Android アプリ モジュールの依存関係として追加できるAAR(Android Archive)ファイルです。

Java ライブラリ:この種類のライブラリには、Java ソース ファイルのみを含めることができます。ビルドの結果は、Andriod アプリ モジュールやその他の Java プロジェクトの依存関係として追加できるJAR(Java Archive)ファイルです。

Google Cloud モジュール

そして最後は「Google Cloudモジュール」

Google Cloud バックエンド コードのコンテナとして機能します。このモジュールは、単純な HTTP、Cloud Endpoints、クラウド メッセージングを使用してアプリに接続する Java App Engine のバックエンドに必要なコードと依存関係を追加します。独自のバックエンドを開発して、アプリに必要なクラウド サービスを提供することができます。
Android Studio を使用して、Google Cloud モジュールを作成および開発すると、アプリ コードやバックエンドのコードを同じプロジェクトで管理できます。ローカルでバックエンドのコードを実行およびテストすることもできます。またはAndroid Studio を使用して Google Cloud モジュールをデプロイできます。

とのことですが、よくわからないので一旦読み続けちゃいます。

プロジェクトファイル

projectview-p1

デフォルトで、Android Studio の Android ビューにはプロジェクト ファイルが表示されます。このビューは、実際のディスク上のファイル階層を反映していません。プロジェクトの主なソース ファイルに効率良くアクセスできるように、モジュールとファイルの種類別に整理され、あまり使用されない特定のファイルやディレクトリは非表示になっています。ディスク上の構造との違いは次のとおりです。

とのことですが、別にディスク上でどう並んでいようとIDEメインで開発しているので、特にきにすることはなさそうです。

下記プロジェクト内のフォルダーと役目です

manifest

AndroidManifest.xml ファイルがあります。これらは設定ファイルです。

java

パッケージ名ごとに分けられた Java ソースコード ファイルがあります。ここには JUnit テスト コードも含まれています。バックエンドのコードはこちらに集約ですね。

res

XML レイアウト、UI 文字列、ビットマップ イメージなど、コード以外のすべてのリソースがあり、対応するサブディレクトリに分けられています。すべてのリソースの種類の詳細についてはまた後ほど説明していきましょう。

と実はもっとたくさんのフォルダーとファイルがプロジェクト配下にありますので、

Android で非表示になっているすべてのファイルを含め、プロジェクトの実際のファイル構造を表示するには、[Project] ウィンドウの一番上にあるプルダウンで [Project] を選択します。

ここにあるフォルダーは下記の通りの仕分けです

module-name/

build/
ビルドの出力結果があります。

libs/
プライベート ライブラリがあります。

src/
次のサブディレクトリに、モジュールのすべてのコードとリソース ファイルがあります。

androidTest/
Android 端末で実行するインスツルメンテーション テストのコードがあります。詳細については、Android のテストに関するドキュメントをご覧ください。

main/
“main” ソースセット ファイル、つまりすべてのビルド バリアントで共有される Android コードとリソースがあります(デバッグ ビルドタイプの src/debug/ など、兄弟ディレクトリに存在するその他のビルド バリアントのファイル)。

AndroidManifest.xml
アプリとその各コンポーネントの性質を記述します。詳細については、AndroidManifest.xml のドキュメントをご覧ください。

java/
Java コードソースがあります。

jni/
JNI(Java Native Interface)を使用するネイティブ コードがあります。詳細については、Android NDK に関するドキュメントをご覧ください。

gen/
R.java ファイルや、AIDL ファイルから作成されたインターフェースなど、Android Studio で生成される Java ファイルがあります。

res/
ドローアブル ファイル、レイアウト ファイル、UI 文字列など、アプリケーションのリソースがあります。詳細については、アプリケーションのリソースをご覧ください。

assets/
そのままの状態で .apk ファイルにコンパイルする必要があるファイルがあります。このディレクトリは、URI を使用して通常のファイル システムと同じようにナビゲートできます。また、AssetManager を使用してバイト ストリームとしてファイルを読み込むことができます。この場所は、テキスチャやゲーム データなどの保存に適しています。

test/
ホスト JVM で実行するローカルテストのコードがあります。

build.gradle(モジュール)
モジュール固有のビルド設定を定義します。

build.gradle(プロジェクト)
すべてのモジュールに適用するビルド設定を定義します。このファイルはプロジェクトに不可欠であるため、その他すべてのソースコードと共にリビジョン コントロールで管理する必要があります。
その他のビルドファイルについては、ビルドの設定をご覧ください。

これらのフォルダーは今すぐに理解する必要はないと思いますが、これからアプリを作っていきながら覚えていきたいと思います。

プロジェクト構造の設定

各種プロジェクト単位での設定をすることができます。

Android Studio プロジェクトの各種設定を変更するには、[File] > [Project Structure] をクリックして、[Project Structure] ダイアログを開きます。次のセクションがあります。

[SDK Location]: プロジェクトで使用する JDK、Android SDK、Android NDK の場所を設定します。
[Project]: Gradle および Gradle 用の Android プラグイン、レポジトリの場所の名前を設定します。
[Developer Services]: Google や他のサードパーティが提供する Android Studio のアドイン コンポーネントの設定があります。
[Modules]: ターゲット SDK や最小 SDK、アプリの署名、ライブラリの依存関係など、モジュール固有のビルド設定を編集できます。以下のモジュールをご覧ください。

こちらも色々追って設定していこうと思います。

デベロッパー サービス

Googleさんが提供するDeveloper Serviceを使ってイケイケなアプリを開発していきます。

[Project Structure] ダイアログ ボックスの [Developer Services] セクションには、アプリで使用できる各サービスの設定ページがあります。このセクションには次のページがあります。

[AdMob]: Google の AdMob コンポーネントを有効にして、ユーザーについて把握し、カスタマイズした広告を表示できるようになります。
[Analytics]: Google Analytics を有効にして、さまざまな端末や環境でユーザーによるアプリの操作を測定できます。
[Authentication]: ユーザーが Google Sign-In を使用して、Google アカウントでアプリにログインできるようにします。
[Cloud]: Firebase クラウドベース サービスをアプリで有効にします。
[Notifications]: Google クラウド メッセージングを使用してアプリとサーバー間で通信できるようにします。
これらのサービスを有効にすると、Android Studio は必要な依存関係とパーミッションをアプリに追加します。各設定ページには、関連サービスを有効にしたときに Android Studio が実行するさまざまなアクションが表示されています。

モジュール

複数のモジュールをプロジェクトに梱包する場合は個別に設定することができるそうです。

[Modules] 設定セクションでは、各プロジェクトのモジュールの設定オプションを変更できます。各モジュールの設定ページは、次のタブに分かれています。

[Properties]: モジュールのコンパイルに使用する SDK のバージョンとビルド ツールを指定します。
[Signing]: APK の署名に使用する証明書を指定します。
[Flavors]: 複数のビルド フレーバーを作成し、フレーバーごとにモジュールの最小およびターゲット SDK バージョン、バージョン コードやバージョン名など、一連の設定を指定できます。たとえば、あるフレーバーでは最小 SDK を 15、ターゲット SDK を 21 に定義して、別のフレーバーでは最小 SDK を 19、ターゲット SDK を 23 に定義することができます。
[Build Types]: Gradle ビルドの設定に記載されているとおり、ビルドの設定を作成および変更できます。デフォルトでは、すべてのモジュールには debug と release の各ビルドタイプがありますが、必要に応じてさらに別のビルドタイプを定義することもできます。
[Dependencies]: このモジュールのライブラリ、ファイル、モジュールの依存関係を示します。このペインで依存関係を追加、変更、削除できます。モジュールの依存関係の詳細については、Gradle ビルドの設定をご覧ください。

参考URL: https://developer.android.com/studio/projects/

さて、このページはサクッと読んで次のページへ進みましょう。

次のページへ

広告