accelerometer - Indoor Navigation system using Android Accelorometer? -


i working on android app , can setup indoor navigation system of building. using accelorometer sensor develop system. little stuck in movement of navigation arrow. arrow not moving.

mycode:

package com.sample.accelerometer;  import android.content.context; import android.hardware.sensor; import android.hardware.sensorevent; import android.hardware.sensoreventlistener; import android.hardware.sensormanager; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.view.animation.animation; import android.view.animation.animationset; import android.view.animation.animationutils; import android.view.animation.translateanimation; import android.widget.framelayout; import android.widget.imageview; import android.widget.textview;  import java.util.arraylist; import java.util.random;  public class mainactivity extends appcompatactivity implements sensoreventlistener { private sensormanager sensensormanager; private sensor senaccelerometer;  private long lastupdate = 0; private float last_x, last_y, last_z;  textview textview; imageview imageview;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);     textview = (textview) findviewbyid(r.id.act);     imageview = (imageview) findviewbyid(r.id.imageview);     sensensormanager = (sensormanager) getsystemservice(context.sensor_service);     senaccelerometer = sensensormanager.getdefaultsensor(sensor.type_accelerometer);     sensensormanager.registerlistener(this, senaccelerometer, sensormanager.sensor_delay_normal); }  @override protected void onpause() {     super.onpause();     sensensormanager.unregisterlistener(this); }  @override protected void onresume() {     super.onresume();     sensensormanager.registerlistener(this, senaccelerometer, sensormanager.sensor_delay_normal); }  @override public void onsensorchanged(sensorevent sensorevent) {     sensor mysensor = sensorevent.sensor;      if (mysensor.gettype() == sensor.type_accelerometer) {         float x = sensorevent.values[0];         float y = sensorevent.values[1];         float z = sensorevent.values[2];          long curtime = system.currenttimemillis();          if ((curtime - lastupdate) > 100) {             long difftime = (curtime - lastupdate);             lastupdate = curtime;              last_x = x;             last_y = y;             last_z = z;              textview.settext("x = "+x+" ,y = "+y+" , z  = "+z);             animationset animationset = new animationset(true);              translateanimation = new translateanimation(                     animation.absolute,-last_x, animation.absolute,last_x,                     animation.absolute,-last_y, animation.absolute,last_y);             a.setduration(1000);             animationset.addanimation(a);             imageview.startanimation(animationset);         }     } }  @override public void onaccuracychanged(sensor sensor, int accuracy) {  } } 

enter image description here

this above code , please suggest me solution move arrow in navigation direction.


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -