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) { } }
this above code , please suggest me solution move arrow in navigation direction.
Comments
Post a Comment