मेरे पास दो इकाइयां हैं, User
और Store
। User
में कई Stores
(1: एम) संबंध हैं। मैंने कोड का पालन करके स्टोर टेबल में कुछ स्टोर सूची डाली है।दाओएक्सप्शन: एटीआई को डीएओ संदर्भ से अलग किया गया है
public void saveStoresToDatabase(Context context, ArrayList<Store> storeList) {
DevOpenHelper helper = new DaoMaster.DevOpenHelper(context, "notes-db", null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
StoreDao storeDao = daoSession.getStoreDao();
ArrayList <Store> list = SharedData.getInstance().getUser().getStoreList();
for(int i = 0; i < storeList.size(); i++) {
storeList.get(i).setUserIdForStore(SharedData.getInstance().getUser().getId());
}
storeDao.insertOrReplaceInTx(storeList);
list.addAll(storeList);
user.resetStoreList();
}
मैं "इकाई डीएओ संदर्भ से अलग है" अपवाद हो रही है जब भी मैं फोन user.getStoreList()
प्रयास करें। daoSession
null
के रूप में स्निप किए गए कोड पर अपवाद होता है।
public ArrayList<Store> getDMStoreListFromDatabase(Context context) {
return SharedData.getInstance().getUser().getStoreList();
}
जहां SharedData
मेरी सिंगलटन, एक उपयोगकर्ता वस्तु होने:
private SharedData() {
user = new User();
}
और मैं इस प्रकार sharedData
उदाहरण मिलता है:
public static synchronized SharedData getInstance() {
if (sharedObject == null) {
sharedObject = new SharedData();
}
return sharedObject;
}
कृपया उपयोगकर्ता कोड प्राप्त करने के बारे में कुछ कोड प्रदान करें और आप उपयोगकर्ता कहां कॉल करते हैं .getStoreList()। क्या आप सुनिश्चित हैं कि स्टोरलिस्ट आपके डीबी में सही ढंग से डाली गई है? क्या आप सुनिश्चित हैं कि चयनित उपयोगकर्ता के लिए डीबी में स्टोरलिस्ट है? – AlexS
मैंने कुछ कोड डालने से अपना प्रश्न संपादित कर लिया है, हां मुझे यकीन है कि स्टोरलिस्ट डाला गया है, हालांकि मैं लेनदेन में डाल रहा हूं लेकिन मैंने सूची तत्वों को एक-एक करके डालने के द्वारा भी इसकी जांच की है। केवल एक उपयोगकर्ता है इसलिए हाँ मुझे यकीन है कि चयनित उपयोगकर्ता के लिए स्टोरलिस्ट डीबी में है क्योंकि इसे सफलतापूर्वक डाला गया था। क्या डेटाबेस टेबल देखने का कोई तरीका है? –