Erstellen von Daten-Modell-Klasse für Datenbank-handling

War ich gerade erst mit der Arbeit an einer Datenbank-Anwendung, wenn ich merkte, dass ich implementieren sollte MVC Muster wie die Anwendung ist Recht Komplex und beinhaltet eine Reihe von Datenbank-Operationen.

In Bezug auf diese, habe ich beschlossen, erstellen Sie eine separate model class für die Handhabung von Datenbank-Operationen. Dieser Klasse werden alle Methoden, die mich zurückbringen der Daten nach der Ausführung Sqlite-Befehl(Select z.B.) ODER wird, führen Sie einfach die SQLite-Befehl(Löschen zum Beispiel). Aber das, was ich will, ist die Trennung dieser Klasse von Database Adapter Klasse, wo ich das öffnen, erstellen und schließen meiner Datenbank.

Lassen Sie mich, mein Konzept in code :

public class DataModel
{
/*

Private members

*/

// Method to Select data from Student table
public ArrayList<String> FetchStudents (parameter 1)
{
private ArrayList<String> arrStudent;


DatabaseAdapter objDB= new DatabaseAdapter();
objDB.open();  
/*
Some code
*/
objDB.close();


return arrStudent
}

//Method to delete record from Student table
public DeleteStudent(parameter 1)
{
DatabaseAdapter objDB= new DatabaseAdapter();
objDB.open();
//Some code
objDB.close();
}

/*

Rest of methods

*/
}  

//DatabaseAdapterClass

private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
/**
* onCreate method is called for the 1st time when database doesn't exists.
*/
@Override
public void onCreate(SQLiteDatabase db) {
Log.i(TAG, "Creating DataBase: " + CREATE_STUDENT_TABLE);
db.execSQL(CREATE_STUDENT_TABLE);
}
/**
* onUpgrade method is called when database version changes.
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                        + newVersion);
}
}  

Frage:

Was ich Fragen wollt ist dies der richtige Ansatz für die Umsetzung? Ist es in Ordnung, wenn erstellen Sie separate Klasse für Datenbank Methoden? Welche Einschränkungen oder Probleme, die Sie Jungs denken, dass könnte ärger mich später auf? Auch gibt es einen besseren Weg zur Umsetzung der oben Konzept?

Dank

Stein

InformationsquelleAutor | 2011-08-03
Schreibe einen Kommentar