読者です 読者をやめる 読者になる 読者になる

c-bata web

@c_bata_ のメモ。python多め

Python勉強内容まとめ2(AndroidでPythonを動かす。)

いつものように,勉強した内容まとめ。 今回は,Android上でPythonを動かす方法について調べました。

ちなみにiPhoneiPadをお持ちの方は「Pythonista」というアプリがありますので,そちらを利用する方が楽です.

目的

暇な時に,AndroidPythonを動かす。

対話モードで動かすことが出来るとのことなので,Pythonの勉強にもちょうどいい! いちいちパソコン開かなくても,Pythonの勉強や動作確認が出来ます。

ちなみに使用するAndroid端末はOptimus Chat L-04C(写真はこれ↓)

f:id:nwpct1:20130923141819p:plain

写真をみれば分かるように入力に便利なQwertyキーボード付きの端末で,少し古い端末ですがPythonを動かすには十分な性能です。

PythonAndroidに入れてできること

一般的には,AndroidのソフトウェアはJavaで作成しますが,SL4A(Scripting Layer for Android)というGoogleの提供しているアプリケーションを動かすことで,Python等の様々なスクリプト言語Androidのソフトウェアを作成することが出来ます。

それを使えば,AndroidでもPythonスクリプトの実行が可能であり,Android端末をPythonから操作することが出来るだけでなく,Pythonの豊富なライブラリをAndroid上で活用することが出来ます。

ちなみにPythonでもAndroidbluetooth,電話,メール,カメラ,画面キャプチャ,地図検索,端末の設定,...等の様々な操作を制御できます。

また,実行方法には以下の3通りがあります。

  • 対話的に実行
  • バックグラウンドで実行
  • Locale(時間や場所などの条件からの実行)

つまりPythonスクリプトで様々なAndroidの操作を自動化することが出来ます。

また,SL4AはPython以外にもPerl, JRuby, Lua, BeanShell, JavaScript, Tcl, shellの実行が可能となります。

参考資料

Python入門―2&3対応

SL4Aスクリプティングレイヤ - Android プログラミング入門

導入編

1. SL4Aのインストール

SL4AはAndroidマーケットでは配布されていません。

インストールするには,Googleコードの公式サイト(http://code.google.com/p/android-scripting/)に移動し,ページに載っているQRコードAndroidから読み取ると,SL4Aのダウンロードが出来ます。 あとはそれをインストールすれば良いのですが,提供元不明のアプリのインストールが行えるようにAndroidの設定を忘れずに!


インストールが終わると,SL4Aを起動します。 起動すると,Usage (利用状況) の追跡を許可するかどうかを聞いてきますが,これはどちらを選択肢ても構いません。

僕はRefuseにしました。

2. Pythonのインストール

SL4Aのインストールが終わったら,次はPythonをインストール。

まずはこちら(http://code.google.com/p/android-scripting/)のページを開きます。

f:id:nwpct1:20130923131548p:plain

左のサイドバーの「Featured」欄の「Download」を見ると,"PythonForAndroid_r4.apk"があるのでそれをクリック。 そうすると,QRコードが表示されるので,Androidから読み取りインストール。

Python for Androidを起動すると,そこにも"Install"というボタンが表示されています。 これは,Pythonの実行に必要なファイルのインストールボタンなので,これも押しましょう。

これが終わるともうOKです。 SL4Aを開いて,Pythonのプログラムを実行してみます。

AndroidPythonのサンプルプログラムを実行してみる

Python for Androidのインストールが終わったので,SL4Aを開くとPythonのサンプルファイルがいくつか存在することが確認できます。 試しに,"HelloWorld.py"をタップし,鉛筆アイコンをクリック。(各アイコンの意味についてはこちらで上手くまとまっていました)

鉛筆アイコンをクリックすると,このスクリプトソースコードを閲覧・編集できます。 一度戻って,次は実行してみましょう。

もう一度,"HelloWorld.py"をタップし,コンソールのアイコンをクリックすると,コンソール画面が表示され"Hello World"の文字が表示されていることが確認できます。

SL4Aでは,このようにしてPythonスクリプトを実行することが出来ます。

対話モードで遊ぶ!

ここからがいよいよ一番大事な内容。

先ほど,Pythonスクリプトの実行をすることが出来ましたが,僕の目的はあくまでPythonスクリプトファイルを実行することではなく、暇な時にさっとAndroid端末で対話モードのPythonと遊ぶことです。


  1. Android端末のメニューボタンをおして,SL4Aのメニューを開く。
  2. そこで「View」→「Interpreters」→「Python2.6.2」の順でタップ
  3. Pythonインタープリタが立ち上がるので,対話的にPythonを動かすことが出来ます!

これでいつでもAndroid端末だけでPythonの勉強ができます! Python勉強中の方はやってみては?