Nokia Asha 303 (Nokia 3030)に対応したKKJConv v1.16を公開しました。
変更内容:
KKJConv 1.15aテスト版での変更内容に加えて
– 記号バネルでのカーソル移動をT,F,G,H,Bキーでも行えるようにした。
– 送信済みSMSを表示する画面を少しシンプルに変更。
– 最初に起動する際にAbout画面を表示させないようにした。
– SMS送信の際に改行コードを一般的なCRLFに変更してから送出するようにした。
– SMS設定保管の際に送信記録フォルダーの自動作成。
– SMS送信完了後のタイトルが送信中のままの場合が有ったので送信完了と表示するようにした。
– ファイルダイアログを表示前にファイルのダミーアクセスを行うようにした(Asha303対策)。
– ファイル保管の際にフォルダーが存在しない場合は自動的に作成出来るようにした。
ダウンロードなどの詳細につきましては、ブログ上部にありますKKJConvタブをクリックしてください。もしくは以下のリンクをクリックください。
http://www.nkozawa.com/wiki/index.php?KKJConv
また、OTAによる導入はデバイスから以下のURLを開いてお好きな辞書サイズのリンクをクリックして導入してください。小さいアイコンのパッケージは上のダウンロードページのみで提供しています。
http://www.nkozawa.com/kkjconv/
[ Asha 303固有の操作方法 ]
MIDP一般の操作について:
Series 40 Touch and Typeデバイスで、従来とは幾分違った操作方法になっています。他のデバイスのようなソフトキーがありません。メニューの選択は画面上に現れたメニューボタンをタップします。リスト形式など画面によってはアイテムの長押しによりコンテキストメニューを表示させる場合もあります。
漢字入力画面の編集:
画面をフリックすることによりカーソル移動が出来ます。やや操作性に難がありますのでキーボードによるカーソル移動も出来るようにしています。
- Sym + T 上
- Sym + F 左
- Sym + H 右
- Sym + B 下
- Sym + G 中央ボタン
漢字変換:
スペースバーにより変換、Shift+スペースバーにて前の変換候補に戻る事が出来ます。加えて上のSymキー併用によるカーソル移動キーによる変換候補の選択も可能です。
ファイルダイアログ:
ファイル保管、読み込み、ユーザー辞書の指定、SMS送信記録の保管場所などで使用しているファイルダイアログは自前の物で元々操作が分かりづらいものでしたがAsha 303では、より分かりづらくなってしまいました。アイテムをタップしてオープン、タップして後メニューの選択あるいは長押ししてメニューを表示など色々と試してみてください。 なかなか良い操作方法が思い浮かびません、申し訳ないです。
Nokia 3030 (Asha 303) に対応したKKJConv v1.15b (jadファイルでは未だ1.15のまま)をテスト版として以下のURLにて公開しています。朝一番にv1.15aを公開していましたが、ちょっとバグっていました。
http://www.nkozawa.com/kkjtest/ デバイスから直接アクセスしてOTAで導入してください。
Nokia 3030 (Asha 303)向けの新機能:
– Ctrlキーが働くようになりました。漢字入力画面でCtrl+Cなどが使えます。KKJSetupのショートカットの指定画面も同様にCtrlキーが働きます。
– 方向キー(十字キー)の代替としてSymキーとT, F, G, H, Bの組み合わせを使用できるようにしました。
- Sym + T 上
- Sym + F 左
- Sym + H 右
- Sym + B 下
- Sym + G 中央ボタン
として働きます。
その他、自前のファイルダイアログなどが正しく機能していない事がわかっていますので、それが解決するまではテスト版として公開していきます。
その他、未公開だった変更が幾つか含まれています。
– 漢字モードでもスペースは半角のものを使用するようにした。
– カーソルを上に移動しつづけた時、最後は文頭に移動、下に移動しつづけた時は最後は文末に移動するようにした。
KKJConvでエラーが発生するということで調べてみたところ、どうもMIDP実行環境側の問題のようです。
エラーが発生するのは次のようなコードです。
TextBox tb;
tb.delete(0, tb.size());
このコードはTextBoxの文字列を削除するためのものですが、TextBoxが空の時に左の写真のようにString Index Out Of Boundsというエラーが発生します。
deleteメソッドの第一パラメータはオフセット、第二パラメータは削除する文字列の長さです。
tb.size() が 0 の時の問題なので tb.delete(0, 0); のようにしてテストすると文字列が存在する時にはエラーは発生しません。言い換えるとTextBoxに文字列が存在しない時にdeleteを呼ぶとエラーするということです。一応、ドキュメントを確認しましたが呼び方には問題が無いように思えます。ましてやKKJConvの初期から存在するコードなので実績もおおいにあります。
回避策は簡単なので以下のようなコードに変更してKKJConvのエラーは回避出来ました。
if (0 < tb.size()) {
tb.delete(0, tb.size());
}
Nokiaにバグではないの?と投げかけようと思いましたが、以前Forum Nokiaにあったバグレポートのシステムが見つかりません。もう一般開発者からのバグレポートは受け付けてないのかな?
既にAyamadoriさんがブログ「書くことないです。」に最新のNokia Series 40 Touch and Type端末のMIDP開発環境について書かれています。
私はQWERTYキーボードを中心に分かったことを書いてみたいと思います。
キーボード素直です。ずっとS60 3rdからフルキーボードのキーコードには悩み続けてきました。E7に至っては訳がわからないというのが正直な感想でした。それから考えると物足りないくらいに素直な挙動です。
E90などと違うのはCtrl+Cなどでコントロール・コードでは無く”C”そのものが返ってくることです。ただしCtrlキーそのものがキーコードを発生してくれるのでMIDPのアプリケーション内で処理可能です。また、CtrlだけではなくSymや数字シフトなどもキーコードが出ています。CtrlもSymキーもMIDPのCanvasでは何も働きませんので、逆に自分の好きなように役割を与えられるとも言えます。
カーソル移動キーが無い。「書くことないです」でも触れられていますが、方向キー、所謂10字キーが無いデバイスです。その代わりに画面を上下左右にスワイプすることで対応するキーコードが得られます。また左右のメニュー・キーもありません。これも画面のタップで代用します。S60 5thのタッチデバイスで表示される、あまり使いたいとは思わないゲーム・キーなバーチャル・キーボードは無くなったようです。
QWERTYキーで文字入力中に編集のためにスワイプというのは今ひとつな気もします。KKJConvではやはりキーボード操作でカーソルを移動できるようにしたいと思います。
液晶にタッチすれば何とか今までと同様の動作が出来ると思いきやダメなケースも見つかりました。Google Mapsは未だMIDP版が配布されていますが、これが全く操作不能でした。Google Mapsは画面を大きく使うためにCanvasをフルスクリーンで動作させています。検証はしていませんが、どうもこれが災いして画面のタッチが全く効きません。10キーだけは反応するですが、起動時に表示されたダイアログを消すことが出来なかったので、全く使い物になりませんでした。
Nokia 3030 (おそらくAsha 303と同じ)にChina MobileやChina UnicomのSIMを入れれば自動的にネットワーク設定が行われます(もしかすると中国国内版なのでプリセットされているのかも)。そのため何も考えなくてもNokia BrowserアイコンやInternetアイコンをタップすれば何かしら予め設定されているサイトに接続することは出来ます。
ところが、どう頑張ってもWAPの接続先しか選択できません。Preferred access pt.などというそれらしい設定を行なってもダメです。Internet Radioなどではちゃんとデータ通信用APNが選択出来るのでAccess pointの設定は出来ているようです。S60の設定も忘れかけていて、初めてのSeries 40でメニューを徘徊しても良く分かりません。そんな時見つけたのがGoGoSmartphoneBLOGの記事「Asha303のデータ通信設定」でした。いやぁ、助かりました。これを参考に自前でAPNとWeb接続の設定を行なって無事にInternetアイコンで希望のAPNに接続出来るようになりました。
以下私の行った設定例です。
< Access Pointの追加 >
– Settings/Configuration/Personal settings
– options/Add new/Access point
– Account nameは適当な名前を設定。わたしの場合は’CMNET’としました。
– Acc. point sett./Bearer settingsにてPack. data acc.pt.に cmnet と入力。他のフィールドはそのままでOK。(注: cmnetは本来China Mobileのアクセスポイント名ですがChina Unicomも同じ名前で接続できます)
< Web設定の追加 >
– Settings/Configuration/Personal settings
– options/Add new/Web
– Account nameは適当な名前を設定。わたしの場合は、ディフォルトのままMy webとしました。
– Use pref. acc. pt.はYesのままでOKです。あるいはNoに変更してAcc. point sett.に別途APNを設定することも可能です。
< Preferred access pt. の設定 >
– Settings/Configuration/Preferred access pt.にて先に作ったCMNETを選択します。
< Internetアイコンの設定 >
– Internetを起動しWeb settingsを開きます。
– Configurations sett./Accountにて先に作成したMy webを選択します。
以上です。
なんとなく勢いでテスト中です 🙂
ピードラさんがAsha 303をレビューされていますので本体の写真や感想などはGoGoSmarphoneBLOGを御覧ください。
左の写真の物は中国国内で正規販売されているNokia 3030という機種です。どうみてもAsha 303と同じです。搭載されているアプリ等が違う程度でほとんど同じものと思えます。
まだ数時間触っただけですが、現時点での感想やらKKJConvの対応について書いておきます。
[ KKJConv ]
ピードラさんからコピペ画面に「新規追加」するとエラーすることを聞いていましたので、取り急ぎ対応しました。詳しくは別途ブログにエントリーするつもりですが、どうもMIDPの実装そのものに問題があるようです。回避策は簡単な変更で済みましたので、とりあえずテスト版として以下のページからOTA導入出来るようにしています。
http://www.nkozawa.com/kkjtest/
デバイスから直接アクセスして導入してください。
漢字入力画面からCtrlキーが効かないとかカーソル移動キーが無くて不便(画面をスリスリするとカーソル移動します)なので、もうちょいAsha 303チューンを施したバージョンを作成予定です。
[ その他雑感 ]
– Series 40 なのでやはり自由度は低いです。KKJConv稼動したまま切り替えられるのはSMSアプリのみのようです。タスク切り替えなどは無いのでメールとKKJConvを行ったり来たりなどは出来ません。
– やはりQVGAは見劣りがするかも。特に中国語メニューだと今時のデバイスと比べると文字が美しく表示できないので手に取った時のガッカリ感があります。値段が安くて無線LAN, Bluetooth, WCDMA搭載ですので、割りきって使ってやろうという人向きなのでしょうね。QVGAでもAngry Birdsは結構遊べます。用途しだいではQVGAで十分なのかもです。
– USBで充電出来るのは便利です。が、かなり時間が必要みたいです。数時間、ThinkPadのUSBに接続していましたがフル充電にならなかったです。
所謂、ネットワークのスピードテストは様々な要因があるので結果を単純に評価できない事が多いです。春節休みで中国のネットワークが空いているようなので中国内のボトルネックが軽減されているものと見込んで前から試してみたかったChina UnicomのWCDMAとChina MobileのTD-SCDMAで速度テストを行ってみました。とは言ってもひとつのテストを気まぐれに行っただけなので軽く読み流していただければと思います。

