Javaプログラミング/Javaプログラミング関連情報

レイアウトを使いこなそう!(5ページ目)

レイアウトで使える機能を覚え、より本格的なプログラムが作成できるようになりましょう。

執筆者:掌田 津耶乃

XMLに分離されたStringの利用


今までXMLファイルを利用してきましたが、実はほとんど触れていないXMLが残っているのに気がついたでしょうか。それは、「string.xml」です。これは、文字通り「テキスト情報を定義したXML」なのです。テキストをXMLファイルに切り離すことで、後から表示テキストの修正などを容易に行えるようにしているのですね。

そのためには、XMLファイルから自由にテキスト情報を取り出せなければいけません。では、実際にstring.xmlにテキストを追加して、利用してみましょう。string.xmlを開いてみてください。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="app_name">MyAndy</string>
</resources>


こんなものが書かれているはずですね。これは、app_nameという名前で「MyAndy」というテキストを登録しているのです。これは、アプリケーション名として利用されます。では、これにテキスト情報を追加してみましょう。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="app_name">MyAndy</string>
  <string name="txt_value">これはXMLから取得したテキストです。</string>
</resources>


テキスト情報は、<resources>タグの中に記述をします。これは<string>タグの中にname属性を使って名前をつけ、終了タグとの間にテキストを記述します。ここでは、txt_valueという名前でテキストを追加しました。

では、ボタンをクリックしたら、これを読み込んでTextViewに表示させてみましょう。MyAndyに用意したMyClickAdapterクラスを以下のように修正します。

class MyClickAdapter implements OnClickListener {
  @Override
  public void onClick(View v) {
    if (v == main_btn) {
      text.setText(R.string.txt_value);
    }
  }
}

ボタンをクリックすると、XMLからtxt_valueのテキストを取り出してTextViewに設定する。


見ればわかるように、行っているのは非常に単純な作業です。setTextで、R.string.txt_valueを設定しているだけです。これは、Rクラスの中に生成されているstring内部クラスのフィールドです。

public static final class string {
  public static final int app_name=0x7f040000;
  public static final int txt_value=0x7f040001;
}


Rクラスには、このような内部クラスが生成されています。このtxt_valueを指定することで、string.xmlのtxt_valueの値が読み込まれ利用されていたのですね。

ここまでいくつか作成したサンプルを見てもわかるように、androidでは、XMLの情報、Rクラス、そしてJavaのソースコードが密接に連携して動いています。これらの関係をしっかり理解することが、androidアプリを扱うための近道といってよいでしょう。
【編集部おすすめの購入サイト】
楽天市場で Java 関連の書籍を見るAmazon で Java 関連の書籍を見る
  • 前のページへ
  • 1
  • 3
  • 4
  • 5
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます