openintents から 無料で公開されている.
サポートされるセンサーは以下.
加速度計
時針
向き
温度
光
近接性
気圧
重力
線形加速度
回転ベクトル
ジャイロスコープ
できること
デバイスにセンサーイベントを送信
パソコン上及びデバイス上でそのイベントを記録
記録したイベントをデバイス上で再生
Downloads - openintents - Make Android applications work together. - Google Project Hosting
ダウンロードした zipアーカイブを展開して bin/ 以下.
sensorsimulator-2.0-rc1/ ├── bin │ ├── SensorRecordFromDevice-2.0-rc1.apk │ ├── SensorSimulatorSettings-2.0-rc1.apk │ └── sensorsimulator-2.0-rc1.jar
デバイス向けapk とパソコン向けjar が確認できる.
イベントの送受信は,
SensorSimulatorSettings-2.0-rc1.apk
sensorsimulator-2.0-rc1.jar
の2つ.
デバイスにインストールして, パソコン上でクライアントを起動.
$ cd sensorsimulator-2.0-rc1 $ adb install bin/SensorRecordFromDevice-2.0-rc1.apk $ adb install bin/SensorSimulatorSettings-2.0-rc1.apk $ open bin/sensorsimulator-2.0-rc1.jar
パソコンから送信したセンサーイベントの記録は, 「Senario Simulator」タブから.
実機でのセンサー操作の記録は, SensorRecordFromDevice-2.0-rc1.apk 側から.
その他ソースコード, サンプルなど, アーカイブに同梱されている.
sensorsimulator-2.0-rc1/ ├── SensorRecordFromDevice │ ├── AndroidManifest.xml │ ├── assets │ ├── build.properties │ ├── build.xml │ ├── default.properties │ ├── lib │ ├── libs │ ├── proguard.cfg │ ├── readme_SensorRecordFromDevice.txt │ ├── res │ │ ├── drawable-hdpi │ │ │ └── icon.png │ │ ├── drawable-ldpi │ │ │ └── icon.png │ │ ├── drawable-mdpi │ │ │ └── icon.png │ │ ├── layout │ │ │ ├── list_item.xml │ │ │ └── record.xml │ │ └── values │ │ └── strings.xml │ ├── src │ │ └── org │ │ └── openintents │ │ └── sensorsimulator │ │ └── record │ │ ├── Global.java │ │ ├── SensorRecordFromDeviceActivity.java │ │ ├── SensorRecordService.java │ │ ├── SensorsAdapter.java │ │ └── SimpleSensor.java │ ├── template\ of\ build-private.properties │ └── template\ of\ local.properties ├── SensorSimulator │ ├── TODOs │ ├── build-release.xml │ ├── configDir.txt │ ├── interpolationFiles │ │ ├── load.ss.xml │ │ └── save.ss.xml │ ├── readme_SensorSimulator.txt │ └── src │ ├── configPhone.txt │ ├── org │ │ └── openintents │ │ └── tools │ │ └── simulator │ │ ├── Global.java │ │ ├── SensorServer.java │ │ ├── SensorServerThread.java │ │ ├── SensorSimulator.java │ │ ├── SensorsScenario.java │ │ ├── SimulatorInstances.java │ │ ├── TelnetSimulator.java │ │ ├── controller │ │ │ ├── AllSensorsController.java │ │ │ ├── DeviceController.java │ │ │ ├── SensorSimulatorController.java │ │ │ ├── SensorsScenarioController.java │ │ │ ├── StateControllerBig.java │ │ │ ├── StateControllerSmall.java │ │ │ ├── TelnetSimulatorController.java │ │ │ ├── sensor │ │ │ │ ├── AccelerometerController.java │ │ │ │ ├── BarcodeReaderController.java │ │ │ │ ├── GravityController.java │ │ │ │ ├── GyroscopeController.java │ │ │ │ ├── LightController.java │ │ │ │ ├── LinearAccelerationController.java │ │ │ │ ├── MagneticFieldController.java │ │ │ │ ├── OrientationController.java │ │ │ │ ├── PressureController.java │ │ │ │ ├── ProximityController.java │ │ │ │ ├── RotationVectorController.java │ │ │ │ ├── SensorController.java │ │ │ │ ├── TemperatureController.java │ │ │ │ └── WiiAccelerometerController.java │ │ │ └── telnet │ │ │ ├── BatteryAddonController.java │ │ │ └── GPSAddonController.java │ │ ├── main │ │ │ └── SensorSimulatorMain.java │ │ ├── model │ │ │ ├── SensorsScenarioModel.java │ │ │ ├── StateModel.java │ │ │ ├── sensor │ │ │ │ ├── SensorSimulatorModel.java │ │ │ │ └── sensors │ │ │ │ ├── AccelerometerModel.java │ │ │ │ ├── BarcodeReaderModel.java │ │ │ │ ├── GravityModel.java │ │ │ │ ├── GyroscopeModel.java │ │ │ │ ├── LightModel.java │ │ │ │ ├── LinearAccelerationModel.java │ │ │ │ ├── MagneticFieldModel.java │ │ │ │ ├── OrientationModel.java │ │ │ │ ├── PressureModel.java │ │ │ │ ├── ProximityModel.java │ │ │ │ ├── RotationVectorModel.java │ │ │ │ ├── SensorModel.java │ │ │ │ ├── TemperatureModel.java │ │ │ │ └── WiiAccelerometerModel.java │ │ │ └── telnet │ │ │ ├── FileRunnable.java │ │ │ ├── FileThread.java │ │ │ ├── TelnetServer.java │ │ │ ├── TelnetSimulatorModel.java │ │ │ ├── Vector.java │ │ │ ├── WiiMoteData.java │ │ │ └── addons │ │ │ ├── BatteryAddonModel.java │ │ │ └── GPSAddonModel.java │ │ ├── util │ │ │ ├── FileExtensionFilter.java │ │ │ ├── HtmlTextPane.java │ │ │ ├── Interpolate.java │ │ │ ├── JTextFieldLimit.java │ │ │ ├── PhoneSensors.java │ │ │ ├── SynchronizedInteger.java │ │ │ └── XMLUtil.java │ │ └── view │ │ ├── DevicePanel.java │ │ ├── SensorsScenarioView.java │ │ ├── StateViewBig.java │ │ ├── StateViewSmall.java │ │ ├── gui │ │ │ └── util │ │ │ ├── SensorButton.java │ │ │ └── TimeScrollBar.java │ │ ├── help │ │ │ └── HelpWindow.java │ │ ├── sensor │ │ │ ├── AllSensorsView.java │ │ │ ├── DeviceView.java │ │ │ ├── SensorSimulatorView.java │ │ │ └── sensors │ │ │ ├── AccelerometerView.java │ │ │ ├── BarcodeReaderView.java │ │ │ ├── GravityView.java │ │ │ ├── GyroscopeView.java │ │ │ ├── LightView.java │ │ │ ├── LinearAccelerationView.java │ │ │ ├── MagneticFieldView.java │ │ │ ├── OrientationView.java │ │ │ ├── PressureView.java │ │ │ ├── ProximityView.java │ │ │ ├── RotationVectorView.java │ │ │ ├── SensorView.java │ │ │ ├── TemperatureView.java │ │ │ └── WiiAccelerometerView.java │ │ └── telnet │ │ ├── TelnetSimulatorView.java │ │ └── addons │ │ ├── BatteryAddonView.java │ │ └── GPSAddonView.java │ └── pics │ ├── button_start.png │ ├── button_stop.png │ ├── icon_add.png │ ├── icon_copy.png │ ├── icon_cursor.png │ ├── icon_delete.png │ ├── icon_edit.png │ ├── icon_help.png │ ├── icon_play_pause.png │ ├── icon_sensor_simulator.png │ ├── icon_stop.png │ ├── menu_console.png │ ├── menu_help.png │ ├── menu_sensor_simulator.png │ └── menu_settings.png ├── SensorSimulatorSettings │ ├── AndroidManifest.xml │ ├── build-lib-content.txt │ ├── build.properties │ ├── build.xml │ ├── default.properties │ ├── libs │ ├── proguard.cfg │ ├── readme_SensorSimulatorSettings.txt │ ├── res │ │ ├── drawable │ │ │ ├── mobile001a.png │ │ │ ├── mobile001a_32.png │ │ │ ├── mobile_shake001a_32.png │ │ │ ├── mobile_shake_application001.png │ │ │ ├── mobile_shake_application001a.png │ │ │ ├── settings001a.png │ │ │ └── settings001a_32.png │ │ ├── drawable-hdpi │ │ ├── drawable-ldpi │ │ ├── drawable-mdpi │ │ ├── layout │ │ │ ├── sensorsimulator.xml │ │ │ └── sensorsimulator_row.xml │ │ └── values │ │ └── strings.xml │ ├── src │ │ └── org │ │ └── openintents │ │ └── sensorsimulator │ │ ├── SensorSimulatorSettingsActivity.java │ │ ├── db │ │ │ ├── SensorSimulator.java │ │ │ └── SensorSimulatorConvenience.java │ │ ├── dbprovider │ │ │ └── SensorSimulatorProvider.java │ │ └── hardware │ │ ├── Sensor.java │ │ ├── SensorEvent.java │ │ ├── SensorEventListener.java │ │ ├── SensorManagerSimulator.java │ │ ├── SensorNames.java │ │ └── SensorSimulatorClient.java │ ├── template\ of\ build-private.properties │ └── template\ of\ local.properties ├── bin │ ├── SensorRecordFromDevice-2.0-rc1.apk │ ├── SensorSimulatorSettings-2.0-rc1.apk │ ├── readme_SensorRecordFromDevice.txt │ ├── readme_SensorSimulator.txt │ ├── readme_SensorSimulatorSettings.txt │ └── sensorsimulator-2.0-rc1.jar ├── lib │ └── sensorsimulator-lib-2.0-rc1.jar ├── readme.txt ├── release │ ├── RELEASE-CHECKS.txt │ ├── build.properties │ ├── build.xml │ └── readme.txt └── samples ├── SensorRealDevice │ ├── AndroidManifest.xml │ ├── default.properties │ ├── res │ │ ├── drawable │ │ │ └── icon.png │ │ ├── layout │ │ │ └── main.xml │ │ └── values │ │ └── strings.xml │ └── src │ └── org │ └── openintents │ └── samples │ └── SensorRealDevice │ └── SensorRealDeviceActivity.java └── SensorSimulatorDemo ├── AndroidManifest.xml ├── default.properties ├── lib │ └── gsoc_openintents_sensorsimulator.jar ├── res │ ├── drawable │ │ └── icon.png │ ├── layout │ │ └── main.xml │ └── values │ └── strings.xml └── src └── org └── openintents └── samples └── SensorSimulatorDemo └── SensorSimulatorDemoActivity.java 82 directories, 185 files
実機でシナリオ作成して, 繰り返しテストするのに良いだろう,とか.