W-CDMA HSDPA

TD-SCDMA HSDPA
テスト方法はChina UnicomはHTC Desire Z (T-Mobile G2)、China MobileはGalaxy S GT-I9008LをそれぞれTheseringで設定しiPod TouchからSpeedtestアプリで速度を測定しました。どちらもHSDPAモードで接続されている時にテストを行なっています。
普段からTD-SCDMAの方は体感的にEDGEの調子良い時と大差無い(上海のEDGEはかなり調子良いです)と感じていたので、だいたい予測通りではあります。TD-SCDMAのアップロードは何度試してもこれくらいの速度しか出ていません。これは意外でした。もしかするとデバイスに依存する問題かもしれないですが、かなり厳しいです。確かに写真のアップロードを行う時に何時も苦労しているのは、このためかと納得しました。
Galaxy S GT-I9008LはTD-SCDMA版ということもありカスタム・ファームが対応していない(おそらくGalaxy S用のものが焼けるでしょうけど、まともには使えそうもない)のでおとなしく中華アンドロイドのまま使うつもりでした。しかしながらGFWの壁だけはいかんともし難く、また標準VPNが動きそうもないことに耐え切れずルート化に踏み切りました。
ルート化自体はSuperOneClickで問題なく行えましたので、ここではごく簡単に手順を記録するに留めます。<要するに手抜きです>
[ USBドライバーの導入 ]
まずはGalaxy SのUSBドライバーをWindowsに組み込みます。ドライバーはSAMSUNGグローバルダウンロードセンターで似たようなモデルを選択して探しました。わたしはUSBドライバーだけを導入したのですが、今改めて探してみるとUSBドライバー単独のファイルが見つかりませんでした。SAMSUNG Kiesを導入してもドライバーが入るはずです。
[ SuperOneClick の導入 ]
Windows XPなどでは必要に応じて.Net Framework 2.0以上のruntimeを導入しておきます。XDA DeveloperからSuperOneClickをダウンロードします。各種ファイル共有サイトへのリンクがあります。フリーでダウンロードするには待ち時間があります。また、DOWNLOADなどと書かれたた各種アフェリエイトがありますので辛抱強くダウンロードに挑んでください。
SuperOneClickは導入作業はなく圧縮ファイルを展開した中にあるSuperOneClick.exeを起動するだけで使用出来ます。
[ ルート化の実行 ]
– Galaxy SのSetting/Applications/DevelopmentにてUSB debuggingを有効にします。
– USBを接続しSuperOneClickのRootボタンを押し画面の指示に従います。途中BusyBoxを導入するかどうか聞いて来たと思いますので導入しておきます。これだけでルート化されます。
ルート化されたので当初の目的通り壁越えのためにSSHTunnelを導入することが出来ました。ついでにフォントをいつもお世話になっている「こばこのひみつフォント」を追加、後は省電力設定のためにCPU tunerを入れました。今のところルート化による恩恵を受けているのは、この三点だけです。
とても簡単な話なのですが自分でも長い間気づかなかったので簡単にご紹介。
WindowsとMac OS Xの間でファイルを共有したい場合、Sambaで設定すれば可能ですが面倒です。また常にファイルを参照したいわけでは無く必要に応じてコピーを持ってきたいという場合に便利な方法です。
SSHという手法を利用してTCP/IPネットワークを介してファイル転送を行います。Windows側にWindSCPというソフトを導入するだけですのでお手軽です。
– まずはWindSCPをWindows側に導入します。
– Mac OS X側では「システム環境設定」「共有」で左の画面のように「リモートログイン」を有効にします。
– WindSCPのNew Sessionにて共有画面に表示されている情報を参考に設定を入力します。Host nameはIP Address, User name/PasswordはMac OS Xに設定したものです。その他の部分はそのままでLoginします。
– Keyに関するWarningが表示されたらYesを押します。後はExplorer風の画面ですので触っていれば使い方が分かると思います。
全ての操作はWinSCP側から行います。また必要がなくなったら「リモートログイン」の設定は切っておくほうが良いでしょう。
SSHDroidをAndroid端末で稼働させてsftpにてPCとの間でファイル転送を行っています。Bluetooth転送では困難な大きなファイルも難なく転送できます。ただしWiFiネットワークが必要ですので主には自宅での作業に限定されます。
最初はルート化されたデバイス専用かと思っていましたがファイル・システムのアクセスに制限があるだけで通常の使用であれば非ルート化端末でも問題ありません。
PC側にWindowsならWinSCP, Mac OS XならばCyberduckなどを入れて置くととても便利です。
接続に必要な情報はSSHDroidの起動画面を見れば分かります。接続に必要なパスワードはOptions画面で参照あるいは設定出来ます。