当たり前では有るが、ちゃんとしたものをリリースしたければ対応したい実機での動作確認は必須であり、エミュレーターで動作したといって満足してはいけない。とはいってもさすがに一個人で何種類も実機を保有するのは難しく限界があるのも現実。趣味の範囲でやる以上テストを業者に依頼するには少し交渉に気乗りがしない。
というのは、メモとして書き残しておきたかったこと。
[追記] 昨日は途中で書き終えてしまったので追記する。こんなことを書いたのも、実機では期待通り動作しない現象がUIEngineで起きたからなのだが。
どんな現象かと言うと、UJML2.0から実装されたCLEARボタンへのイベントの割り当てが期待通りに動作しないというもの。エミュレーター上では動作するものの、実機 D902i では動作しない。P902iでも試したが動作しなかった。
下のサンプルはCLEARボタンまたは1ボタンで表示されている四角形の色が切り替わるもの。1ボタンを押すと期待通り動作するが、CLEARボタンを押しても動作しないというわけだ。
サンプルをアプリ化したものは↓からダウンロード可能だ。(Docomoのみ)
http://www.devicecross.com/uiengine/test_clear/package_nameload.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 2.1//EN"
"http://www.uievolution.com/dtd/ujml-2.1.dtd" [
]>
<ujml>
<application>
<state-variables>
<state-var name="sBox" type="boolean"></state-var>
</state-variables>
<script>
sBox = true;
</script>
<display>
<box>
<event name="onselect">
<accelerators>
<key>CLEAR</key>
</accelerators>
<script>
if(sBox){
sBox = false;
}else{
sBox = true;
}
_trace("CLEAR");
</script>
</event>
</box>
<box>
<event name="onselect">
<accelerators>
<key>1</key>
</accelerators>
<script>
if(sBox){
sBox = false;
}else{
sBox = true;
}
_trace("CLEAR");
</script>
</event>
</box>
</display>
<states>
<state var="sBox">
<transition value="true">
<display>
<box>
<width>100</width>
<height>100</height>
<fg>&_COLOR_BLACK;</fg>
<bg>&_COLOR_RED;</bg>
</box>
</display>
</transition>
<transition value="false">
<display>
<box>
<width>100</width>
<height>100</height>
<fg>&_COLOR_BLACK;</fg>
<bg>&_COLOR_BLUE;</bg>
</box>
</display>
</transition>
</state>
</states>
</application>
</ujml>