PiClipをNokia Asha Platform端末に特化してみるテスト。その3。
前回の続き。
気付いた点いろいろ。
MIDletのライフサイクル
S40 DP2以前は
MIDlet#pauseApp()
が呼ばれなかったのだけど、NAP1.0では電話着信時などに呼ばれるようになった、らしい。というのもドキュメントにはそう書いてあるのに、エミュレータでは着信を模擬したり、どうやっても呼べないから。ちゃんと呼べればMIDP準拠になるし、中断/再開時の処理を書くことによってアプリがより使いやすくなる。
なお、NAP1.0は画面の左右端をスワイプすることによってメニュー画面に移動できるが、このときアプリ上では
MIDlet#destroyApp()
Gesture API
GestureRegistrationManager.MAX_SUPPORTED_GESTURE_INTERACTIVE_ZONES
がS40 DP2の10から99に大幅に増えた。
現状のPiClipではめんどくさいのでS40 DP2のときと実装を変えていないけど、画面サイズから考えると99個もエリア設定できれば十分事足りるんじゃないだろうか。
Clipboard
S40 DP2までと異なり、
Clipboard#copyToClipboard(String)
で例外が投げられることなく、文字列が正しくコピーされる、ように見える。
というのも、UI上で文字列をコピー&ペーストする仕組みが無い*2ので、実際にコピーされたか確認のしようがない。一応
"hogehoge" copied to clipboard.
というBanner*3が表示される。
URL Scheme
MIDlet.platformRequest(String URL)
にいろいろ投げてみた結果。
S40 DP2までは移動前に確認画面が出ていたけど、NAP1.0では表示されない。
- http/https:
Nokia Xpress Browserが常に新規タブで起動する。というかエミュレータには従来のS40webkitが無いのだけど、実機はどうなるのかしら?
- sms:
sms:?body=hogehoge
でSMS/MMS作成画面に移動する。文字化けしているけどS40 DP2とは異なり、bodyにUTF-8でURLエンコードした日本語も通りそうな予感。
- mailto:
mailto:?body=hogehoge
事前にメールアカウントを設定しておくと、メール作成画面に移動する。こちらもsms:と同様、日本語が通りそうな予感。
ただ、bodyで挿入した文字列は署名として認識されるらしく、直前に改行が2つ挿入される。
TextField
Constraintsに
TextField.PHONENUMBER
を設定しても、S40 DP2までのようにアドレス帳を呼べなくなった。
まあMIDP実装としてはこれでも正しいのだけど、不便なのでぜひとも復活させて欲しい。
(自分でアドレス帳を作るのが面倒なだけ)
ま、PiClipに関して言えば、上述のsms:スキームを使えば困らないけどね。あっちのほうがMassagingに保存されるし便利。こちらは日本語が通らなかった時の非常手段。
アイコン
基本的にUIはHarmattanのコピーなので、アプリアイコンも例の『丸っこい四角形』。
一見作りづらそうに見えるけれど、これが(出来栄えを考えなければ)実はとても簡単。
50x50ピクセルの正方形画像を指定しておくと、インストール時にシステムが自動的に『周辺を削ってくれる』。詳細はこのあたりを参照のこと。
Adobe Illustratorなどで使うテンプレートも用意されているけど、これさえ分かっていればペイントで適当に作ってもそれっぽくなるので助かる。
ちなみにFastlaneでは、『削られる』前の元画像が表示される。このあたり統一しなくても良いんだろうか。