Intereting Posts
एंड्रॉइड – SQLite + साझा किए गए संदर्भ, 2 धागे एक साथ पढ़ें / लिखें? लोड एडी के नाम से पहले विज्ञापन आकार और विज्ञापन इकाई आईडी सेट होना चाहिए WVGA800 और WVGA854 के लिए विभिन्न संसाधन हैं? कनेक्टेड नेटवर्क की वाईफ़ाई सिग्नल स्ट्रेंथ प्राप्त करें एक्लिप्स एंड्रॉइड: चयनित वीएम डीबग पोर्ट (8700) को खोला नहीं जा सका तालिका में एक कॉलम से अलग मानों का चयन कैसे करें? onTouchListener चेतावनी: एक क्लिक का पता चला है पर onTouch कॉल # प्रदर्शन करें क्लिक करना चाहिए नई संपर्क गतिविधि को जोड़ना प्रारंभ करें और संरचित डेटा पास करें Android में गतिविधियों के बीच बिटमैप पास नहीं कर सकते आप एंड्रॉइड में तारों की तुलना में अधिक से तुलना कैसे कर सकते हैं आंतरिक सर्वर त्रुटि KitKat संग्रहण पहुंच फ़्रेमवर्क का उपयोग करने के बाद Google डिस्क फ़ाइल सामग्री URI खोलें एंड्रॉइड का इस्तेमाल करते हुए उपयोगकर्ता इंटरैक्शन के बिना कैमरे से छवि कैप्चर कैसे करें रीसीलर दृश्य में एक पाद लेख दृश्य जोड़ना? MyLocationOverlay का उपयोग करते हुए मानचित्रव्यू पर वर्तमान जीपीएस स्थान पर कैसे आकर्षित करना है?

हरे रंग की डीएओ का उपयोग करके डेटा बेस के सभी खुले कनेक्शनों को कैसे जानें?

हाय सब लोग एंड्रॉइड के लिए नया और डाटाबेस के प्रबंधन के लिए हरे डीएओ का इस्तेमाल करते हैं, लेकिन आईएएम अक्सर एक डाटाबेस बंद नहीं कर रहा है, जैसा कि Iam पर एप्लिकेशन में कर रहा है, Iam पर अनुप्रयोग में, Iam आवेदन के माध्यम से केवल एक ही कनेक्शन को बनाए रखता है, लेकिन कुछ मामलों में जब मेरा आवेदन पृष्ठभूमि में चला जाता है और डेटा बेस कनेक्शन ऑब्जेक्ट शुरू होता है, निरर्थक हो रहा है, मैं उपयोग करने से पहले ऑब्जेक्ट की निरर्थक स्थिति को जांच कर समस्या को संभाला, लेकिन अब यह अक्सर अपवाद प्राप्त करता है

android.database.sqlite.DatabaseObjectNotClosedException: एप्लिकेशन ने कर्सर या डेटाबेस ऑब्जेक्ट को बंद नहीं किया जो यहां खोला गया था

कृपया यह कैसे प्रबंधित करें मेरी मदद करें

अग्रिम में धन्यवाद

