From 715b7ed09468c9d94756da31cfde16041fb72543 Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Wed, 23 May 2018 14:34:23 +0200 Subject: [PATCH] Formatting acceleration and rotation in more dense format. --- .../inf/st/sensorsharing/MainActivity.java | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java index ff668a9..7536b1a 100644 --- a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java +++ b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java @@ -191,16 +191,18 @@ public class MainActivity extends AppCompatActivity implements topic = MQTT_TOPIC_POLAR_BRIGHTNESS; break; case SUB_KEY_LINEAR_ACCELERATION: - float[] accelerationData = new float[3]; - writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), accelerationData); - updatedValue = Arrays.toString(accelerationData); +// float[] accelerationData = new float[3]; +// writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), accelerationData); +// updatedValue = Arrays.toString(accelerationData); + updatedValue = formatByteFloatArray(ByteBuffer.wrap(messageEvent.getData())); textViewToUpdate = findViewById(R.id.value_wear_acceleration); topic = MQTT_TOPIC_POLAR_ACCELERATION; break; case SUB_KEY_ROTATION_VECTOR: - float[] rotationData = new float[3]; - writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), rotationData); - updatedValue = Arrays.toString(rotationData); +// float[] rotationData = new float[3]; +// writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), rotationData); +// updatedValue = Arrays.toString(rotationData); + updatedValue = formatByteFloatArray(ByteBuffer.wrap(messageEvent.getData())); textViewToUpdate = findViewById(R.id.value_wear_rotation); topic = MQTT_TOPIC_POLAR_ROTATION; break; @@ -219,6 +221,20 @@ public class MainActivity extends AppCompatActivity implements } } + private String formatByteFloatArray(ByteBuffer buffer) { + StringBuilder sb = new StringBuilder(); + final int length = 3; + boolean notFirst = false; + for (int i = 0; i < length; i++) { + if (notFirst) { + sb.append(" : "); + } + notFirst = true; + sb.append(String.format(Locale.getDefault(), "%.2f", buffer.getFloat())); + } + return sb.toString(); + } + private void writeFloatArray(ByteBuffer input, float[] output) { for (int i = 0; i < output.length; i++) { output[i] = input.getFloat(); -- GitLab