Skip to content

Commit a659f90

Browse files
committed
added step counter example
1 parent 881a74d commit a659f90

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import android.content.Context;
2+
import android.hardware.Sensor;
3+
import android.hardware.SensorManager;
4+
import android.hardware.SensorEvent;
5+
import android.hardware.SensorEventListener;
6+
7+
Context context;
8+
SensorManager manager;
9+
Sensor sensor;
10+
SensorListener listener;
11+
12+
int offset = -1;
13+
int steps;
14+
15+
void setup() {
16+
fullScreen();
17+
frameRate(1);
18+
Context context = (Context) surface.getComponent();
19+
manager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
20+
sensor = manager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
21+
22+
textFont(createFont("Roboto", 36));
23+
fill(255);
24+
}
25+
26+
void draw() {
27+
background(0);
28+
translate(0, +insetBottom/2);
29+
if (!ambientMode) {
30+
String str = steps + " steps";
31+
float w = textWidth(str);
32+
text(str, (width - w)/2, height/2 + 24);
33+
}
34+
}
35+
36+
public void onResume() {
37+
super.onResume();
38+
Context context = (Context) surface.getComponent();
39+
manager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
40+
sensor = manager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
41+
listener = new SensorListener();
42+
43+
manager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);
44+
}
45+
46+
public void onPause() {
47+
super.onPause();
48+
if (manager != null) manager.unregisterListener(listener);
49+
}
50+
51+
class SensorListener implements SensorEventListener {
52+
public void onSensorChanged(SensorEvent event) {
53+
if (offset == -1) offset = (int)event.values[0];
54+
steps = (int)event.values[0] - offset;
55+
}
56+
public void onAccuracyChanged(Sensor sensor, int accuracy) { }
57+
}

0 commit comments

Comments
 (0)