子供が熱を出して一緒に寝たり看病したりしてるうちに変な時間になりました。
Rhino for Androidがテーマの投稿です。
SL4Aの上でJavaScriptを動かしてみよう、というものです。
Android上で動かす分には、普通にSL4A単体で動くはずです。この記事は前回と同じくPC上からScriptを作成->Android上で実行を目的としています。

Rhinoとは?

[手順]
0. Javaがインストールされていることを確認
1. 上記URLからRhino1.7R2をダウンロード
2. 適当な場所 (C:\rhino)に解凍
3. rhinoAndroid拡張? をダウンロード
android.js , [http://code.google.com/p/android-scripting/source/browse/rhino/ase/json2.js:title=json2.js]
適当な場所 (C:\rhino)に解凍
4. 3でダウンロードしたファイルを開き、以下の2つを修正
4.1 load('.../json.js')がハードコードされていてsdcardを参照しているので、ちゃんとしたパスに書き換え
4.2 最後の this._authenticate(String(AP_HANDSHAKE));を削除
5. コマンドプロンプトを立ち上げる
6. Android上でsl4aを立ち上げ、Serverを起動(Public、前回の記事参照)
7. コマンドプロンプト上でAP_PORT, AP_HOSTを設定 (前回の記事参照)
8. 以下、ずっとコマンドプロンプト

set CLASSPATH=C:\rhino/js.jar
java org.mozilla.javascript.tools.shell.Main
(Rhino Shellに移行)
js> load("C:\\rhino\\android.js"); //4で保存した場所からロード
js> droid=new Android();
js> droid.makeToast("Hello from Rhino!");

これで、Android上でtoastが現れるはずです。

いつもtoastであれなんで、
次はsl4aとUIのコンビネーションネタですが、先にRhinoで簡単なコードを紹介しておきます。

(上の続き)
js> droid.dialogCreateDatePicker(2011,3,8);
js> droid.dialogShow(); //ここでダイアログが現れる
js> droid.dialogDismiss(); //ここでダイアログが消える

相変わらず使いどころがわからないアプリケーションです。。。


参考ページ:
http://code.google.com/p/android-scripting/wiki/AndroidFacadeAPI