chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

Android上でPythonを走らせる

最初、コンパイル不要なAndroid上で動作するおれおれインタープリタをで作ろうかと思っていたけど、Forthをベースに作るにしてもJavaで書く必要がありちょっとてこずっていた。幸い、PythonとかもAndroid上で走るようなので、ためしにインストールした。
インストールは、スマフォのブラウザでGoogleandroid-scriptingに行って、downloadページからPythonForAndroid_r4.apkとsl4a_r4.apkをダウンロード、インストール。
 Pythonのサンプルが付いてきているので少し走らせてみた。各種ダイアログが表示されて、あとは、読み上げとか、カメラとか。。
 APIが公開されているので、それをPythonから叩けばそれなりにいろいろ使えるのだろう。GUIアプリらしく、イベント処理とかできるのかとか、ちょっと調べて試してみたい。

まず作りたいのは、モールスの勉強をしている*1けど、聞き取りはかなりボロボロなので、モールスのヒアリングの教材を自分用として、PythonPython上で動く俺言語で作りたい。

ちなみに、、Scriptの提供は2010年頃にはすでにあったようです。全然知らなかった。。スマフォアプリは、JavaSDK(?)でゴリゴリ書くのが本道でしょうけど、、ゲームとか凝ったGUIとか、作りたいのはそういうリッチなのではないので、インタープリタでさっくり作れるのがありがたい。。

最終的には、Pythonの上で動くラッパー?(Syntax Sugar?)として俺言語を作って、そこでやりたいことを簡単に実現できるようにしたい。(アプリを組み合わせて動かすとか、水平かどうかを声で知らせてくれるツールとか、イラストを押すと音が出るようなVOCAのような機能とか。。)

最近、あれこれ思いはするがすぐに飽きて挫折するのでそうならないように努めたい。。

■追記(2012/2/26)
Android上で動作するpythonの仕様を調べていたけど、ダイアログ等は簡単に出せるが、フルスクリーンのパネル等の実装は現在開発中のようであった。具体的には、fullscreenuiというやつだが、サンプルプログラムを走らせて見たが正しく動作しなかった。。へなちょこアプリとはいえ、Viewは欲しいので、となると、別の方法が必要なのか。。

■追記(2012/2/27)
fullscreenuiが提供されない間は、WebベースのGUIを使う方針のようであった。Wikiを見ていると、Webとコールバックの組み合わせで対話的にサービスを実現する方法が記載されている。これなら、メニューによる操作でPythonスクリプトをキックできるのではとモチベーションアップ。。

■関連URL
http://code.google.com/p/android-scripting/
Googleandroid-scriptingのページ

http://code.google.com/p/android-scripting/wiki/UsingWebView
Wiki:WebViewのページ

*1:アマ3級は取ったけどCW練習もろくすっぽで電波出した事無い