よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

androidhelperとは?

順番が前後しましたが、先に投稿したQpythonによるプログラミングで使ったandroidhelperとは一体なに?

いきなり、まとめ
・androidhelperとはQpythonのみが標準装備する。
・androidhelperはSL4Aの派生版。
・SL4AはAndroid端末を操作する為のコーディング用ソフトウェア。
・SL4AはAndroid端末が用意するAndroid APIを様々なスクリプト言語で取得できる。


以下、説明。

androidhelperとは?
Qpython公式ページ ガイド
QPython built-in Libraries — QPython 0.9 documentation
上記の中頃にAndroidhelper APIs の説明があります。
QPython built-in Libraries — QPython 0.9 documentation

こう書いてあります。

Androidhelper APIs
To simplify QPython SL4A development in IDEs with a “hepler” class derived from the default Android class containing SL4A facade functions & API documentation

(↓ここから青文字)
AndroidFacade
Clipboard APIs
Intent & startActivity APIs
SendBroadcast APIs
Vibrate
(以下略)


Android端末は、SL4A facade関数とAPIドキュメントというものを標準で積んでおり、Qpythonはそこから派生した"helper"クラス(androidhelperクラス)を 備えています。

SL4Aとは何でしょう?
SL4AによるAndroidプログラミング
SL4A による Android プログラミング
↑の「SL4Aとは」
SL4A による Android プログラミング - はじめに - SL4A とは

上記「SL4Aとは」からの引用

SL4A (Scripting Layer for Android) とは、 Android 上で、スクリプト言語によるコーディングや、スクリプトおよび対話式インタプリタの実行を可能とするソフトウェアです。 サポートされているスクリプト言語PythonPerlPHPJRubyLuaJavaScript 等で、今後さらに追加される予定です。 また、これらのスクリプト言語から AndroidAPI を呼び出すための仕組みが用意されているため、 HTML で UI を記述し、JavaScriptAndroid API を呼び出すといった使い方も可能です。

Android端末操作の為のコーディングでは、幾つかのスクリプト言語で使えるソフトウェアSL4AをもちいてAndroidAPIを呼び出して使えます。

そしてQpythonでは、SL4Aから派生したandroidhelperを標準装備しており、わざわざインストールしなくても、import androidhelper するだけでAndroid端末の様々な機能を使える仕組みに作られています。


Android端末の色んな機能を使えるAPIが、上で紹介したQpython公式ガイドの、
Androidhelper APIs
QPython built-in Libraries — QPython 0.9 documentation
Android facade(青文字)以下に羅列された APIs 群です。

クリップボードを操作する、バイブレータを動かす、電話を掛ける、Wi-Fiに繋ぐ、ブラウザを使う、Android端末のセンサーの値を取得する、カメラで撮る、マップ検索する、メール送信する、等が簡単にできます。

例) Qpythonで電話アプリを起動するQpythonコード

import androidhelper
droid=androidhelper.Android()
#()内に電話番号を入れるdroid.phoneDialNumber("117") 

#電話番号117は現在時刻を問合せる番号です。
#プログラムを実行すると、電話アプリに番号が入った状態で起動されます。
#掛けるときはアプリの通話ボタンを押す。


以上。
間違いなどありましたらコメント下さいませ。