स्टैक ट्रेस: ​​01-03 09: 39: 18.688: ई / एसक्यूलाइट डाटाबेस (3063): क्लोज़ () को डेटाबेस में कभी स्पष्ट रूप से नहीं बुलाया गया था '/ data / data / com.opera.mini.android/databases/google_analytics.db' 01- 03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): android.database.sqlite.DatabaseObjectNotClosedException: एप्लिकेशन ने कर्सर या डाटाबेस ऑब्जेक्ट को बंद नहीं किया जो यहाँ खोला गया था 01-03 09: 39: 18.688: ई / SQLiteDatabase (3063) : at android.database.sqlite.SQLiteDatabase। (SQLiteDatabase.java:1943) 01-03 09: 39: 18.688: ई / SQLiteDatabase (3063): at android.database.sqlite.SQLiteDatabase.openDatabase (SQLiteDatabase.java:1007) 01-03 09: 39: 18.688: ई / SQLiteDatabase (3063): android.database.sqlite.SQLiteDatabase.openDatabase (SQLiteDatabase.java:986) 01-03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): पर android.database.sqlite.SQLiteDatabase.openOrCreateDatabase (SQLiteDatabase.java:1051) 01-03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): एंड्रॉइड.एप.कॉन्टेक्स इंपलिप.ओपेनओरक्रेटेटाबेस (संदर्भइंपल। जावाः 787) 01-03 09: 39: 18.688: ई / SQLite डाटाबेस (306 3): at android.content.ContextWrapper.openOrCreateDatabase (ContextWrapper.java:221) 01-03 09: 39: 18.688: ई / एसक्यूलाइटडेटाबेस (3063): एंड्रॉइड कंसेंट.कॉन्टेक्सवापर.ओपेनओआरसीआरेटडेटाबेस (संदर्भवापर। जावाका 2121) 01 -03 09: 39: 18.688: ई / एसक्यूएलटीडेटाबेस (3063): एंड्रॉइड डाटबेस.sqlite.SQLiteOpenHelper.getWritableDatabase (SQLiteOpenHelper.java:157) 01-03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): कॉम पर .google.android.apps.analytics.PersistentHitStore.loadExisting सत्र (अज्ञात स्रोत) 01-03 09: 39: 18.688: ई / SQLiteDatabase (3063): com.google.android.apps.analytics.PersistentHitStore पर। (अज्ञात स्रोत) 01 -03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): com.google.android.apps.analytics.PersistentHitStore पर। (अज्ञात स्रोत) 01-03 09: 39: 18.688: ई / SQLiteDatabase (3063): कॉम पर .google.android.apps.analytics.AnalyticsReceiver.onReceive (अज्ञात स्रोत) 01-03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): com.opera.mini.android पर। ओपीएमनीइन्स्टॉल रिफरर रिसीवर। पुन: प्राप्तकर्ता (स्रोत: 15) 01 -03 09: 39: 18.688: ई / SQLite डाटाबेस (3063 ): at android.app.ActivityThread.handleReceiver (ActivityThread.java:2119) 01-03 09: 39: 18.688: ई / एसक्यूलाइटडेटाबेस (3063): एंड्रॉइड। एप पर। गतिविधिट्रेड.कैस $ 1500 (गतिविधिथीफ.जावाप्रती 23) 01 -03 09: 39: 18.688: ई / एसक्यूलाइट डाटाबेस (3063): एंड्रॉइड। एप। एक्टिवटीट्रेड $ एच होन्डल संदेश (गतिविधिट्रेड.जावाई 1 9 7) 01-03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): एंड्रॉइड पर .OS.Handler.dispatchMessage (हैंडलर.जावाः 99) 01-03 09: 39: 18.688: ई / एसक्यूलाइटडेटाबेस (3063): एंड्रॉइड.ओएस। लोपर। लोप (Looper.java:137) 01-03 09:39 : 18.688: ई / एसक्यूलाइट डाटाबेस (3063): एंड्रॉइड। एप। एक्टिवटीट्रेड.माइन (गतिविधिट्रेड.जावा 4424) 01-03 09: 39: 18.688: ई / एसक्यूलाइट डाटाबेस (3063): जावा पर। इन्वेॉक्स नेटिव (नेटिव मेथोड) 01-03 09: 39: 18.688: ई / एसक्यूलाइट डाटाबेस (3063): पर java.lang.reflect.Method.invoke (मेथड.जावा टी 1111) 01-03 09: 39: 18.688: ई / SQLite डाटाबेस (3063): com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 01-03 09: 39: 18.688: ई / SQLiteDatabase (3063): com.android.internal.os पर। ZygoteInit.mai n (ज़ीगोटेइनिट.जावा टी 5151) 01-03 09: 39: 18.688: ई / एसक्यूलाइट डाटाबेस (3063): दल्विक। सिस्टीम। नेटस्टार्ट.माइन (मूल विधि) 01-03 09: 39: 18.688: ई / सिस्टम (3063 ): फाइनलर द्वारा दिए गए अनचाहे अपवाद 01-03 09: 39: 18.688: ई / सिस्टम (3063): java.lang.IllegalStateException: डेटाबेस लॉक नहीं है! 01-03 09: 39: 18.688: ई / सिस्टम (3063): एंड्रॉइड डेटाबेस.sqlite.SQLiteDatabase.verifyLockOwner (SQLiteDatabase.java2090) 01-03 09: 39: 18.688: ई / सिस्टम (3063): पर android.database.sqlite.SQLiteDatabase $ 1.नंत्रित (SQLiteDatabase.java महीना 182) 01-03 09: 39: 18.688: ई / सिस्टम (3063): एंड्रॉइड डेटाबेस.sqlite.SQLiteDatabase $ 1.नंत्रित (SQLiteDatabase.java 21178) ) 01-03 09: 39: 18.688: ई / सिस्टम (3063): एंड्रॉइड.टिल.लुकाचे.ट्रिमटॉसिज़ (लारुकाचे.जावा 1 9 7) 01-03 09: 39: 18.688: ई / सिस्टम (3063): एंड्रॉइड पर .atil.LruCache.evictAll (LruCache.java। 281) 01-03 09: 39: 18.688: ई / सिस्टम (3063): एंड्रॉइड डेटाबेस.sqlite.SQLiteDatabase.deallocCachedSqlStatements (SQLiteDatabase.java, 14143) 01-03 09 : 39: 18.688: ई / सिस्टम (3063): android.database.sqlite.SQLiteDatabase.closeClosable पर (SQLiteDatabase.java.1126) 01-03 09: 39: 18.688: ई / सिस्टम (3063): android.database पर sqlite.SQLiteDatabase.finalize (SQLiteDatabase.java1914) 01-03 09: 39: 18.688: ई / सिस्टम (3063): java.lang पर। डेमन्स $ फ़ाइनलाइज़र डैमन.डोफिनलाइज़ करें (डेमन्स.जावा 182 ) 01-03 09: 39: 18.688: ई / सिस्टम (3063): java.lang पर। डेमन्स $ फ़ाइनलाइज़र डैमन.रन (डेमनस। Java:168) 01-03 09: 39: 18.688: ई / सिस्टम (3063): java.lang.Thread.run पर (थ्रेड.जावा: 856)

