2012年7月24日火曜日

【Titanium】AndroidとiPhoneの両対応に悩む

手持ちの環境はMacbookAirとTitaniumStudio2.1、iOS5.1、Android2.3.7でお送りしております。
朝時間を使って最近のまとめです。

ちまちまと小規模のアプリ制作に励んでいます。
目標は用途を限定した電卓的アプリ。

前回のchangeイベントの件は何をどうしたのか、いつの間にか解決しました。
多分、changeイベントで発生させていた計算処理が足をひっぱっていたんじゃないかと。

下みたいな事をしようとした時、

textFieldC.value = textFieldA.value / textFieldB.value;

iOSだと問題なく計算してくれるんですが、Androidだとエラーになるみたいで、
恐らく型変換をしないまま計算しようとしているのがダメなんですよね。

textFieldC.value = String(parseFloat(textFieldA.value) / parseFloat(textFieldB.value));

こんな感じにしたらエラーが出なくなりました。
他にもiPhoneとAndroidで同じ結果が得られなくて苦労する感じです。

割り切ってiPhoneのみとかで作っちゃった方が良いかなとも思いましたが、
それはそれでAndroidに手を出そうとしたときに苦労しそうだったのでがんばりたいです。
うーん、このあたりは同じWebkit系ブラウザで動作するのでCordovaは優秀でしたと今更ながらに。

あと、解像度の違いへの対応も面倒そう。
ピクセル指定だとAndroidとiPhoneのエミュレータ結果がだいぶ違うんですよね。当たり前なんですけど。
とりあえずは単位dpでの指定をする事で乗り切ろうかと思っています。
一番きれいに処理できるのはjssなのでしょうか。手間がかかりそうだったので今回は手を出さない事にしました。

0 件のコメント:

コメントを投稿