Android

Androidのファイルと目的(リソース編)

More than 3 years have passed since last update.

Androidアプリを作成すると自動生成されるフォルダについて、適当に紹介。


今回紹介する箇所

app/res 配下についてやります。

list.png


drawable

アプリの中で表示する画像を保存しておく箇所です。

今回はic_mood_bad_black_24dp.xmlとic_mood_black_24dp.xmlが入ってます。

Androidアプリの中で画像を扱うには、

- png

- svg

の2つの方法があります。


PNG

言わずと知れた画像ファイルです。

Windowsのペイントでさくっと作成してしまるような、敷居の低さが魅力です。

ただし、Androidでは画面解像度に合わせて複数サイズを用意する必要があります。

Qiita:【Android】いまさら聞けないdp入門

Androidアプリーリソース画像サイズ&種類ー


SVG

Android5.0から登場しました。

Android 5.0からSVG準拠のdrawableが書けるようになりました

解像度の問題はSVGを使うことで解決できます。

SVGはxmlファイルで記述する画像形式ですね。

SVGはコードとして絵を描くため、デザイナーでなくとも絵が描ける、などと言われます。

ただし、AndroidのSVGはAndroidのSVGなため、Web用のSVGをインポートしてもAndroid用に微調整する必要があることもあります。


layout

Androidで端末の画面に表示されるActivityやFragmentを弄るときに使うフォルダです。

layoutフォルダにActivityやFragmentに対応するxmlファイルを置いておき、ActivityやFragmentのjavaコードから呼び出して表示させるイメージですね。

Android Studioを使っている限り、新規にActivityを追加したときに自動的に生成されます。


mipmap

アプリのアイコンを置いておくところ、らしいです。

Qiita:Androidのmipmapとdrawableについて

公式ブログによれば


Nexus 6


画面

Nexus 6 は見事な 5.96 インチのクワッド HD 画面をそなえ、解像度は 2560 x 1440 ピクセル(493 ppi)となります。これはつまり ~ 730 x 410 dp(density independent pixels または密度非依存ピクセル)ということになります。


素材を確認

本デバイスは量子化密度 560 dpi ですので、プライマリ密度バケットでいうところの xxhdpi と xxxhdpi の間に位置します。Nexus 6 では、xxxhdpi の素材があればそれをスケールダウン表示し、もしなければ xxhdpi の素材をスケールアップして表示します。

Launcher に大きなアプリアイコンを表示できるので、少なくとも xxxhdpi アプリアイコンを 1 つ用意してください。アプリアイコンはデバイスの現状の密度とは異なる解像度で使用されるため、drawable- フォルダではなく、mipmap- フォルダに入れることを推奨します。たとえば、xxhdpi デバイスで xxxhdpi アプリアイコンを使用することがあります。


デバイスのアプリ選択画面はアプリで使用する解像度と異なることがあるので、個別に用意してくださいってことみたいですね。


values

みんな大好きvaluesフォルダです。様々な定数値やカスタマイズした設定を保存しておくことができます。

先ほどの画像には、下記4つのxmlが存在します。

- colors

- dimens

- strings

- styles

特にstringsは他言語対応したいとき、こちらのフォルダ内に言語フォルダを増やす必要がありますね。

valuesフォルダに適切に設定しておけば、言語切り替え時に自動的に表示言語が切り替わったりするので、しっかりと使っておきましょう。

今回はここまで!