कनेक्शन को बंद करने के लिए कोड:

@Override public void onTerminate() { // TODO Auto-generated method stub super.onTerminate(); snail_mail_db.close(); snail_mail_database_helper_obj.close(); } 

Solutions Collecting From Web of "हरे रंग की डीएओ का उपयोग करके डेटा बेस के सभी खुले कनेक्शनों को कैसे जानें?"

आपको यह अपवाद मिल रहा है "एप्लिकेशन ने कर्सर या डेटाबेस ऑब्जेक्ट को बंद नहीं किया था जो कि यहां खोला गया था" क्योंकि जब आप कनेक्शन opene करते हैं, तो आपको उस कर्सर को बंद करने की आवश्यकता होती है जब आपका ऑपरेशन किया जाता है उपयोग db.close (); किसी भी आपरेशन के पूरा होने के बाद

मैं अनुप्रयोग कक्षा (TheApp) के रूप में विस्तार और वहाँ खुला और डेटाबेस कनेक्शन बंद वहाँ। तब मेरी सारी गतिविधियां डीबी को theApp.getInstance().daoSession() से प्राप्त कर theApp.getInstance().daoSession() जब बिना गतिविधि को रोकता है या समाप्त होता है, एंड्रॉइड ऐप को समाप्त करेगा, जो आखिरी गतिविधि समाप्त होने पर डीबी कनेक्शन को बंद कर देगा।