Warning: include(/home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-content/advanced-cache.php): failed to open stream: No such file or directory in /home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-settings.php on line 74

Warning: include(/home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-content/advanced-cache.php): failed to open stream: No such file or directory in /home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-settings.php on line 74

Warning: include(): Failed opening '/home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-content/advanced-cache.php' for inclusion (include_path='.:/usr/local/php/5.4/lib/php') in /home/users/2/lolipop.jp-a-virtual/web/dhmo/dhmo/wp-settings.php on line 74
言語対応~非Activityからリソースアクセスできないときの対処法~ – Androidアプリつくったった

言語対応~非Activityからリソースアクセスできないときの対処法~

b1124_1

前回の投稿からだいぶ間があいてしまった・・
言語対応に関してまとめようと思いました。

前に紹介した”ダイエット”アプリ内で利用していた方法が
参考になればと思います。

◆言語対応基礎知識◆
文字列
resフォルダの下に
values-ja とすれば日本語設定時に適応される文字列
values-en  デフォルトを英語にすることが多いようですが・・
values-fr   フランス語 対応
values-de  ドイツ語 対応
values-it  イタリア語 対応
values-zh  中国語 対応
values-ru  ロシア語 対応
values-es  スペイン語 対応
・・・

◆画像リソース
drawable-ja と同じような書き方で日本語対応は可能です。

といった感じでISO 639-1形式の2文字で言語コードで表現されています。

リソースから簡単に引っ張れるActivityはこれに完全に依存して
いればいいのですが、非Activityの場合はContextを
別クラスに引き渡しそれをもとにgetString(リソースID)てな感じで
できるのですが・・・

もうチョイ簡易的にやる方法として
Localeを利用する方法があります。
(一箇所だけのために上記の方法が面倒だったので・・)


		if(Locale.getDefault().toString().equals("ja_JP")){
			summary = String.format("%s%2d"+"年"+"%2d月%2d日", getDefaultSummary(),_defaultYear, _defaultMonth, _defaultDay);
		}else{
                   summary = String.format("%s%2d"+"/"+"%2d / %2d", getDefaultSummary(),_defaultYear, _defaultMonth, _defaultDay);
		}

これならimport java.util.Locale;なので
Activityとか関係なしに拾えます。
ちなみにこのソースは右画面サンプルの一番下の
プリファレンスを独自拡張した部分のサマリー文章に設定内容を設置する内容のものです。

お役に立てれば幸いです。
なおこのアプリでそのコーディングが利用されています。
ちゃんと設定に基づいて変わってくれるのが確認できると思います。


以上です。

参考になれば幸いです。

▼ 関連記事・最近の投稿は記事の下にあります。コチラもご参考ください。


About the Author

dhmo
Author:DHMO(ディベロッパー名) 仕事では自社サービス・メディアの開発を行ってます。 趣味でAndroidアプリ製作を行っています。 カラオケではランキングバトルにはまっております。 Mail: dihydromooxide7@gmail.com 

Be the first to comment on "言語対応~非Activityからリソースアクセスできないときの対処法~"

Leave a comment

Your email address will not be published.


*