mobyletのややこしいところ

ブラウザのサイズを取得するという説明があります。
http://mobylet.seasar.org/references/mobylet.html#display
3GCの場合、これはまさにブラウザのサイズなのです。
取りたかった値はSoftBank携帯のx-s-display-infoの値だったのですが、
ブラウザサイズなので機種によっては微妙に小さい値がかえってきます。
これにハマッた・・・。


もともとはx-s-display-info、無ければx-jphone-displayの値だと思っていたので
なんで思ったサイズより小さい値が返ってくるのかわからず、いろいろ読んでいると
「バリューエンジン社が無償提供している端末プロファイル情報をデフォルトでサポートしています。」
と書いてあって、自分で使う場合だけ有効だと思っていたのにそのファイルが
デフォルトでjarの中に入っていた。
そのファイルは使いたくないので、外に空のファイルを置いて今度こそ
欲しい値が返ってくるだろうと思ったらx-jphone-displayの値が返ってきます。
結局はdisplay.getWidth()だとx-jphone-displayの値しか返さないようです。


仕方ないのでこの部分は自前で拡張したのですが、ソースを読んでいると
もしかしたらdiarectで取得できるのかもと思いました。
もう自前で作ったので確認までしてませんが。


ちなみにver 1.0.5の新機能であるIPHONEANDROID判定ですが、
IPHONE判定は既に自己拡張して作ってリリースしてしまいました。。
ちょっと遅かった。
次からは使うようにしよう。



デフォルトでバリューエンジン社のプロファイルを使うって所は
自前で使いたかったらとした方がいいんじゃないかと思いました。
そうでないと、新機種が出た瞬間、理解していない人はトラブルにみまわれそう。


ブラウザのサイズを取得するという説明があります。
http://mobylet.seasar.org/references/mobylet.html#display
3GCの場合、これはまさにブラウザのサイズなのです。
取りたかった値はSoftBank携帯のx-s-display-infoの値だったのですが、
ブラウザサイズなので機種によっては微妙に小さい値がかえってきます。
これにハマッた・・・。


もともとはx-s-display-info、無ければx-jphone-displayの値だと思っていたので
なんで小さい値が返ってくるのかわからず、いろいろ読んでいると
「バリューエンジン社が無償提供している端末プロファイル情報をデフォルトでサポートしています。」
と書いてあって、自分で使う場合だけ有効だと思っていたのにそのファイルが
デフォルトでjarの中に入っていた。
そのファイルは使いたくないので、外に空のファイルを置いて今度こそ
欲しい値が返ってくるだろうと思ったらx-jphone-displayの値が返ってきます。
結局はdisplay.getWidth()だとx-jphone-displayの値しか返さないようです。


仕方ないのでこの部分は自前で拡張したのですが、ソースを読んでいると
もしかしたらdiarectで取得できるのかもと思いました。
もう自前で作ったので確認までしてませんが。


ちなみにver 1.0.5の新機能であるIPHONEANDROID判定ですが、
IPHONE判定は既に自己拡張して作ってリリースしてしまいました。。
ちょっと遅かった。
次からは使うようにしよう。



デフォルトでバリューエンジン社のプロファイルを使うって所は
自前で使いたかったらとした方がいいんじゃないかと思いました。
そうでないと、新機種が出た瞬間、理解していない人はトラブルにみまわれそう。


追記:
x-jphone-displayの件は間違いでした。
Mobyletはちゃんとx-s-display-info、無ければx-jphone-displayを取得していました。
実は、完全にいろいろ勘違いしていて、本来取得したかったのは
x-s-display-infoがあってもx-jphone-displayの値でした。
ラップして強制的にx-jphone-displayの値を返すようにしました。

さらに。
>ちなみにver 1.0.5の新機能であるIPHONEANDROID判定ですが、
の件ですが、GMシリーズやXシリーズを追加しようと思ったけど、
enumを使っていたので、ラップすると機能追加をジャマしてしまうのでやめました。