ラベル SL4A の投稿を表示しています。 すべての投稿を表示
ラベル SL4A の投稿を表示しています。 すべての投稿を表示

2010/10/24

android-scripting(SL4A)に、Ruby と Lua の実装を入れてみました。



android-scripting(SL4A)に、Ruby と Lua(ルア) の実装を入れてみました。Pythonの実装を入れる時に、他の実装が用意されているのが分かりました。他には、Perl と Rhino(ライノー)があります。

Lua(ルア)とRhino(ライノー)については、よく知らなかったのですが、調べてみると、気になるスクリプト言語でした。

Lua http://www.lua.org/
Rhino https://developer.mozilla.org/ja/Rhino

Ruby と Lua(ルア)をインストールした後、android-scripting(SL4A)を起動した様子。Pythonのアイコンが表示されるようになった理由が分かりました。他の言語との区別がすぐ付くためのアイコンでした。 Ruby と Lua(ルア)のアイコンが表示されています。
 Rubyでの「Hello Android」表示スクリプト
Luaでの「Hello Android」表示スクリプト

2010/10/23

6行で作れるAndroidのバーコードスキャナープログラムを試してみました。



android-scripting 「SL4A」上で、6行で作れるAndroidのバーコードスキャナープログラムを試してみました。android-scripting 「SL4A」のサイトにサンプルプログラムのリンクとして、下記のサイトがありました。

 Android barcode scanner in 6 lines of Python code

まず、ページの最初に表示されているプログラムを使ってみましたが、エラーになり正常に動作しません。ページの終わりの方にあるコメント内に正常に動作するものがありました。下記のソースです。
import android
droid = android.Android()
(id, result, error) = droid.scanBarcode()
isbn = int(result['extras']['SCAN_RESULT'])
url = 'http://books.google.com?q=%d' % isbn
droid.view(url)
 このプログラムを動作させて、書籍のバーコードを読み込み・・・
 ISBNコードを認識すると、
 










Googleブックスの該当ページが表示されます。

正常動作したので、これを基に、上記のプログラムを修正して、Amazon.co.jpでの書籍表示が出来るかどうかを試してみました。














Googleブックスのページを表示するプログラムとの違いは、Amazon.co.jpでの書籍表示のページでは、ISBNの10桁のものを使っていることです。Googleブックスは、ISBNの13桁を使用しています。「ISBN10桁」と「ISBNの13桁」の違い、変換プログラムについては、下記のサイトで教えていただきました。

 [Python]ISBN13をISBN10に変換

 出来上がったプログラムが以下のものです。
import android
droid = android.Android()
(id, result, error) = droid.scanBarcode() 

isbn13 = result['extras']['SCAN_RESULT']
isbn10 = isbn13[3:12]
check_digit = 0

for i in range(len(isbn10)):
    check_digit += int(isbn10[i]) * (10 - i)

check_digit = 11 - (check_digit % 11)

if check_digit == 10:
    check_digit = 'X'
elif check_digit == 11:
    check_digit = '0'
else:
    check_digit = str(check_digit)

isbn10 += check_digit

url = 'http://www.amazon.co.jp/gp/product/%s/' % isbn10
droid.startActivity('android.intent.action.VIEW', url)

動作確認をすると、Amazonでの該当書籍ページが表示されました。



















2010/10/22

android-scripting(SL4A)をインストールしてみました。



前回の投稿の流れで、android-scripting「SL4A」をインストールしてみました。

 android-scripting SL4A

のサイトに表示されているQRコードをHT-03Aのバーコードスキャナーで読み込んで、「sl4a_r3.apk」をインストールします。


その後、ダウンロードファイルの一覧より、android-scripting「SL4A」上で動作させるプログラミング言語を選んでインストールします。

python_for_android_r1.apk
python_r7.zip
python_scripts_r8.zip
python_extras_r8.zip

python_for_android_r1.apkをインストールすれば、
残りのファイルは自動でインストールされました。


以前よりインストールしていた「ASE」の環境は、残ったまま、別のアプリとして「SL4A」がインストールされます。アプリのアイコンは、同じものでした。















android-scripting「SL4A」を起動したところ、「ASE」の時には、ファイル名だけでの一覧表示でしたが、android-scripting「SL4A」では、ファイル名の先頭に、Pythonのアイコンが表示されています。

ファイル名をクリックすると、 「ASE」では、すぐに実行されていましたが、「何をするか?」が選べるダイアログが表示されます。










デバッグモードで実行したところ、エラーが発生すると、エラー内容を表示したところで、止めておいてくれます。
















 ソースの編集画面です。

次にサンプルアプリを使って、実際の動作を確認してみます。

2010/10/17

ASE(Android Scripting Environment)で作成したPythonスクリプトから、OAuth認証を経てTweet出来ました。



ASE(Android Scripting Environment)で作成したPythonスクリプトから、OAuth認証が出来なかった現象が解決しました。

参考にさせていただいた、下記のブログの記載
AndroidからPythonでTwitterに投稿する

Twitterの認証方法が変わったことにより、認証方法を変更したプログラムを作られていました。
OAuthを使ってAndroidからPythonでTwitterに投稿する

この記載どおりで動作したのですが、下記の部分だけ、記載どおりには動作をしませんでした。

OAuthによる認証フローの箇所、OAuth認証の暗証番号がブラウザで表示された後、1分後に暗証番号入力のダイアログが表示されるはずなのですが、表示されません。Pythonスクリプトの箇所で言うと、「time.sleep(60)」の次に行かないようです。「time.sleep(60)」をコメントアウトしたり、(60)の秒数を少なくしたりして、確認しましたが、現象は変わりませんでした。OAuth認証の暗証番号が表示されたブラウザで、戻るを2回押すと、暗証番号入力のダイアログが表示されていました。そこで、暗証番号を入力すると、正常に動作をしました。

参考にさせていただた「良いもの。悪いもの。」のブログでは、さらに、ASEのことを教えていただきました。
Android端末で青空プログラミング! SL4Aの導入からアプリケーションの作成・公開まで

「ASEはSL4A (Scripting Layer for Android)に変更され、機能がさらに進化している」そうで、Androidパッケージ(APK)の作成など出来るとのこと。大変参考になる記事をいつも、ありがとうございます。

人気の投稿 (過去 30 日間)