Curso-Android-Desarrollo-de-Aplicaciones-Móviles
Curso-Android-Desarrollo-de-Aplicaciones-Móviles
Curso-Android-Desarrollo-de-Aplicaciones-Móviles
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CURSO ANDROID<br />
79<br />
long time_difference = current_time - last_update;<br />
if (time_difference > 0) {<br />
float movement = Math.abs((curX + curY + curZ) - (prevX - prevY -<br />
prevZ)) / time_difference;<br />
int limit = 1500;<br />
float min_movement = 1E-6f;<br />
if (movement > min_movement) {<br />
if (current_time - last_movement >= limit) {<br />
Toast.makeText(getApplicationContext(), “Hay movimiento <strong>de</strong> “<br />
+ movement, Toast.LENGTH_SHORT).show();<br />
}<br />
last_movement = current_time;<br />
}<br />
prevX = curX;<br />
prevY = curY;<br />
prevZ = curZ;<br />
last_update = current_time;<br />
}<br />
((TextView) findViewById(R.id.txtAccX)).setText(“Acelerómetro X: “ +<br />
curX);<br />
((TextView) findViewById(R.id.txtAccY)).setText(“Acelerómetro Y: “ +<br />
curY);<br />
((TextView) findViewById(R.id.txtAccZ)).setText(“Acelerómetro Z: “ +<br />
curZ);<br />
}<br />
}<br />
Una vez listo esto, es necesario registrar y anular el registro <strong>de</strong>l Listener para el sensor según corresponda,<br />
esto lo haremos en los métodos onResume y onStop <strong>de</strong> la actividad (más información <strong>de</strong>l ciclo<br />
<strong>de</strong> vida <strong>de</strong> las Activities en la documentación oficial 1 ).<br />
Para el registro, obtenemos primero el servicio <strong>de</strong>l sistema <strong>de</strong> sensores para asignarlo en un Sensor-<br />
Manager y a partir <strong>de</strong> él obtenemos el acceso al acelerómetro. Al realizar el registro <strong>de</strong>l aceleróme-<br />
1 http://<strong>de</strong>veloper.android.com/reference/android/app/Activity.html