گرفتن backup از دیتابیس sqlite در اندروید

سلام در این سری از اموزش های دیتابیس در اندروید میخواهیم به گرفتن نسخه پشتیبان از دیتابیس بپردازیم.یکی از مهم ترین کارهایی که برای هر دیتابیسی لازم است گرفتن نسخه بکاپ از دیتابیس است که در این اموزش به طور کامل به ان پرداخته خواهد شد.
خب برای اینکار ما سه کار اصلی باید انجام دهیم که شامل export و  import و restore است.برای اینکار یک کلاس ایجاد میکنیم که همه این عملیات را انجام دهد.در اینجا نام این کلاس را DbExportImport قرار داده ایم:

خب ابتدا ما نام و مسیر دیتابیس پشتیبان خود را با در IMPORT_FILE مشخص کردیم.همینطور سه متغییر برای داشتن مسیر دیتابیس اصلی که در DATA_DIRECTORY_DATABASE طریقه استفاده از ان ها را میبینید.حالا به بررسی توابع میپردازیم:
exportDb:یک تابع با این نام ایجاد کردیم که وظیفه ایجاد دیتابیس پشتیبان را دارد و با کمی دقت متوجه عملیات های ان می شوید تنها نکته مهم ان تابع copyFile است که در ان استفاده شده است و وظیفه کپی دیتابیس را دارد در واقع از دیتابیس اصلی یک کپی به عنوان پشتیبان میگیرد.
restoreDb:این تابع وظیفه بازگردانی دیتابیس را از دیتابیس پشتیبان دارد همانطور که میبینید بعد از بررسی وجود فایل و و بررسی وجود نسخه پشتیبان با تابع checkDbIsValid که در اخر به ان می رسیم دیتابیس را با دیتابیس پشتیبان جایگزین میکند با استفاده از copyFile که در تابع قبلی هم برای کپی از ان استفاده کردیم.
importIntoDb:خب این تابع همانطور که از نامش پیداست برای وارد کردن فایل ها از نسخه پشتیبان است که با دستورات ان در مباحث sqlite اشنا شدیم.
checkDbIsValid:این تابع وظیفه بررسی دیتابیس را دارد که ایا دیتابیس معتبر است یا خیر.
copyFile:همانطور که قبل تر از ان استفاده کردیم این تابع عملیات کپی را انجام می دهد که بررسی دقیق ان از حوصله این بخش خارج است.
SdIsPresent:برای بررسی sd card از این تابع استفاده میکنیم.
حال که با بخش های مختلف این کلاس اشنا شدیم میتوانیم به راحتی از ان برای گرفتن بکاپ استفاده کنیم.
به پایان این اموزش رسیدیم امیدوارم  مفید بوده باشه
موفق باشید…
 

مطالعه بیشتر