Gruppe Platform: SQLite database handler
Unsere Gruppe hat in der letzten Woche einen Datenbank-Handler erstellt, welcher die Kommunikation zu unserer SQLlite Datenbank herstellt und in dieser Informationen verarbeitet.

gelöste Problematik: Cursor

Um mit der verbundenen Datenbank arbeiten zu können, werden sogenannte Cursor (dt. Positionsanzeigen) benötigt. Einen Cursor kann man sich ähnlich wie den blinkenden Strich in Textverarbeitungsprogrammen als aktuelle Bearbeitungsposition innerhalb der Datenbank vorstellen. Erst mit solchen Cursorn können wir Datensätze verändern oder abfragen, wobei es zu einer Datenbankverbindung beliebig viele Cursor geben kann. Ein neuer Cursor kann mithilfe der cursor-Methode des Connection-Objekts erzeugt werden.

ContentValues:

Android bietet eine unzählige Menge an verschiedenen Klassen, die die SQLite-Datenbank Zugriffe erleichtern. Mit der Klasse ContentValues können Tabelleninhalte hinzugefügt oder verändert werden.


Quellcode SQLiteDBhandler:
-----------------------------


package classes;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class Datenbank extends SQLiteOpenHelper {
SQLiteDatabase datenbank;

public Datenbank(Context context) {
super(context, "BenutzerDaten", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE if not exists users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, passwort TEXT)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}

public Cursor holeDaten(String anfrage) {
datenbank = this.getReadableDatabase();
Cursor cur = datenbank.rawQuery(anfrage, new String[] {});
datenbank.close();
if(cur.getCount() > 0)
return cur;
else
return null;
}

// Weil timo long wollte.
public long schreibeDaten(String tabelle,ContentValues daten){
datenbank = this.getWritableDatabase();
return datenbank.insert(tabelle, null, daten);
}
}