SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

एंड्रॉइड बैकअप के बाद स्क्लाइट डेटाबेस को कैसे पुनर्स्थापित करें

यह एक कार्यशील DB पुनर्स्थापना का मूल कोड है (if (dbfile . से) .. try . में )।

            private static final int BUFFERSZ = 32768;
            private byte[] buffer = new byte[BUFFERSZ];
            ........
            dbfile = new File(currentdbfilename);
            .......
            if (dbfile.delete()) {
                origdeleted = true;
            }

            FileInputStream bkp = new FileInputStream(backupfilename);
            OutputStream restore = new FileOutputStream(currentdbfilename);
            copylength = 0;
            while ((copylength = bkp.read(buffer)) > 0) {
                restore.write(buffer, 0, copylength);
            }
            restore.flush();
            restore.close();
            restoredone = true;
            bkp.close();

मुख्य अंतर यह है कि मैं डीबी फाइल को हटा देता हूं और ट्रांसफर के बजाय राइट्स का उपयोग करता हूं। बाद में और एक सफल पुनर्स्थापना पर मैं ऐप को पुनरारंभ करने के लिए निम्नलिखित का भी उपयोग करता हूं (अधिक हो सकता है लेकिन यह मेरे लिए काम करता है) क्योंकि आप अप्रत्याशित परिणाम प्राप्त कर सकते हैं (मुझे लगता है कि मूल डेटाबेस के कुछ हिस्सों को मेमोरी/कैश्ड डेटा से एक्सेस किया जा सकता है):-

    Intent i = getBaseContext().getPackageManager()
                                            .getLaunchIntentForPackage( getBaseContext().getPackageName() );


    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    finish();
    startActivity(i);
    System.exit(0);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite में गणना () परिणामों से डुप्लिकेट निकालें

  2. एंड्रॉइड:स्क्लाइट त्रुटि - (1) शून्य के पास:वाक्यविन्यास त्रुटि

  3. SQLite में CHECK बाधाओं को सक्षम/अक्षम कैसे करें

  4. SQLite डेटाबेस को एक्सेल में बदलने के लिए एंड्रॉइड प्रोग्राम

  5. SQLite लोअर () कैसे काम करता है