書くことないです。

ayamadoriが独り言を呟く日記。

PiClipをNokia Asha Platform端末に特化してみるテスト。その3。

前回の続き。
気付いた点いろいろ。

MIDletのライフサイクル

S40 DP2以前は

MIDlet#pauseApp()

が呼ばれなかったのだけど、NAP1.0では電話着信時などに呼ばれるようになった、らしい。というのもドキュメントにはそう書いてあるのに、エミュレータでは着信を模擬したり、どうやっても呼べないから。ちゃんと呼べればMIDP準拠になるし、中断/再開時の処理を書くことによってアプリがより使いやすくなる。
なお、NAP1.0は画面の左右端をスワイプすることによってメニュー画面に移動できるが、このときアプリ上では

MIDlet#destroyApp()

が呼ばれる。すなわちアプリが終了する。
このことから、サードパーティ*1にとっては従来と同じくマルチタスクではない。

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では表示されない。

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では、『削られる』前の元画像が表示される。このあたり統一しなくても良いんだろうか。

*1:Manufacturer/Operatorドメイン以外

*2:自分が見つけられていないだけかもしれないけど、この状態だととてもチグハグに感じる

*3:画面上部に表示される通知を、NAP1.0ではこう呼んでいる