XMLレイアウトとJavaプログラムレイアウトについて

1,177 views
Skip to first unread message

Kishimoto Tadashi

unread,
Jun 4, 2011, 3:41:23 AM6/4/11
to 日本Androidの会
こんにちは、岸本です。

レイアウトを定義する方法は、GUI+XMLを使う方法と、Javaプログラムのソースコードにゴリゴリ書く方法がありますが、どちらがいいのでしょう
か?

私自身はもともとウェブ開発をやっていたこともあって、GUIのレイアウトツールを使うよりも、プログラムでレイアウトする方がしっくりきます。
(XMLレイアウトもソースコードを直接編集すれば、必ずしもGUIツールを使う必要はありませんが)

ただ、デザインとプログラムを分離するという意味では、XMLレイアウトの方がいいのかなと思います。

どちらの方法が主流なんでしょうか?
メリット、デメリットがあれば教えてください。
よろしくお願いいたします。

teas

unread,
Jun 4, 2011, 5:20:57 AM6/4/11
to android-g...@googlegroups.com
teasです。
どこかのブログで読んだのですが、プログラムで書くほうが早かったような。
でも細かな指定するのだったらやっぱGUIの方がわかりやすいです。
私の場合は数多くのパーツがある場合はxmlでかいていますね。
シンプルな形であればjavaに書いています。

yuka2py

unread,
Jun 4, 2011, 8:55:59 AM6/4/11
to android-g...@googlegroups.com
ゆぅかです。こんばんわ。

人それぞれだとは思いますが、こと「主流」となると、やはり XML を適度に使う
方法が多勢ではないでしょうか?(そういう文書が多いことぐらいが理由ですので、
正確な情報かどうかは微妙ですが ^ ^;)

私も、以前には Swing でぐりぐり書いていたこともありましたが、
それでも今、Android では XML でレイアウトを普通に書いています。
プログラムでは、XML で出来ないことだけ、ちょっとオマジナイを掛けるぐらいです。

理由は、単純にそのほうがソースコードがきれいに保てる場合が多いからです。

わたしは、そもそも画面のレイアウトはプログラムのロジックに関連が薄い事が
多いように思ってます。その部分を分離(レイアウトの XML 化)することで、
プログラムのロジックの見通しが良くなるような気がいたします。

ということで、私の場合、「分業」という意味でのデザインとプログラムの分離では
ありませんが、それでも、ビューとロジックを分離することには、保守性や可読性
の面でメリットはあると思っています。

# 蛇足ですが、Android の View はHTML に比べてずっと書きやすくて良いですね!

ではー。

-- ゆぅか。


2011年6月4日16:41 Kishimoto Tadashi <kin...@gmail.com>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

suppi__

unread,
Jun 4, 2011, 11:27:58 AM6/4/11
to android-g...@googlegroups.com
こんばんは、suppi__です。

やはり主流はXMLで定義することかと思います。
XMLのメリットはフォルダを分けることで画面の大きさや、多言語対応、バージョン別の管理などが行えることではないでしょうか。
あとは文字は単位sp、レイアウトはdipなどプログラミングでやると少し面倒かと思います。
デメリットはあまり感じませんが、たまに名前変更したくなったときにリファクタリング出来ないので少し面倒と思うぐらいでしょうか^^;

以上ですー。

11/06/04 yuka2py <yuk...@gmail.com>:

五嶋克典 Gotoh,Katsunori

unread,
Jun 4, 2011, 11:45:54 AM6/4/11
to android-g...@googlegroups.com
五嶋と申します。

私も他の方と同様、xmlでレイアウトを作成しております。
複雑な画面になると場合によっては、可変の画面だと、
あちこちがインフレート対象となり、組み合わせで
数十種類のパターンになることもありました。
更に、アニメーションも加わったりすると、ソースも
膨大になり、管理も大変になります。
それに、layoutをxmlで作成するとプログラムを実行
しなくても、確認できるので開発スピードもあがります。
※include等、実行するまで確認できないものもありますが。。。


pitper

unread,
Jun 4, 2011, 1:04:18 PM6/4/11
to 日本Androidの会
こんばんは、pitperです。

WebViewを使うアプリを作成していたときに、
XMLの方でレイアウトを作成していましたが、
WebViewクラスのprotectedメソッドを途中で使うことになり
WebViewクラスを継承したクラスを作成したので、
XMLで定義したWebViewがFindViewById()で取得できなくなる事態
(親クラスから子クラスにはキャストできないからです)があり、
プログラムで書き直すハメになることはありました。

こういう事態になってもXMLの方のみで解決できるのかも知れませんが
そうでないなら、こういう事になる可能性も考えてXMLかプログラムかを選んだほうが良いですよね。

以上でーす。




Kishimoto Tadashi

unread,
Jun 5, 2011, 3:09:21 AM6/5/11
to 日本Androidの会
皆さん、ご意見ありがとうございます。

XMLレイアウトが主流なんですね。
確かにプログラムの分量がぐっと減ってすっきりします。

とても参考になりました。
XMLレイアウトを覚えていこうと思います。
Reply all
Reply to author
Forward
0 new messages