Androidのstring.xml使用概要


昨日会社のプロジェクトを見たとき、Stringを定義していることに気づいた.xmlの場合、%1$s変数のテキストフォーマットが使われていて、あまり理解できません.ネットでブログをめくってみると、そうしていることがわかりました.Stringに対してxmlはよくわかりませんが、ついでに大神の博文をいくつか見てまとめます.  
strings.XML、みんなよく知らない.国際化のため、Androidはスクリーンに表示する文字をstringsに定義することを提案した.xmlで.一方,アプリケーションボリュームを低減し,データ冗長性を低減した.たとえば、アプリケーションで「ネットワークが機能しない場合は、ネットワーク接続を確認してください!」を使用します.stringsに置かなかったらxmlでは,使用するたびにこれらの文字を印刷し,開発効率を低下させるとともに,データ冗長性を増加させる.しかしstringsに定義する.xmlには1回入力し、残りはgetResourceを通過します.getString(R.string.XX)呼び出しで、時間と労力を節約できます.
  
1.文字列と数値の定義
stringsでxml定義

    StringDemo

      


Activityでの使用
String city = getResources().getText(R.string.city);
Log.i(“city”, “city : ” + city);

または
String city = getResources().getString (R.string.city);
Log.i(“city”, “city : ” + city);

2.文字配列の定義
stringsでxml定義

    StringDemo

      

    
          
          
          
          
    


*String[]配列の取得
String []citys = getResources().getStringArray(R.array.citys);

*ArrayAdapterの構築
ArrayAdapter adapter = ArrayAdapter.createFromResource(
        this, R.array.citys, R.layout.item_tv);

3.
フォントの色を定義
TextViewはtextColorプロパティを設定することでフォントの色を設定できます.ただしTextViewでtextColorプロパティを設定する場合は、すべての表示内容フォントの色を設定します.もし「Androidの国際化」、「Android」が赤、「国際化」が青だったら、どのように設定すればいいのでしょうか.TextViewでつなぎ合わせる必要があるのではないでしょうか.私たちはこのようにすることができます.
Android    ]]>

String worlds = getResources().getString(R.string.worlds);
Spanned ws = Html.fromHtml(worlds);
tv_set.setText(ws);

TextViewでは、Html処理の文字を表示できます.わからない場合はブログを参照してください.http://blog.csdn.net/johnsonblog/article/details/7741972.Johnson大神はTextViewでHtmlを使って処理した文字、画像を詳しく解析して、拝読して、大いに収穫があります.
4.%s変数テキストフォーマット:%1$fという形式の記号を定義します.%1は最初の位置の変数を表し、$sは文字列クラスを表します.
Strings.xml
   %1$d , %2$s.

Activityでの使用:
String worlds = getResources().getString(R.string.mine, 25, " 1");


Log.i("123", worlds);
12-25 11:22:17.486 16728-16728/com.example.stringdemo I/123:    25 ,  1

strings.xmlの使用はしばらくこれらの用法を総括して、どの童靴はまたもっと多くの用法を知っていて、私に教えてください、私は補充して、感謝します!