What is the Android Codes to record accelerometer data in millisecond?
-
I am doing a project that have to record the accelerometer data in a logged file. Can anyone help me with the following codes? What is the android codes that should add in the following codes in order to record accelerometer data? I may hope to get the data every 10millisecond. Any help is greatly appreciated. package com.example.helloandroid; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView; public class AccActivity extends Activity implements SensorEventListener { private SensorManager sensorManager; TextView xCoor; // declare X axis object TextView yCoor; // declare Y axis object TextView zCoor; // declare Z axis object @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); xCoor=(TextView)findViewById(R.id.xcoor); // create X axis object yCoor=(TextView)findViewById(R.id.ycoor); // create Y axis object zCoor=(TextView)findViewById(R.id.zcoor); // create Z axis object sensorManager=(SensorManager)getSystemService(SENSOR_SERVICE); // add listener. The listener will be HelloAndroid (this) class sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); /* More sensor speeds (taken from api docs) SENSOR_DELAY_FASTEST get sensor data as fast as possible SENSOR_DELAY_GAME rate suitable for games SENSOR_DELAY_NORMAL rate (default) suitable for screen orientation changes */ } public void onAccuracyChanged(Sensor sensor,int accuracy){ } public void onSensorChanged(SensorEvent event){ // check sensor type if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){ // assign directions float x=event.values[0]; float y=event.values[1]; float z=event.values[2]; xCoor.setText("X: "+x); yCoor.setText("Y: "+y); zCoor.setText("Z: "+z); } } }
-
Answer:
That rate at which you receive data is going to be dependent on the discretion of the operating system, as the data is delivered by events triggering callbacks. It's also likely to device dependent too. You can't poll the sensors at a predetermined rate. The SensorManager API docs state public boolean registerListener (SensorEventListener listener, Sensor sensor, int rate) The rate sensor events are delivered at. This is only a hint to the system. Events may be received faster or slower than the specified rate. Usually events are received faster. The value must be one of SENSOR_DELAY_NORMAL, SENSOR_DELAY_UI, SENSOR_DELAY_GAME, or SENSOR_DELAY_FASTEST or, the desired delay between events in microsecond. So you could ask for a delay of 10,000 microseconds (10ms), just how often it would be delivered to your onSensorChanged could only be determined by an experiment to measure it.
Newbie at Stack Overflow Visit the source
Related Q & A:
- What Are Some Promotional Codes For League Of Legends?Best solution by support.riotgames.com
- What's the best way to record shows on Comcast?Best solution by Yahoo! Answers
- What were the black codes?Best solution by en.wikipedia.org
- What DVD do I need to record a tv show?Best solution by Yahoo! Answers
- What are some buildabearville codes?Best solution by wiki.answers.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.