XMLで画面を作成してみる1[androidアプリ開発]
やっと開発環境が安定しました。ほんと苦労しました。
さて、気を取り直してプログラムの勉強するです(´・ω・`)
前回はLinearLayoutを使用して画面を適当に作ってみました。
LinearLayoutクラスは画面の全体をおおまかに作るようなクラスで、たとえばcssで言うなら、よくやるやり方のwrapで横幅とかボックスカラーを定義して、背景色を指定したbodyの中に置いて、そん中でside-leftやcontenerとか配置するようなキブン。
cssわからないと意味不明ですが。
たぶんそんな位置づけな感じする。
Androidアプリ開発の現場では、XMLで画面を設計して、LinearLayoutで並べていくのが一番オーソドックスで正しいやり方っぽいので、今回はそれをちょっとやってみます。
ちなみにXMLっていうのは何かというと、好き勝手なタグ使えるCSVファイルみたいなもんです。ボクはweb屋だけどデザインメインなのでまず使う機会がなくて、そんな適当な認識してます(´・ω・`)
まずいつもどおりおもむろにAndroidプロジェクトを作成。
パッケージエクスプローラーで中身を覗いてみる。いやエロじゃなくて。
resフォルダはリソースフォルダのことで、構成要素を入れる場所らしい。
ここのLayoutフォルダを見てみると、main.xmlというファイルがあるので開いてみる。
こんなとこに「Hello World,アプリ名!」がいやがりました。
新規でAndroidプロジェクトを作成すると、デフォルトでこのHello World+アプリ名を表示するプロジェクトができるようになってるっぽい。
この部分のコードは
android:text="@string/hello"
と記述してある。
むぅ、「Hello World,アプリ名!」の記述はいったいどこに?
stringは文字列に関するものだと思われ、helloという変数?を呼び出してるんじゃ?
さらに見ていくとresフォルダ内にvalueというフォルダを発見。
その中に
strings.xmlがありました。
コイツの中身は
<?xml version="1.0" encoding="utf-8"?>
<resources><string name="hello">Hello World, Sample001Activity!</string>
<string name="app_name">Sample001</string></resources>
こんな感じ。
やっとナゾが解けた。つまりこのプロジェクトは、
strings.xml内で文字列変数”hello”と”app_name”に定義した文字列を
main.xmlで配置して
アプリ名.javaで表示しているというわけか。
ちょっと文字列出すだけでこんなめんどいの。なにこれ軽くへこむ(´・ω・`)
ためしに
<string name="hello">Hello World, Sample001Activity!</string>
を
<string name="hello">こんにちわ</string>
にしてみた。2byte文字を直で扱えるのか実験。
あっさり表示。
大昔MSXのCで2byte文字を出すのにどれだけ苦労したことか・・・(´・ω・`)
ちなみにapp_nameはアプリケーション名としてデフォルトで定義されていて変更してはいけない要素みたい。
長くなりそうな予感がかなりするので続きは次回へ(´・ω・`)
コメント 0