پشتیبان گیری از داده ها در برنامه نویسی اندروید

4 سال پیش

پشتیبان گیری از داده ها در برنامه نویسی اندروید

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد پشتیبان گیری از داده ها در برنامه نویسی اندروید (android data backup) صحبت خواهیم کرد.

 

اندروید به شما امکان می دهد از داده های برنامه خود در حافظه ذخیره سازی “cloud” از راه دور پشتیبانگیری کنید، تا بتوانید یک نقطه بازیابی برای داده ها و تنظیمات برنامه فراهم کنید. فقط می توانید از اطلاعات برنامه خود پشتیبان تهیه کنید. برای دسترسی به داده های برنامه های دیگر، باید تلفن خود را روت کنید.

برای ایجاد یک برنامه پشتیبان گیری داده ها در برنامه نویسی اندروید، باید برنامه خود را با google service backup ثبت کنید. این در مثال توضیح داده شده است. پس از ثبت نام، باید کلید آن را در AndroidManifest.XML مشخص کنید.

<application
   android:allowBackup="true"
   android:backupAgent="MyBackupPlace">

   <meta-data 
      android:name="com.google.android.backup.api_key"
      android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" />
</application>

اندروید کلاس BackUpAgentHelper را برای مدیریت کلیه عملیات پشتیبان گیری از اطلاعات فراهم می کند. برای استفاده از این کلاس باید کلاس خود را با آن گسترش دهید. نحو آن در زیر آورده شده است:

public class MyBackUpPlace extends BackupAgentHelper {
}

داده های که می خواهید پشتیبان تهیه کنید به یکی از دو شکل زیر است.

  • داده ها SharedPrefrences باشد
  • یا داده ها می تواند File باشد.

اندرویداز هر دو نوع پشتیبان گیری در کلاسهای مربوط به SharedPreferencesBackupHelper و FileBackupHelper پشتیبانی می کند.

برای استفاده از SharedPerefernceBackupHelper ، باید شی خود را با نام File sharedPerefernces  ایجاد کنید. نحو آن در زیر آورده شده است :

static final String File_Name_Of_Prefrences = "myPrefrences";
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, File_Name_Of_Prefrences);

آخرین کاری که باید انجام دهید فراخوانی متد addHelper با مشخص کردن رشته کلید پشتیبان و شی helper است. نحو آن در زیر آورده شده است/

addHelper(PREFS_BACKUP_KEY, helper);

متد addHelper به طور خودکار یک کمکی به یک زیر مجموعه داده شده به تنظیمات پیکربندی اضافه می کند.

