ダイアログやセンサーの機能を追加するときには、"androidhelper"というライブラリを使います。どのような関数があるかは、https://kylelk.github.io/html-examples/androidhelper.htmlを参照しています。他にも気になる機能がある方は見てみると良いでしょう。
ダイアログボックス
ボタン付きダイアログボックス
ダイアログが表示され、いずれかのボタンを押した際にトーストを表示する。


#-*-coding:utf8;-*-
#qpy:2
#qpy:console
import androidhelper as android
droid = android.Android()
droid.dialogCreateAlert('3つのボタン')
droid.dialogSetPositiveButtonText('はい')
droid.dialogSetNegativeButtonText('いいえ')
droid.dialogSetNeutralButtonText('キャンセル')
droid.dialogShow()
result = droid.dialogGetResponse().result
droid.dialogDismiss()
if result['which'] == 'positive':
droid.makeToast('Yes')
elif result['which'] == 'negative':
droid.makeToast('No')
elif result['which'] == 'neutral':
droid.makeToast('Cancel')
else:
droid.makeToast('cancel')
使用した関数
droid = androidhelper.Android() |
ダイアログやセンサを使うときの宣言 |
droid.dialogCreateAlert() |
ダイアログボックスを作成する |
droid.dialogSetNeutralButtonText() |
ダイアログボックスにニュートラルボタンが追加され、押されると'neutral'を返す |
droid.dialogSetPositiveButtonText() |
ダイアログボックスにポジティブボタンが追加され、押されると'positive'を返す |
droid.dialogSetNegativeButtonText() |
ダイアログボックスにネガティブボタンが追加され、押されると'negative'を返す |
droid.dialogShow() |
ダイアログボックスを表示する |
result = droid.dialogGetResponse().result |
ダイアログボックスで押されたボタンの戻り値をresult変数に保存 |
droid.makeToast() |
引数の文字列のトーストを表示する |
droid.dialogDismiss() |
ダイアログボックスを消す |
テキスト入力ダイアログボックス
テキストを入力できるダイアログボックスを作成し、入力した文字をトーストで表示する。

#-*-coding:utf8;-*-
#qpy:2
#qpy:console
import androidhelper as android
droid = android.Android()
droid.dialogCreateInput('テキスト入力','文字を入力してください')
droid.dialogSetPositiveButtonText('OK')
droid.dialogShow()
result = droid.dialogGetResponse().result
droid.dialogDismiss()
word = result['value']
droid.makeToast(word)
使用した関数
droid.dialogCreateInput() |
テキストを入力するダイアログボックスを作成する |
リスト選択ダイアログボックス
リストを選択させるダイアログボックスを作成し、押されたボタンの番号のトーストを表示する。


#-*-coding:utf8;-*-
#qpy:2
#qpy:console
import androidhelper as android
droid = android.Android()
droid.dialogCreateAlert('How to go')
droid.dialogSetItems(['Bike','Car','Plane'])
droid.dialogShow()
result = droid.dialogGetResponse().result
droid.dialogDismiss()
num = result['item']
droid.makeToast(str(num) + '番目を選択')
使用した関数
droid.dialogSetItems([]) |
選択できるリストをダイアログボックスに追加する。 |
ラジオボタン付きダイアログボックス
ラジオボタンで選択させるダイアログボックスを作成し、選択されたボタンの番号のトーストを表示する。

#-*-coding:utf8;-*-
#qpy:2
#qpy:console
import androidhelper as android
droid = android.Android()
droid.dialogCreateAlert('How to go')
droid.dialogSetSingleChoiceItems(['Bike','Car','Plane'])
droid.dialogSetPositiveButtonText('OK')
droid.dialogShow()
result = droid.dialogGetResponse().result
answer = droid.dialogGetSelectedItems().result
droid.dialogDismiss()
droid.makeToast(str(answer) + '番目を選択')
使用した関数
droid.dialogSetSingleChoiceItems([]) |
ラジオボタンをダイアログボックスに追加する |
answer = droid,dialogGetSelectedItems().result |
選択されたボタンの番号を変数answerに保存 |
センサによる値の取得
センサには、端末によって備わっているものが変わってきますが、加速度、角度、明るさ、位置センサ等があります。また、一つ一つにセンサの値を取得する関数がありますが、全てのセンサ情報を取得する関数もあります。


取得する値
特定の値のみを取得したい場合は、result['xforce']のようにすると、xforceの値のみを取得できます。
xMag | x軸の磁界の強さ |
yMag | y軸の磁界の強さ |
zMag | z軸の磁界の強さ |
azimuth | 方位 |
roll | ロール角 |
pitch | ピッチ角 |
xforce | x軸の加速度 |
yforce | y軸の加速度 |
zforce | z軸の加速度 |
time | 取得時間 |
accuracy | 精度 |
light | 明るさ |
droid.startSensingTimed() |
センサの取得を開始する |
その他の関数
droid.stopSensing() |
センサの取得を終了する |
result = droid.sensorsReadAccelerometer().result |
加速度情報を取得し、変数resultに格納する |
result = droid.sensorsReadOrientation().result |
角度情報を取得し、変数resultに格納する |
result = droid.getLastKnownLocation().result |
位置情報を取得し、変数resultに格納する |
result = droid.sensorsGetAccuracy().result |
精度情報を取得し、変数resultに格納する |
result = droid.sensorsReadMagnetometer().result |
磁界情報を取得し、変数resultに格納する |
result = droid.readSensors().result |
センサ情報を取得し、変数resultに格納する |
その他情報を取得できる関数
バッテリー状態の取得
droid.batteryStartMonitoring() |
バッテリー状態の取得を開始する |
result = droid.readBatteryData().result |
バッテリー状態の計測結果を変数resultに格納する |
droid.batteryStopMonitoring |
バッテリー状態の取得を終了する |
バッテリー状態
status | 充電状態(1:不明、2:充電中、3:放電中、4:充電中ではない状態、5:フル充電) |
health | 健康状態(1:不明、2:良い、3:オーバーヒート、4:故障、5:過電圧状態) |
plugged | プラグ接続状態(1:不明、2:接続していない、3:AC電源接続、4:USBポート接続) |
battery_present | バッテリー有無(True:接続している、False:接続していない) |
level | バッテリーの残量(パーセント表示) |
voltage | 電圧(ミリボルト表示) |
tempreture | 温度表示 |
technology | 電池の種類(Li-ion,Li-poly etc...) |
日時、時刻の取得
time.strftime() |
日時、時刻の情報を取得する |
日時、時刻の対応
%a | 曜日名(短縮) | %d | 日付の10進表記 | %m | 月の10進表記 |
%A | 曜日名 | %H | 時の10進表記(24h) | %M | 分の10進表記 |
%b | 月名(省略) | %I | 時の10進表記(12h) | %p | AM/PM表記 |
%B | 月名 | %j | 1/1からの経過日数 | %S | 秒の10進表記 |
%w | 曜日の数字表記 | %y | 西暦下2桁の10進表記 | %U | 週の10進表記(日曜始まり) |
%W | 週の10進表記(月曜始まり) | %Y | 西暦4桁10進表記 | %c | 日時の形式表示 |
%x | 日付の形式表示 | %z | 標準時からの時差 | | |
%X | 時間の形式表示 | %Z | タイムゾーン名 | | |
テキストの読み上げ
droid.ttsSpeak() |
文字列を読み上げる。 |
カメラ操作
droid.cameraCapturePicture() |
自動で撮影し、その画像を指定したファイル名で保存する |
droid.cameraInteractiveCapturePicture() |
カメラを起動し、撮影した画像を指定したファイル名で保存する |