文字列を定数で扱う(from XML)

androidアプリではxmlで定数を管理する事ができます。

 

もちろんクラス内でも作成する事はできますが、

xmlを用いて作成をしてみましょう。

 

ファイルを作成したら、

ツールバーから下記のボタンを選択します。

xmlmaker

 

クリックをするとダイアログが出現するので、

Projectには対象のプロジェクト名

Fileには「strings.xml」と記入をしてresourceはValueを選択するとxmlが作成されますが、

最初にprojectを作成した際に【res】の中に【values】と言うディレクトリがあり、

その中に既にstrings.xmlが作成されているかと思うので、そちらを利用します。

(追加で文字列ファイルなどが必要な場合には、任意の名前.xmlを作成してください。)

 

strings.xmlをeclipseで開くと下にタブが出現して

【Resources】と【strings.xml】を選べるようになります。

 

変数の作成は【Resources】を選ぶと楽です。

【Resources】で【Add】をクリックするとダイアログが表示されます。

 

どのResourceを増やすかが出ますので、

【String】を選択して、【OK】を押しましょう。

 

新しくできたstringのボタンをクリックすると値の設定画面が出現します。

 

stringset

 

そこで、【name】に変数名、【value】に定数値をいれます。

 

ですが、最近は上記のがめんどうくさくなってしまい、下記の形でコピペして複製して使う事が多いです。

<string name=”name”>value</string>

 

下記のような形でjavaで文字列を利用する事ができます。

 

String s = getResources().getString(R.string.name)

で、クラスに変数の値が取得できます。

 

レイアウトのxmlからなども

android:text=”@string/name”

のような形でカンタンに利用ができます。

 

なのですが、ちょっと面倒くさいと思ったら、

“value”

で普通に表示できるので、飛ばしちゃってもよいかと思います。

 

以上で完了です。

 

追伸:

このあたりのエントリは、自分でも手探りで勉強していた為、若干意味不明な部分もあるかと思います。時間を見つけて修正させていただきますので、ご了承いただければと思います。

 

  • written on 2011.02.08
  • category : xml

前後の記事

前の記事:

次の記事:

関連の記事

コメント

:D ナナ

この辺から突き放される
ホントに素人ではキビシイ

:D SHIRAI

>>ナナ
String s = getResources().getString(R.string.変数名)
を、クラス内
public class XXX extends Activity {
}
に記述するんですが、文末の終了宣言が必要です。
セミコロン ; です。
.変数名); ←コレ

:D 通りすがり

わかりやすいのですが、初心者っぽい理解の軌跡が見えないので、
すらすらとはいきませんね。

:D しろうと

いきなり”ファイルを作ったら”と,何のやどこにが大幅に抜けていたり,ここではないが”パブリックする”などの専門用語が出てきたりする.
調べる作業を怠ろうとは思いませんが.こんな書き方では素人に何も伝わりません.
どの記事も,どうして年月日を載せていないのですか?
それがあるだけでかなり重要な情報になると思います.

:D mirumiru

ここはよくわからんです。

:D mirumiru

任意のxmlファイルを作成しそれをxmlmakerで開けですか。
手順としては

:D shu

にわかだと思うのだが一気によう分からんようになってしまった。
JAVAの定数と比べてどういうふうにいいのだろう?

:D どりぱぱ

eclipse 3.7 環境でhellow-worldもどきに利用してみました。
プログラム名がhellowだとすると
hellow<Res<values<strings.xml が編集対象となります。(クリックしていって下さい)
リソースエディタでリソース名と中身を追加して行く方法とstrings.xmlを直接編集するどちらかで定義が出来ます。
重要な事なのですが、バグでeclipseのバージョンによっては編集後このファイルを閉じないとstoling.out.xmlと言うファイルをコンパイル時に生成してしまい、再度コンパイルするとstoling.out.out.xmlを吐き出し・・・ となってしまいます。

結局このページで言いたいのは、
①strings.xml にリソース定義を行い定数を格納する
②String 変数名 = getResources().getString(R.string.vtext); と言う文でプログラム中からそれを取り出すと言う事です。
hellow~ 系のプログラムを作成して①②を追加してみると良いと思います。

:D rei

javaファイルに、
String s=getResources().getString(R.string.mystr);
を定義したのですが、
それを表示させるためには、
setContentView(s);
と入れたのですが、ここがエラーです。

どうやって表示させるのでしょうか。
前回の勉強で作った imageshow 上で、strings.xml 側で、mystrを定義しましたが。。

やっぱりここから躓きますね。。

:D admin

textを表示させる時はtesxtviewを利用する必要があります。TextView _tv = new TextView(this);_tv.setText(r);setContent(_tv);とかですかね。

:D 明石原人

strings.xmlへ
今晩は!
を追加して
javaソースへ

String s = getResources().getString(R.string.aisatu);
TextView _tv=new TextView(this);
_tv.setText(s);
setContentView(_tv);

としたら、『今晩は!』が出ました。
やったー と思いました。

:D 匿名

説明が下手すぎる

:D syouta

参考にさせていただいてます。
とてもありがたいです。

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