SQLite ডাটাবেস ফাইলের মধ্যে অ্যান্ড্রয়েড যেখানে ডাটাবেস সংস্করণ সংরক্ষণ করে তা সন্ধান করতে আমি অক্ষম। ডাটাবেস সংস্করণটি ঠিক কোথায় সংরক্ষণ করা হয়?
উত্তর:
ব্যবহার করে আপনি সংস্করণটি পড়তে পারেন android.database.sqlite.SQLiteDatabase.getVersion()
।
অভ্যন্তরীণভাবে, এই পদ্ধতিটি এসকিউএল বিবৃতি " PRAGMA user_version
" কার্যকর করে। আমি এটি অ্যান্ড্রয়েড উত্স কোড থেকে পেয়েছি ।
ডাটাবেস ফাইলে, সংস্করণটি বাইট অফসেটে সংরক্ষণ করা হয় 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();
}