Flavor(味付け)?
みなさんFlavor使ってますか
意外と使ってないアプリも多かったりするんじゃないですかね
今日はFlavorのよくある使い方を例に、少しだけアプリに味付けをしてみたいと思います
とりあえずAndroidStudioで適当なプロジェクトつくります
URLとか出したいじゃないですか。ふつう。
ということで、Configファイルに記載してあるURLを出してみます。
・・・URLとかってテスト用と本番用で変えたい場合がほとんどですよね。。。
わけてみる
本番用をhttps://www.yahoole.com
テスト用をhttps://www.test.yahoole.com
って感じにわけたいです。
ProjectStructureを起動してBuildVariantsからFlavorsを追加しましょう
Dimensionをつくる
Flavorを登録するためには、まずDimensionというものを登録する必要があります
これはFlavorをいろいろなことに使えるようにするためのものです
でもFlavorがなんなのかがいまいちわかってないのに、Dimensionの話をされても困りますよね
ここはおまじないのように「default」というDimensionでも作ってお茶を濁すことにしましょう
Flavorをつくる
Dimensionが登録できたので、Flavorを登録することができるようになりました
さっそく
本番:production
テスト:development
というFlavorを作ってみましょう
はい、2つできました
Flavorはたくさんのことができるんですが、今回は本当にシンプルにURLを変えるということだけやってみます
Flavorごとの入れ物をつくる
まずはprojectのウィンドウをAndroidからProject Filesに変えましょう
次に、Configファイルの入っている、「main.java.com.gagaaplication」というフォルダ階層のmainの部分をdevelopmentに変えたフォルダ階層を作成します。
↓
次に、Configファイルを今作った、「development.java.com.gagaaplication」の下に移動させます
続いて、「development.java.com.gagaaplication」のdevelopmentをproductionに変えたものをコピペして作ります
これで、main、development、productionという3つのおなじようなフォルダ構成ができました
Configの中身を変える
これで、productionフォルダ配下のConfigの中身とdevelopmentフォルダ配下のConfigの中身が異なるものになりました
実行してみる
FlavorはBuildValiantsウィンドウから変更できます。
「DebugとかReleaseとかついてるやんけ!わからんわ!」となってしまった方はとりあえずDebugが付いてるのを選びましょう
このDebugとかReleaseというのは「Build Type」というものなんですが、これについてはまた今度説明することにして、ここではだまってDebugを選びましょう
ではFlavor「development」(developmentDebug)を選んでRun!
続いてFlavor「production」(productionDebug)を選んでRun!
どうでしょう?
見事にURLの中身が変わったでしょうか?
まとめ
こんな感じでFlavorを使うと簡単になにかの値を切り替えることができます
今回はURLでしたが、クラス自体の中身を変えてmock用のFlavorを作ったり、SDKのバージョンを切り替えてテストするのに使用できたりと、あなた好みの味付けでビルドをすることができるようになります
ちなみに、アプリが大方出来上がってきてからFlavorで切り分けしようとすると変えたい情報が散らばってしまっていたりしてけっこう大変なので、Flavorはアプリの開発初期段階で作成してしまうのをおすすめします
では、すてきなAndoridライフを!