میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

Backup گیری از داده ها در اندروید

سرویس backup گیری اندروید به توسعه دهنده این امکان را می دهد تا داده های ماندگار اپلیکیشن را در حافظه ی راه دور cloud ذخیره نماید. بدین وسیله زمانی که کاربر دستگاه اندروید خود را عوض می کند یا اپلیکیشنی را مجددا نصب می نماید و یا factory reset گوشی را فعال می کند، داده های اپلیکیشن و اطلاعات مربوط به تنظیمات همگی به راحتی قابل بازگردانی خواهد بود.

البته تمامی دستگاه های اندروید لزوما قابلیت data backup را ندارند. همچنین حافظه ی cloud ممکن است از جانب تولید کننده ی دستگاه مورد نظر به صورت اختصاصی تنظیم شده باشد. از این رو تیم توسعه ی محیط اندروید به هیچ وجه امنیت و سلامت کامل داده ها را به هنگام backup و بازگردانی تضمین نمی کند. چنانچه سرویس در دستگاه مد نظر موجود نباشد، متعاقبا سرویس backup فراخوانی نمی شود. از این رو بهتر است ابتدا سرویس را پیاده سازی نموده و سپس آن را بر روی دستگاه دلخواه اجرا نمایید.

برای استفاده از سرویس backup گیری، ابتدا لازم است اسم پکیج اپلیکیشن خود را در آدرس اینترنتی  https://developer.android.com/google/backup/signup.html ثبت نمایید. پس از معرفی کردن اسم پکیج اپلیکیشن خود، این سایت یک کلید backup در اختیار شما قرار می دهد که برای تهیه ی نسخه ی پشتیبان از داده های اپلیکیشن مورد نظر در آینده از آن استفاده خواهید نمود.

 


تهیه ی نسخه ی پشتیبان از ( shared preferences داده های کوچک همچون اطلاعات مربوط به تنظیمات اپلیکیشن) و فایل ها

برای ذخیره ی دائمی داده ها و بازگردانی آن ها، ابتدا یک کلاس تعریف کنید که توابع و فیلدهای کلاس BackupAgent را به ارث می برد.

ساده ترین راه برای پیاده سازی backup استفاده از SharedPreferencesBackupHelper ویژه ی backup گیری از داده های کوچک همچون اطلاعات مربوط به تنظیمات اپلیکیشن و استفاده از FileBackupHelper ویژه ی تهیه ی نسخه ی پشتیبان از داده های مستقر در حافظه ی داخلی سیستم می باشد. دو کلاس کمکی ( )helper نام برده به صورت خودکار تمامی فایل های ثبت شده را ذخیره کرده و بازگردانی می نماید.

 


تهیه ی Backup  کلی

به منظور تهیه ی backup پیچیده و کلی تر، می توانید خود کلاس BackupAgent و متدهای restore/ save آن را به صورت مستقیم پیاده سازی نمایید. برای مطالعه ی جزئیات بیشتر میت وانید به آدرس http://developer.android.com/guide/topics/data/backup.html  مراجعه نمایید.

 


تمرین: پیاده سازی backup گیری از داده های مربوط به تنظیمات اپلیکیشن

اپلیکیشنی که کد آن را در زیر مشاهده می کنید از پکیج com.vogella.android.databackup در بالای فایل XML استفاده می کند. این پکیج در گوگل سرویس ثبت شده است.
به AndroidManifest.xml در فایل تنظیمات اپلیکیشن registration key وBackup agenda صورت زیر درج می شود.

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vogella.android.databackup"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:backupAgent="MyBackupAgent"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.vogella.android.databackup.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.backup.api_key"
android:value="AEdPqrEAAAAI4SfiyaQncNamIUH0NboU3tzOjXGztXLv2LZkEw" />
</application>
</manifest>

Backup agent مربوطه را می توان به صورت زیر پیاده سازی کرد.

 

package com.vogella.android.databackup;
import android.app.backup.BackupAgentHelper;
import android.app.backup.SharedPreferencesBackupHelper;
public class MyBackupAgent extends BackupAgentHelper {
// The name of the SharedPreferences file
static final String PREFS = "myprefs";
// A key to uniquely identify the set of backup data
static final String PREFS_BACKUP_KEY = "myprefs";
@Override
public void onCreate() {
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(
this, PREFS);
addHelper(PREFS_BACKUP_KEY, helper);
}
}

راه اندازی و فعال کردن پروسه های backup و restore (بازگردانی داده ها)

Backup manager پیاده سازی شده، به صورت اتوماتیک و بدون دخالت و تعامل کاربر shared preferences و تنظیمات دلخواه ثبت شده کاربر را به طور دائمی ذخیره نموده و بازگردانی می نماید. کافی است shared preferences را تحت فایلی که اپلیکیشن خود را با نام آن ثبت کردید، تغییر داده و ذخیره نمایید.
چنانچه مایلید عملیات ذخیره و بازگردانی داده ها را از طریق پنجره ی فرمان adb shell command تست نمایید، در آن صورت می توانید دستورات زیر را به کار ببرید.

 

# Trigger a backup, usage:
# adb shell bmgr backup <package>
# schedule backup
adb shell bmgr backup com.vogella.android.databackup
# ensure scheduled backup run
adb shell bmgr run
# to restore you backup use bmgr restore
adb shell bmgr restore com.vogella.android.databackup

 

 


امیدواریم آموزش سرویس های اختصاصی در اندروید نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