به غیر از این متدها، متدهای دیگری نیز در کلاس BackupAgentHelper تعریف شده است. آنها در زیر تعریف شده اند:

  • (onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState

مراحل پشتیبان گیری را بر روی هر یک از کنترل کننده های پیکربندی شده اعمال می کند.

  • (onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState

روند بازیابی را بر روی هر یک از کنترل کننده های پیکربندی شده اجرا می کند.

 

 

روش های کلاس SharedPreferencesBackUpHelper در زیر ذکر شده است:

  • (performBackup (ParcelFileDescriptor oldState، BackupDataOutput data، ParcelFileDescriptor newState

از گروه های SharedPreferences پیکربندی شده پشتیبان تهیه می کند

  • (restoreEntity(BackupDataInputStream data

یک entity را از  جریان داده بازیابی شده در SharedPreferences ذخیره می کند.

 

مثال

مثال زیر استفاده از کلاس BackupAgentHelper را برای ایجاد پشتیبان گیری از داده های برنامه شما نشان می دهد.

برای آزمایش این مثال، باید آن  را روی دستگاه واقعی یا شبیه ساز اجرا کنید.

شرح مراحل

۱ شما برای ایجاد یک برنامه Android از Android studio استفاده خواهید کرد و نام آن را به عنوان Backup در یک پکیج com.example.backup قرار می دهید.
۲ برنامه خود را با سرویس پشتیبان گیری Google ثبت کنید.
۳ AndroidManifest را تغییر دهید تا کلید لازم و اجزای دیگر مربوطه اضافه شود
۴ کلاس عامل پشتیبان را با نامی که در AndroidManifest.XML مشخص کرده اید، ایجاد کنید
۵ برنامه را اجرا کرده و نتایج را تأیید کنید

برنامه اندروید خود را با سرویس پشتیبان گیری گوگل ثبت کنید. برای انجام این کار، به این لینک مراجعه کنید. شما باید با شرایط خدمات (service) موافقت کنید، و سپس نام پکیج برنامه را وارد کنید. که در زیر نشان داده شده است:

سپس بر روی Register with android service backup کلیک کنید. این کلید  (key) شما را به همراه کد AndroidManifest برای کپی کردن به شما می دهد. فقط کلید را کپی کنید.

پس از کپی کردن  key، باید آن را در پرونده AndroidManifest.XML خود وارد کنید. کد آن در زیر آورده شده است:

<?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 مشخص کرده اید.

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);
   }
}

تست  backup agent

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

برنامه خود را بر روی یک Android system image نصب کنید

  • اگر از شبیه ساز استفاده می کنید، یک (AVD با Android 2.2 (API سطح ۸ ایجاد و استفاده کنید.
  • اگر از  موبایل استفاده می کنید،باید از دستگاه  Android 2.2 یا بالاتر استفاده کنید و Google Play را در آن نصب کنید.

از فعال بودن پشتیبان گیری اطلاعات اطمینان حاصل کنید

اگر از شبیه ساز استفاده می کنید، می توانید پشتیبان گیری را با دستور زیر از ابزارها / مسیر SDK خود فعال کنید:

adb shell bmgr enable true

در صورت استفاده از موبایل، تنظیمات سیستم را باز کنید ، حریم خصوصی را انتخاب کنید، سپس Back up my data و Automatic restore را فعال کنید.

انجام پشتیبان گیری

برای اهداف تست پشتیبان گیری، همچنین می توانید با دستور bmgr درخواست دهید:

adb shell bmgr backup your.package.name

با تایپ کردن دستور زیر، عملیات پشتیبان گیری را شروع کنید.

adb shell bmgr run

این کد Backup Manager را مجبور می کند همه درخواست های پشتیبان گیری را که در صف آن است انجام دهد.

برنامه خود را حذف کنید و دوباره نصب کنید

با دستور زیر برنامه را حذف کنید:

adb uninstall your.package.name

سپس برنامه را دوباره نصب کرده و نتایج را مشاهده کنید.

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید
  16. استایل و تم ها در برنامه نویسی اندروید
  17. اجزای سفارشی در برنامه نویسی اندروید
  18. کشیدن و رها کردن در برنامه نویسی اندروید
  19. نوتیفیکیشن ها در برنامه نویسی اندروید
  20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
  21. ارسال ایمیل در برنامه نویسی اندروید
  22. ارسال پیامک در برنامه نویسی اندروید
  23. تماس های تلفنی در برنامه نویسی اندروید
  24. انتشار برنامه اندروید
  25. آموزش Alert Dialog در برنامه نویسی اندروید
  26. انیمیشن در برنامه نویسی اندروید
  27. ضبط صدا در برنامه نویسی اندروید
  28. مدیریت صدا در برنامه نویسی اندروید
  29. آموزش Auto Complete در برنامه نویسی اندروید
  30. بهترین شیوه ها در برنامه نویسی اندروید
  31. بلوتوث در برنامه نویسی اندروید
  32. استفاده از دوربین در برنامه نویسی اندروید
  33. کلیپ بورد در برنامه نویسی اندروید
  34. فونت سفارشی در برنامه نویسی اندروید
1
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

یک دیدگاه

  • Armando
    3 سال پیش

    سایت شرط بندی معتبر ، سایت بازی انفجار
    ، سایت هات بت ، سایت شرط بندی hotbet ، آدرس جدید سایت هات بت ،آدرس بدون فیلتر، پیشبینی ورزشی
    ، hot-bet.live ، سایت شرط بندی دنیا جهانبخت