2012-04-15 9 views
5

Ich entwickle ein Android 3.1 und höher.Implementieren von DAO-Muster auf Android-Projekt

Ich habe die folgenden Pakete:

enter image description here

es.viacognita.models enthalten Klassen Daten mit einem Web-Service abgerufen zu speichern. Wenn ich alle Webservice-Daten erhalte, muss ich sie in die Datenbank einfügen.

Um es richtig zu machen, habe ich gedacht, um DAO-Muster zu verwenden, aber ich weiß nicht, wie es geht.

Wenn ich DAO-Muster verwende, muss ich möglicherweise es.viacognita.models Klassen verwenden? Ich denke, dass diese Klassen DAO-Klassen sein werden, nicht wahr?

Wo muss ich einfügen, aktualisieren oder löschen? auf DBManager Klasse?

Antwort

5

Sie können Einsätze implementieren, Aktualisierungen, Löschungen und alle anderen Operationen in DBManager Klasse oder eine separate Klasse dao erstellen, die die Operationen alles, was Sie auf der Datenbank tun wollen tut ...

public class DAO { 
private SQLiteDatabase database,customdb; 
private DBManager dbHelper; 



public DAO(Context context) { 
    dbHelper = new DBManager(context); 
} 
public void open() throws SQLException { 
    database = dbHelper.getWritableDatabase(); 

} 
public void close() { 
    dbHelper.close(); 
} 
//insering,deleting and all other operations you want to perforem on the database 
    } 
+0

Vielen Dank für Ihre Antwort . Ich habe eine andere Frage: Wie kann ich Transaktionen implementieren? Vielen Dank. – VansFannel

+0

Was meinen Sie mit Transaktionen? Einfügen, Löschen und andere Operationen? – 5hssba

+0

Ja. Ich muss eine Menge Tabellen einfügen, und wenn eine davon fehlschlägt, muss ich alle vorherigen Einfügungen rückgängig machen. – VansFannel

2

Ich würde DBManager Namespace verwenden. Ich behandle Ihre Modellklassen als Business-Entity-Klassen und erstelle eine separate Bibliothek für die DAO-Ebene. Mit dieser Methode können Sie Ihre Geschäftslogik von Ihrer Datenzugriffsebene trennen.