Usereingabe in SQLite Speichern und ausgeben

Mordor

Mordor

Erfahrenes Mitglied
193
Hallo,

ich benötige etwas Hilfe.

Ich möchte gern das der User über die Settings Eingaben Tätigen kann.

Also habe ich ein Layout angelegt für die Settings mit 2 Input's.

Nun möchte ich gern diese Eingegeben Werte in eine Datenbank eintragen und Speichern.

Dazu habe ich erstmal eine Datenbank angelegt:
Code:
/* Datenbank Variablen */
    final static String MY_DB_NAME = "DBNAME";
    final static String MY_DB_TABLE = "DBTABLE";
    final static String tag="TAG";

Code:
/** Datenbank und Tabellen erstellen wenn noch nicht vorhanden */
    /*
    private void onCreateDBAndDBTabled()
    {
        SQLiteDatabase myDB = null;
        try {
            // Datenbank erstellen
            myDB = this.openOrCreateDatabase(MY_DB_NAME, MODE_PRIVATE, null);
            //Datenbank wird ausgeführt
            myDB.execSQL("CREATE TABLE IF NOT EXISTS" + MY_DB_TABLE + "(_integer, aktuellerCigarettValue)"+";");
        } finally {
            if (myDB != null)
                myDB.close();
        }

So, die Funktion wird gleich bei onCreate aufgerufen.


Aber ich befürchte schon da einen Fehler gemacht zu haben.

Kennt jemand ein HowTo indem ich "Einfach" gezeigt bekomme wie ich eine DB anlege bzw. Usereingaben eintrage?

LG
 
Google mal nach SQLiteOpenHelper ;)

lg. Dagobert
 
Das Hilft mir irgendwie gerade nicht.

Mal anders gefragt.

Sagen wir, ich möchte den Wert beim beenden speichern.

Am besten für dieses Beispiel ERSTMAL im internen Speichern.

Ich habe einen Wert X, der sich erhöt bei einem druck auf den Button. Verringern kann er sich auch.

So, drehe ich das Gerät, speichere ich den wert zwischen:
Code:
private static final String MY_VAR = "GET_VALUE";

So, nun muss ich den Wert speichern und lesen:
Code:
    // Den Wert Speichern beim drehen!
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

        outState.putDouble(MY_VAR, myVarValue);
    }

    // Den wert wieder ausgeben
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        myVarValue = savedInstanceState.getDouble(MY_VAR);
        updateGui();
    }

Beim beenden, muss ich doch dann folgendermaßen vorgehen:
Code:
@Override
    protected void onStop() {
        super.onStop();

        SharedPreferences sharedPrefs = getSharedPreferences(MY_VAR, 0);
        SharedPreferences.Editor editor = sharedPrefs.edit();
        editor.putString(MY_VAR, editText.getText().toString());
        editor.commit();
    }

Ich verstehe aber nicht das editText.....

ich möchte den Wert der in der Variable "MY_VAR" steht ja speichern bzw. den wert den ich ihr zuweise.

ohje, ich hoffe, ich konnte das halbwegs erklären.

Am Ende möchte ich ja nur den Wert nicht aus dem editText lesen sondern hier raus:
Code:
TextView textView_valueOutput = (TextView) findViewById(R.id.textView_Value);
        String ValueText = Double.toString(ValueCount);
        textView_cigaretteOutput.setText(ValueText);

LG
 
Zuletzt bearbeitet:
In deiner "Variable", die eigentlich eine Konstante ist da
Code:
private static final
steht immer

Und du speicherst in den SharedPreferenz (KEY-/Value-Store) unter dem Key "GET_VALUE" den Inhalt des EditText...

was genau verstehst du daran nicht?

lg. Dagobert
 
Code:
@Override
    protected void onStop() {
        super.onStop();

        SharedPreferences sharedPrefs = getSharedPreferences(STATE_COUNT, 0);
        SharedPreferences.Editor editor = sharedPrefs.edit();
        editor.putString(STATE_COUNT_VALUE, editText.getText().toString());
        editor.commit();
    }

:S

so speichere ich jetzt den Wert beim beenden der App

Stand irgendwie auf dem Schlauch :S
 

Ähnliche Themen

R
Antworten
6
Aufrufe
1.016
swa00
swa00
Muecke1982
Antworten
8
Aufrufe
1.034
Skyhigh
Skyhigh
B
Antworten
6
Aufrufe
1.051
jogimuc
J
Zurück
Oben Unten