2015年5月31日日曜日

【Android】Library Moduleの作り方と使い方

Androidには利用できるライブラリの形式がいくつか存在します。
その違いについては他の方が詳しく書いてくれていると思うので、 ここではそのうちのひとつであるLibrary Moduleの作り方と使い方を記載します。

環境はAndroid Studio 1.2.1.1です。
今回は簡単のため、テンプレートのプロジェクトのTextViewのTextに
Library Moduleを利用して「hoge~」と表示させます。

 手順としては
1.ライブラリを使うプロジェクトを作成する
2.Library Moduleを作成する
3.1で作成したプロジェクトとLibrary Mokuleで依存関係を設定する
です。 

1は普通にプロジェクトを作成するだけなので、 Library Moduleの作成から詳しく載せておきます。

Library Moduleの作成
まず[app]で右クリックして、[New]→[Module]を選択します。


下のウィンドウが開くので、ここで[Android Library]を選択し[Next]をクリックします。

ライブラリの名前を入力し、[Next]をクリックします。
今回はテキトーに「HogeLibrary」としました。

今回はActivityは不要なので、[Add No Activity]を選択し、[Finish]をクリックします。
画像からわかるようにActivityなどのリソースを追加できるのが、Library Moduleの特徴です。
(今回は使いませんが...)

Library Moduleが追加されているのがわかります。

次にメインのプロジェクトで呼び出すメソッドをライブラリに作成します。
通常のプロジェクトにクラスを追加するのと同様の方法でクラスを作成します。
右クリック→[New]→[Java Class]

Stringで"hoge~"を返す「getHoge()」メソッドを追加しました。
以上でLibrary Moduleの作成は終了です。
次はメインのプロジェクトと作成したLibrary Moduleに依存関係をもたせます。

依存関係の設定
[File]→[Project Structure...]を選択します。

Moduleから[app]を選択して、[Dependencies]タブを選択します。
すると下のような画面になります。
Scopeという文字のとなりにある+ボタンをクリックし、[3 Module dependency]を選択します。

すると下の画像のウィンドウが開くので、ここから追加するLibrary Moduleを選択します。
今回は[hogelibrary]を選択し、[OK]をクリックします。


選択すると下の図のように[app]の[Dependencies]に[hogelibrary]が追加されているのがわかります。
これで依存関係の設定は終了です。

後は[hogelibrary]の中にある「getHoge()」メソッドが返す文字列をTextViewに表示させるよう
appの中にあるMainActivityのonCreateに追記します。

これをRunすると"hoge~"と表示することができました。めでたしー。