2012-04-15 10 views
5

मैं एक एंड्रॉइड 3.1 और ऊपर विकसित कर रहा हूं।एंड्रॉइड प्रोजेक्ट पर डीएओ पैटर्न लागू करना

मैं निम्नलिखित संकुल है:

enter image description here

es.viacognita.models एक वेब सेवा के साथ प्राप्त डाटा स्टोर करने की कक्षाओं में होते हैं। जब मुझे सभी वेब सेवा डेटा मिलते हैं, तो मुझे इसे डेटाबेस पर डालना होगा।

इसे सही बनाने के लिए, मैंने डीएओ पैटर्न का उपयोग करने के बारे में सोचा है, लेकिन मुझे नहीं पता कि यह कैसे करना है।

यदि मैं डीएओ पैटर्न का उपयोग करता हूं, तो मुझे es.viacognita.models कक्षाओं का उपयोग करने की आवश्यकता हो सकती है? मुझे लगता है कि ये कक्षाएं डीएओ कक्षाएं होने जा रही हैं, है ना?

जहां मुझे आवेषण, अद्यतन या हटाए जाने को लागू करना है? DBManager कक्षा पर?

उत्तर

5

आप आवेषण, अपडेट, हटाता है और सभी अन्य कार्यों DBManager कक्षा में लागू करने या एक अलग वर्ग दाव जो सभी कार्यों आप डेटाबेस पर क्या करना चाहते हैं करता है बना सकते हैं ...

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

अपने जवाब के लिए धन्यवाद । मेरे पास एक और सवाल है: मैं लेनदेन कैसे कार्यान्वित कर सकता हूं? धन्यवाद। – VansFannel

+0

लेनदेन से क्या मतलब है? डालने, हटाने और अन्य परिचालनों का क्या मतलब है? – 5hssba

+0

हां। मुझे बहुत सारी टेबल डालना है, और यदि उनमें से कोई विफल रहता है, तो मुझे पिछले सभी प्रविष्टियों को पूर्ववत करना होगा। – VansFannel

2

मैं डीबीमेनगर के नामस्थान का उपयोग करूंगा। मैं आपके मॉडल वर्गों को व्यावसायिक इकाई वर्गों के रूप में मानता हूं और डीएओ (डीएएल) परत के लिए एक अलग पुस्तकालय बनाता हूं। इस पद्धति का उपयोग करके आप अपने व्यापार तर्क को अपने डेटा एक्सेस लेयर से अलग कर सकते हैं।

संबंधित मुद्दे