मैं खोजने में असमर्थ हूं कि एंड्रॉइड SQLite डेटाबेस फ़ाइल के भीतर डेटाबेस संस्करण को कहां संग्रहीत करता है। डेटाबेस संस्करण को वास्तव में कहाँ संग्रहीत किया जाता है?
जवाबों:
आप संस्करण का उपयोग करके पढ़ सकते हैं android.database.sqlite.SQLiteDatabase.getVersion()
।
आंतरिक रूप से, यह विधि SQL कथन को निष्पादित करती है " PRAGMA user_version
"। मुझे वह Android स्रोत कोड से मिला है ।
डेटाबेस फ़ाइल में, संस्करण 'उपयोगकर्ता कुकी' के क्षेत्र में डेटाबेस फ़ाइल के डेटाबेस हेडर में बाइट ऑफसेट 60 पर संग्रहीत किया जाता है ।
अगर किसी को फ़ाइल से संस्करण पढ़ने के लिए जावा कोड की तलाश है:
private static int getDbVersionFromFile(File file) throws Exception
{
RandomAccessFile fp = new RandomAccessFile(file,"r");
fp.seek(60);
byte[] buff = new byte[4];
fp.read(buff, 0, 4);
return ByteBuffer.wrap(buff).getInt();
}