【スマホでプログラミング】Pythonでアプリ開発!【ダイアログ表示・センサ取得#2】

ダイアログやセンサーの機能を追加するときには、”androidhelper”というライブラリを使います。どのような関数があるかは、https://kylelk.github.io/html-examples/androidhelper.htmlを参照しています。他にも気になる機能がある方は見てみると良いでしょう。

 

 

 

 

 

ボタン付きダイアログボックス

 

ダイアログが表示され、いずれかのボタンを押した際にトーストを表示する。

 

 

 

使用した関数

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()
ダイアログボックスを消す

 

 

 

テキスト入力ダイアログボックス

 

テキストを入力できるダイアログボックスを作成し、入力した文字をトーストで表示する。

 

 

 

使用した関数

droid.dialogCreateInput()
テキストを入力するダイアログボックスを作成する

 

 

 

リスト選択ダイアログボックス

 

リストを選択させるダイアログボックスを作成し、押されたボタンの番号のトーストを表示する。

 

 

 

使用した関数

droid.dialogSetItems([])
選択できるリストをダイアログボックスに追加する。

 

 

 

ラジオボタン付きダイアログボックス

 

ラジオボタンで選択させるダイアログボックスを作成し、選択されたボタンの番号のトーストを表示する。

 

 

 

使用した関数

droid.dialogSetSingleChoiceItems([])
ラジオボタンをダイアログボックスに追加する
answer = droid,dialogGetSelectedItems().result
選択されたボタンの番号を変数answerに保存

 

 

センサによる値の取得

 

センサには、端末によって備わっているものが変わってきますが、加速度、角度、明るさ、位置センサ等があります。また、一つ一つにセンサの値を取得する関数がありますが、全てのセンサ情報を取得する関数もあります。

 

 

取得する値

特定の値のみを取得したい場合は、result[‘xforce’]のようにすると、xforceの値のみを取得できます。

 

xMagx軸の磁界の強さ
yMagy軸の磁界の強さ
zMagz軸の磁界の強さ
azimuth方位
rollロール角
pitchピッチ角
xforce x軸の加速度
yforcey軸の加速度
zforcez軸の加速度
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)%pAM/PM表記
%B月名%j1/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()
カメラを起動し、撮影した画像を指定したファイル名で保存する

コメント