ジャンル不定の日記です。

アプリ名の設定と文字列の別ファイル化

引き続きAndroidアプリ開発関連。

アプリ名を設定しようとしたんだが、

AndroidManifest.xml内のandroid:label="@string/app_name"の値を変更すれば設定した文字列がアプリ名となる。
が、@string/app_nameはres/values/string.xmlで定義された文字列で、このxmlファイルを編集することでも設定できる。
res/values/string.xmlは、res/values-en/string.xmlの様にフォルダを言語別に分けることでアプリの他言語化が可能みたい。
AndroidManifest.xmlの方で固定値を設定してしまうよりも、後から多言語かとかもできるしres/values/string.xmlの方で設定したほうが良さそう。

res/values/string.xmlにはアプリ名以外にも自由に文字列を設定できる。

res/values/string.xml内で

<string name="_sample">サンプル</string>
の様に定義しておき、
Resources res=getResources();
String str=res.getString(R.string._sample);
の様な感じで取得できる。
後から多言語化する可能性も考えて、アプリで表示する文字列はres/values/string.xml内に記載するようにしたほうが良いね。
android.content.res.Resourcesのimportが必要。
APIが細かく分かれてるから、importの数が多くなっちゃうね。