読者になる書くことないです。ayamadoriが独り言を呟く日記。この広告は、90日以上更新していないブログに表示しています。touch端末に特化してみるテスト。305により良く対応させるとか書いてたけど、それが一応形になってきたのでメモ。文章作成後の動作(クリップボードに送る・SMS送信・Twitter・Google検索Bing検索)簡易学習機能追加(一定数の選択結果のみ反映する)その他細かい部分といったところか。画面が遷移時にちらつく起動が遅いレスポンスが悪い表示できる予測候補が少ないクリップボードに送るとアプリが落ちる。現状の305にはペースト機能がないから、この機能自体に意味が無いwTwitterは事前にブラウザでログインしておけば大丈夫だと思ってたのにそもそもブラウザアクセスが弾かれる。このとき利用されるブラウザはWebkitのほう。Google検索は多分大丈夫だけど、やっぱりブラウザアクセスが怪しい。文字化けするのでBing検索に変更などなど色々ひどい。https://sites.google.com/site/ayamadori/piclip/PiClipFT_alpha.jar?attredirects=0&d=1ちなみにPiClipIDと同じく節約辞書が入っているけど、メモリ不足でアプリが落ちる可能性が高い。pbdic102に差し替える*2必要があるかも。API周り、その他Nokia依存っぽい部分をを試してみて色々分かったのでまとめる。Type端末のときと同様、エミュレータ上でcopyToClipboard()を利用するとjava.lang.IllegalAccessExceptionを吐いて落ちる。IconCommand上の写真中画面右上に表示されるアイコンボタン。使用頻度が高いコマンドを設定する。任意の画像を利用することもできるし、メジャーなものは最初から用意されている。上で表示しているチェックマークな"OK"アイコンもその1つ。MIDPのCommandクラスを継承していて、外観以外は完全互換なのでCommandListener.commandAction()なんかもMIDPと全く同じソースでOK。Back/ExitキーはCommand作成時にCommand.BACKかCommand.EXITを指定しておけば、自動的に上のように画面右下にアイコン表示される。(IconCommandでなくて良い)Back/Exitキーはキーボード表示時は上のように自動的に隠れる。この位置以外にBack/Exitキーを置くのはUIガイドライン違反。VirtualKeyboard前回調べた通り。VKBの表示/非表示が切り替わるたびに画面サイズが変わり、それに伴ってCanvas.sizeChanged()が呼ばれる。height)で任意の大きさ(高さ)のフォントが呼べる。ついでに今回のVer1.6から細身のフォント(STYLE_LIGHT)が呼べるようになった。APIフリックやタップ、ピンチなどのジェスチャを認識する。大まかにはGestureInteractiveZoneインスタンスを作成→認識する領域を設定→認識された場合の動作を指定というように進めるのだけど、問題は認識できる領域(インスタンス)の数に制限があること。この数はGestureRegistrationManager.MAX_SUPPORTED_GESTURE_INTERACTIVE_ZONESで取得できるが、現状では10に設定されている。インスタンスを10個以上作成しても、11個目以降の領域ではジェスチャを認識してくれない。今回のようにタップ領域を30個以上設定したい場合には数が足りないので、結局大きめに領域を設定して『認識された場合の動作』の中で独自に実装していく必要がある。Canvas.pointerPressed(),pointerReleased(),pointerDragged()あたりも同時に呼べるので、こちらで実装するのもありかも。GestureEvent.GESTURE_DRAGは指を離さなくても呼ばれる。1回のドラッグの間に何度も呼ばれるし、座標がまちまちだったりするので、ある一定のサンプル間隔で呼んでるのかな?計測してみたけど最短で15〜20msecだった。ドラッグすると当然間隔も伸びる。ScreenAPIじゃないですが。Screenが表示される*3。Screenが表示されるのはDisplay.setCurrent()が最初に呼ばれるまで。Screenを上手く表示させ続けられない。対策としてはメインスレッド(コンストラクタの中とか)で初期化処理を行う。これあんまり上手い処理じゃないよね。URL)これは標準MIDPですが。”http://"、”https://"で始まるURLを投げるとブラウザが起動する。普通にブラウザを起動した場合とCookieを共有できるかは不明。"mailto:hoge@hoge.com?subject=foo&body=bar"でmessageアプリ(SMS/MMS)が起動できる。unknown"と表示されて起動できない。bodyがasciiならOK。これができると送信SMSがmessageアプリのトレイに残せるから良いんだけどな。あと、ブラウザ起動した後に元のアプリには戻れない。ブラウザのBackキーを押すとアプリ自体を終了するか確認してくる。ブラウザ右下のBackキーで戻れる。Touch端末では固定の黒背景と、カラフルなボーダーや一部文字*4で構成されている。この色コードを取得するにはDisplay.getColor(Display.COLOR_HIGHLIGHTED_BORDER)でOK。しておくと具体的な色コードを気にする必要がなくなるし、テーマ色を変えると(例えば茶色)自動的に反映してくれる。*1:同時に逆トグル機能廃止*2:jar解凍→word.utf8差し替え→再圧縮*3:Manifest編集により、任意の画像に変更することも可能*4:上の画像で言う[かな]の青色がそれ。アプリを公開してみた。Platform端末に特化してみるテスト。