2017-05-01 4 views
-2

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) { 

} 

}

+0

Wie können wir ohne Ihren Programmcode helfen? Bitte bearbeiten Sie Ihre Frage mit dem entsprechenden Code. – KornMuffin

Antwort

0
+0

Vielen Dank. Ich werde alle oben genannten Links durchgehen. –

+0

Jetzt bekomme ich X, Y und Z-Werte von Magnetic Sensor. Ich habe einen dummen Fehler mit meinem Layout gemacht, so dass ich überlappende Werte bekommen habe. Außerdem möchte ich meine Werte im Speicher (in Text oder anderen Dateiformat) speichern. Wie kann ich die Daten speichern? Jede Hilfe wird geschätzt. Vielen Dank .. –

Verwandte Themen