PersonalJavaもあるみたい
http://www.cs.kuleuven.be/~davy/phoneme/
phoneMeというVM
まだ試していない、これからインストールして試すVM
なんか、SUNが作っているとかってどこかで読んだけど、URLを見る限りSUNじゃないよなぁ・・・そんなことはいいや
そういうわけで、時間があるときに試してみよう。
うまくすればZaurusのときのようにセルフコンパイル環境も構築できるんだろうか・・・
キー入力
メモ
GC Java Packいれたので、J2MEプログラムをお試し中
とり合えずキー入力(QWERTYでの)確認
まずはMIDletクラスを継承したクラスを作成。
package dev.test; import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class J2METest extends MIDlet { KeyCanvas canvas; Thread thread; public J2METest() { } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { canvas = new KeyCanvas(false); Display.getDisplay(this).setCurrent(canvas); thread = new Thread(canvas); thread.start(); } }
次にGameCanvasを継承したクラスを作成
package dev.test; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.game.GameCanvas; public class KeyCanvas extends GameCanvas implements Runnable{ int keyCode = 0; protected KeyCanvas(boolean suppressKeyEvents) { super(suppressKeyEvents); } public void run() { Graphics g = getGraphics(); System.out.println("Start Thread."); String[][] keyImg = new String[][]{ {"1","2","3","4","5","6","7","8","9","0","-","^","\\","BACK_SPACE"} ,{"Q","W","E","R","T","Y","U","I","O","P","@","[", "ENTER"} ,{"A","S","D","F","G","H","J","K","L",";",":","]"} ,{"Z","X","C","V","B","N","M",",",".","/","\\","LEFT","RIGHT","UP","DOWN"} ,{"SPACE"} }; String msg; while(true){ int key = getKeyStates(); g.setColor(0xFF,0xFF,0xFF); g.fillRect(0,0,getWidth(),getHeight()); String strKey = ""; if(key != 0){ try{ strKey = getKeyName(key); }catch(IllegalArgumentException iae){ strKey = "unknow"; } } if(keyCode != 0){ try{ strKey = getKeyName(keyCode); }catch(IllegalArgumentException iae){ strKey = "unknow"; } } for(int i = 0; i < keyImg.length; i++){ for(int j = 0; j < keyImg[i].length; j++){ if((strKey.length() > 0) && strKey.equals(keyImg[i][j])){ g.setColor(0xFF,0x00,0x00); }else{ g.setColor(0x00,0x00,0xFF); } g.drawString(keyImg[i][j], j * 12 + 10, i * 12 + 10, Graphics.BASELINE | Graphics.LEFT); } } msg = "input code = "; msg = msg + strKey; msg = msg + " "; msg = msg + Integer.toString(keyCode); msg = msg + "/"; msg = msg + Integer.toString(key); g.setColor(0x00,0x00,0xFF); g.drawString(msg, 10, 12 * 5 + 10, Graphics.BASELINE | Graphics.LEFT); flushGraphics(); try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } } protected void keyPressed(int keyCode) { super.keyPressed(keyCode); this.keyCode = keyCode; } protected void keyReleased(int keyCode) { super.keyReleased(keyCode); this.keyCode = 0; } protected void keyRepeated(int keyCode) { super.keyRepeated(keyCode); this.keyCode = keyCode; } }
LEFTとかRIGHTとかの表示がかぶっちゃうけど、面倒なので直さず。
canvas = new KeyCanvas(false);
の引数をtrueにすると、AやDのキーコードがkeyPressed()などで取れなくなります。(JavaDocはまともに読んでいないのでなぜかは知りません。)
J2MEのエミュレータではエミュレータ上のキーはすべて認識。
さて、HT-01Aで動かしてみます。
動きました。
J2MEのエミュレータとHT-01A(GC Java Packだから?)では違いがあります。
HT-01A基準で
- HT-01Aでは大文字、小文字を認識する。J2MEはCapsLockの状態にかかわらず大文字
- BACK_SPACEがCLEAR
- エミュレータにないキーも認識(@など)
- ENTERがSELECT
簡単に試した結果なのでもっとあるかもしれません。
Windows Mobileのエミュレータがうまく動かないので、J2MEでなにか作るのもいいかも。
Windows Mobileで動くアプリはいろいろあるけど、画面サイズにあうアプリって少なすぎる・・・まぁ、仕方がないけど。
GC Java Pack と GC Opera miniを入れてみた
http://forum.xda-developers.com/showthread.php?t=402980
かなりいいですねぇ〜
Windows Mobileのブラウザでは最速かもしれない。
ファイルもダウンロードできる(CABファイルがダウンロードできた)
特に問題がなければ、デフォルトで使ってもいいブラウザかもしれない。
ちなみに他のJavaアプリは試していません。
作曲アプリを探しているけど・・・なかなか見つからない
(そもそも音が鳴るかどうかもわからないけど)
SharpDevelopでWindowsMobileの開発ができるかも
あくまでもかもです。
CompactFrameworkのプロジェクトが作れるみたいです。
もしかするとできるかも。
まだ試していない(環境が出来上がっていない)ので何とも・・・
ちょっと期待し、ゆっくりと試してみます。
オーディオUSBアダプタ
http://www.pocketgames.jp/item_detail/itemId,20/
↑がビックカメラで売っていたので迷わず購入。
使い勝手はキーボード入力ではちょっと邪魔だけど、音楽聴きながら充電できてかなりいい。
バッテリのもちが悪いHT-01Aでは結構大事。
どうもHTC Touch Proにはバグがあるらしい
http://d.hatena.ne.jp/momolinco/20090223/1235439725
http://www.engadgetmobile.com/2009/02/23/htc-throws-firware-update-at-touch-pro-now-even-more-betterer/
海外では、HTC Touch Proの最新ファームが公開されたとかされていないとか・・・
で、その更新でバッテリー関係の修正がされているとかいないとか・・・
docomoの対応はいかに!?