Ich bin Anfänger in Android und versuche, magnetische Sensor-Daten von meinem Android-Handy zu bekommen und es in der Datenbank in Android-Gerät zu speichern. Ich habe auf den Sensor zugegriffen und kann die Daten im Display sehen, aber wie kann ich eine Datenbank in Android erstellen und meine Sensordaten dort speichern?Android Magnetometer Sensoren
Unten ist der Code, den ich verwende, um die magnetischen Sensordaten zu erhalten.
Jede Hilfe wäre großartig. Vielen Dank im Voraus
public class MainActivity AppCompatActivity erweitert implementiert SensorEventListener {
Sensor magnetometer;
SensorManager sm;
TextView magnetismx;
TextView magnetismy;
TextView magnetismz;
SensorEvent event;
public float x;
public float y;
public float z;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button)findViewById(R.id.liveData);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Open();
}
});
sm = (SensorManager)getSystemService(SENSOR_SERVICE);
sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_NORMAL);
magnetismx = (TextView) findViewById(R.id.magnetismx);
magnetismy = (TextView) findViewById(R.id.magnetismy);
magnetismz = (TextView) findViewById(R.id.magnetismz);
magnetometer = sm.getDefaultSensor(magnetometer.TYPE_MAGNETIC_FIELD);
if (magnetometer == null){
Toast.makeText(this, "Magnetometer not available",Toast.LENGTH_SHORT).show();
finish();
}
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
public void Open(){
Intent in = new Intent(this, Live.class);
startActivity(in);
}
@Override
protected void onStop() {
super.onStop();
}
@Override
protected void onPause() {
sm.unregisterListener(this);
super.onPause();
}
@Override
protected void onResume() {
sm.registerListener(this, magnetometer, sm.SENSOR_DELAY_NORMAL);
super.onResume();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onSensorChanged(SensorEvent event) {
x=event.values[0];
y= event.values[1];
z = event.values[2];
Button button = (Button)findViewById(R.id.btnStart);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
magnetismx.setText(Float.toString(x));
magnetismy.setText(Float.toString(y));
magnetismz.setText(Float.toString(z));
}
});
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
Wie können wir ohne Ihren Programmcode helfen? Bitte bearbeiten Sie Ihre Frage mit dem entsprechenden Code. – KornMuffin