Iniciei minhas experiencias com Android, programando no Android Studio, comecei com os sensores já que pretendo desenvolver app para automação em geral.
Consegui através pesquisa e estudos chegar ao código abaixo:
package ususario.app.sensor1;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEventListener;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.hardware.SensorManager;
import android.hardware.SensorListener;
@SuppressWarnings("deprecation")
public class Sensor1Activity extends Activity implements SensorListener {
final String tag = "IBMEyes";
SensorManager sm = null;
//Sensor luz = null;
TextView xViewA = null;
TextView yViewA = null;
TextView zViewA = null;
TextView xViewO = null;
TextView yViewO = null;
TextView zViewO = null;
TextView Lumens = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// get reference to SensorManager
sm = (SensorManager) getSystemService(SENSOR_SERVICE);
setContentView(R.layout.activity_sensor1);
xViewA = (TextView) findViewById(R.id.xbox);
yViewA = (TextView) findViewById(R.id.ybox);
zViewA = (TextView) findViewById(R.id.zbox);
xViewO = (TextView) findViewById(R.id.xboxo);
yViewO = (TextView) findViewById(R.id.yboxo);
zViewO = (TextView) findViewById(R.id.zboxo);
Lumens = (TextView) findViewById(R.id.Lux);
}
public void onSensorChanged(int sensor, float[] values) {
synchronized (this) {
Log.d(tag, "onSensorChanged: " + sensor + ", x: " +
values[0] + ", y: " + values[1] + ", z: " + values[2]);
if (sensor == SensorManager.SENSOR_ORIENTATION) {
xViewO.setText("Orientação X: " + values[0]);
yViewO.setText("Orientação Y: " + values[1]);
zViewO.setText("Orientação Z: " + values[2]);
}
if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
xViewA.setText("Eixo X: " + values[0]);
yViewA.setText("Eixo Y: " + values[1]);
zViewA.setText("Eixo Z: " + values[2]);
}
// int sensorl = SensorManager.SENSOR_LIGHT;
// Log.i(tag, "onSensorChanged:" + sensor1);
// Lumens.setText("Luminosidade:" + sensorl);
}
}
public void onAccuracyChanged(int sensor, int accuracy) {
Log.d(tag,"onAccuracyChanged: " + sensor + ", accuracy: " + accuracy);
// Log.i(tag, "onAccuracyChanged: " + sensor1 + ", accuracy: " + accuracy);
}
@Override
protected void onResume() {
super.onResume();
// register this class as a listener for the orientation, accelerometer e lumens sensors
sm.registerListener(this,
SensorManager.SENSOR_ORIENTATION |SensorManager.SENSOR_ACCELEROMETER,
SensorManager.SENSOR_LIGHT | SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onStop() {
// unregister listener
sm.unregisterListener(this);
super.onStop();
}
}
o Resultado é estes:
Agora estou patinando no ler e imprimir o sensor de luz.
Alguem pode me ajudar?
Agradeço.