レイアウトの基本を理解しよう! (6/6)
作成:2009-12-27 18:25
更新:2010-05-11 09:51
更新:2010-05-11 09:51
■strings.xmlを見てみる
しかし、よく見てみると、これらのmain.xmlには、表示するテキストなどは書かれていません。作成したSampleAppというプログラムでは、「Hello World, SampleApp!」というようなテキストが表示されていましたが、それらしいテキストはありませんね。これはどういうことでしょう?
実をいえば、androidでは「部品のレイアウトと、表示されるデータ」は別に管理されているんです。このmain.xmlでは、レイアウトだけが作成されます。そこに表示されるデータ(要するにテキスト)は、別のところで用意されます。それが、「strings.xml」です。これを開いてみると、またちょっと変わったエディタ画面が現れます。
androidでは、データ類を「リソース」として管理します。ここでは、テキストのリソースを登録し、リソース名とその値(テキスト)を作成したり編集したりするための専用エディタなのです。左側には、現在登録されているリソースの項目が一覧で表示され、それを選ぶと、右側にリソースの種類の説明と、リソース名・値を編集する入力フィールドが現れます。
ここで編集されたものは、もちろんXMLのソースコードとして保管されています。エディタの下にあるタブから「strings.xml」をクリックして選択してみましょう。ソースコードエディタが現れます。ここには、以下にあげるようにソースコードが書かれています。
<resources>というタグの中に、リソースの項目が書かれています。ここでは<string>という、テキストのリソースを記すためのタグが用意されています。
このタグには、nameという属性がありますね。ここに記述をしたものは、このnameで指定された名前で、リソースを扱うことができるようになるのです。先ほど、main.xmlにあった<TextView>タグにあった属性を思い出してください。
「android:text="@string/hello"」という記述があったはずです。これで、このコンポーネントの表示テキスト(textという属性)に、stringの"hello"というリソースの値を設定していたのです。リソースは、このようにandroidの属性に"@種類/名前"といった形で指定することで利用できるようになります。
というわけで、XMLを使ってレイアウトが作成される基本的な仕組みがわかってきました。次は、実際の処理を行うソースコードと、そして両者の間の架け橋となる「ある機能」についてみていきましょう。
実をいえば、androidでは「部品のレイアウトと、表示されるデータ」は別に管理されているんです。このmain.xmlでは、レイアウトだけが作成されます。そこに表示されるデータ(要するにテキスト)は、別のところで用意されます。それが、「strings.xml」です。これを開いてみると、またちょっと変わったエディタ画面が現れます。
androidでは、データ類を「リソース」として管理します。ここでは、テキストのリソースを登録し、リソース名とその値(テキスト)を作成したり編集したりするための専用エディタなのです。左側には、現在登録されているリソースの項目が一覧で表示され、それを選ぶと、右側にリソースの種類の説明と、リソース名・値を編集する入力フィールドが現れます。
ここで編集されたものは、もちろんXMLのソースコードとして保管されています。エディタの下にあるタブから「strings.xml」をクリックして選択してみましょう。ソースコードエディタが現れます。ここには、以下にあげるようにソースコードが書かれています。
<resources>というタグの中に、リソースの項目が書かれています。ここでは<string>という、テキストのリソースを記すためのタグが用意されています。
このタグには、nameという属性がありますね。ここに記述をしたものは、このnameで指定された名前で、リソースを扱うことができるようになるのです。先ほど、main.xmlにあった<TextView>タグにあった属性を思い出してください。
「android:text="@string/hello"」という記述があったはずです。これで、このコンポーネントの表示テキスト(textという属性)に、stringの"hello"というリソースの値を設定していたのです。リソースは、このようにandroidの属性に"@種類/名前"といった形で指定することで利用できるようになります。
というわけで、XMLを使ってレイアウトが作成される基本的な仕組みがわかってきました。次は、実際の処理を行うソースコードと、そして両者の間の架け橋となる「ある機能」についてみていきましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※string.xmlのソースコード <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, SampleApp!</string> <string name="app_name">SampleApp</string> </resources>
※関連コンテンツ