با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. آندروید به شما اجازه می دهد از داده های برنامه خود، بوسیله ی ذخیره سازی “cloud” از راه دور نسخه ی پشتیبان تهیه کنید تا نقطه بازیابی داده ها و تنظیمات برنامه را برای بازیابی داده ها در صورت لزوم ایجاد کنید. شما فقط می توانید اطلاعات برنامه خود را پشتیبان گیری کنید. برای دسترسی به داده های برنامه های دیگر، شما نیاز به root تلفن همراه خود دارید. حالا برای آشنایی با چگونگی پشتیبان گیری داده ها در اندروید در ادامه ی مباحث این آموزش با ما همراه باشید.
در این مبحث ما شما را با ساختار و متدهای پشتیبان گیری داده ها در اندروید و همچنین یک مثال ساده در این زمینه آشنا می کنیم.
برای تهیه نسخه پشتیبان از داده ها، شما باید برنامه خود را با سرویس پشتیبان گوگل همانطور که در ادامه توضیح داده ایم، ثبت کنید.
پس از ثبت نام، شما باید کلید خود را در AndroidManifest.XML مشخص کنید:
1 2 3 4 5 6 7 8 | <application android:allowBackup="true" android:backupAgent="MyBackupPlace"> <meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" /> </application> |
آندروید کلاس BackUpAgentHelper را برای مدیریت تمام عملیات پشتیبان گیری داده ها فراهم می کند.
برای استفاده کلاس فوق، شما باید کلاس خود را با آن extend کنید. که ساختار آن به صورت زیر است:
1 2 | public class MyBackUpPlace extends BackupAgentHelper { } |
داده هایی که می خواهید از آن ها پشتیبان گیری کنید می تواند در یکی از دو فرم زیر باشد:
اندروید از هر دو نوع فوق در کلاس های SharedPreferencesBackupHelper و FileBackupHelper پشتیبانی می کند.
برای استفاده از SharedPerefernceBackupHelper، شما باید object خود را با نام فایل sharedPerefernces خود ایجاد کنید.
ساختار اینکار به صورت زیر است:
1 2 | static final String File_Name_Of_Prefrences = "myPrefrences"; SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, File_Name_Of_Prefrences); |
سپس باید متد addHelper را با مشخص کردن رشته کلید پشتیبان و شیء helper، فراخوانی کنید.
ساختار اینکار نیز به صورت زیر است:
1 | addHelper(PREFS_BACKUP_KEY, helper); |
متد addHelper به طور خودکار یک راهنما را به یک زیر مجموعه داده شده به پیکربندی عامل اضافه می کند.
به غیر از این متدها، متدهای دیگر تعریف شده در کلاس BackupAgentHelper وجود دارد، که به شرح زیر است:
ردیف | متد و توضیحات |
---|---|
۱ | onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) فرآیند backup را روی هر یک از handler های پیکربندی شده اعمال می کند. |
۲ | onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) فرآیند restore (بازیابی داده) را روی هر یک از handler های پیکربندی شده اعمال می کند. |
متدهای کلاس SharedPreferencesBackUpHelper به شرح زیر است:
ردیف | متد و توضیحات |
---|---|
۱ | performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) از SharedPreferences groups پیکربندی شده back up می گیرد. |
۲ | restoreEntity(BackupDataInputStream data) یک entity را از data stream بازیابی شده در SharedPreferences ذخیره می کند. |
مثال زیر چگونگی استفاده از کلاس BackupAgentHelper برای ایجاد نسخه پشتیبان از داده های برنامه شما را نشان می دهد.
شما می توانید این مثال را در دستگاه اندروید و یا شبیه ساز اندروید اجرا کنید.
مراحل انجام کار:
مراحل | توضیحات |
---|---|
۱ | مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.pvlearn.myapplication قرار بدهید. |
۲ | اپلیکیشن خود را با Google backup service ریجستر کنید. |
۳ | به محتوای فایل AndroidManifest کلیدها اجزای مورد نیاز را اضافه کنید. |
۴ | یک کلاس backup agent با نامی که در AndroidManifest.XML مشخص کرده اید ایجاد کنید. |
۵ | برنامه را اجرا کنید تا شبیه ساز اندروید نتیجه را نمایش دهد. |
برنامه آندروید خود را با خدمات backup service ثبت نام کنید.
برای ثبت نام به لینک ” https://developer.android.com/google/backup/signup.html ” مراجعه کنید.
شما باید شرایط Service را بپذیرید و سپس نام پکیج برنامه را همانطور که در زیر نشان داده شده وارد کنید:
سپس روی Register with android backup service کلیک کنید.
این کلید شما را همراه با کد AndroidManifest خود برای کپی می دهد.
فقط key را کپی کنید که در زیر مشخص شده است:
پس از کپی key سپس نیاز دارید که کد زیر را در فایل AndroidManifest.XML وارد کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | ?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.backup" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:backupAgent="MyBackUpPlace" android:theme="@style/AppTheme" > <activity android:name="com.example.backup.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="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" /> </application> </manifest> |
در اینجا کد کلاس BackUpAgentHelper است. نام کلاس باید همانطور که در برچسب backupAgent تحت برنامه در AndroidManifest.XML مشخص شده باشد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package com.example.backup; import android.app.backup.BackupAgentHelper; import android.app.backup.SharedPreferencesBackupHelper; public class MyBackUpPlace extends BackupAgentHelper { static final String File_Name_Of_Prefrences = "myPrefrences"; static final String PREFS_BACKUP_KEY = "backup"; @Override public void onCreate() { SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, File_Name_Of_Prefrences); addHelper(PREFS_BACKUP_KEY, helper); } } |
هنگامی که عامل پشتیبان خود را اجرا می کنید، می توانید نسخه پشتیبان تهیه و بازیابی را با متد زیر با استفاده از bmgr آزمایش کنید:
اگر با استفاده از شبیه ساز، AVD را با Android 2.2 ایجاد کنید (API Level 8).
اگر از یک دستگاه اندروید استفاده کنید، دستگاه باید دارای Android 2.2 یا بالاتر باشد و Google Play در آن نصب شود.
اگر از شبیه ساز استفاده می کنید، شما می توانید Backup را با دستور زیر از ابزار / مسیر SDK خود فعال کنید:
1 | adb shell bmgr enable true |
در صورت استفاده از یک دستگاه، تنظیمات سیستم را باز کرده حریم خصوصی را انتخاب کنید، سپس Back up my data و Automatic restore را فعال کنید.
برای اهداف تست backup، شما همچنین می توانید با دستور bmgr را درخواست خود را انجام دهید:
1 | adb shell bmgr backup your.package.name |
با تایپ کردن دستور زیر، عملیات پشتیبان را آغاز کنید:
1 | adb shell bmgr run |
این باعث می شود مدیر پشتیبان تمام درخواست های پشتیبان که در صف هستند را انجام دهد.
برنامه ی خود را استفاده از کد زیر تایپ کنید:
1 | adb uninstall your.package.name |
سپس اپلیکیشن خود را reinstall کرده و نتیجه را مشاهده کنید.
اندروید برای محافظت از داده های مهم و ضروری شما قابلیت مطمئن پشتیبان گیری داده ها در اندروید را به شما ارئه می دهد، با استفاده از این ویژگی همیشه سعی کنید از داده های مهم خود پشتیبان گیری کنید.
در بخش بعدی شما را با ابزارهای برنامه نویسی در اندروید آشنا خواهیم کرد.