বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

আপনার ব্যাকআপ এজেন্ট লিখুন (রাইট)

আপনার ব্যাকআপ এজেন্ট তৈরী করার সহজ উপায় হচ্ছে র‌্যাপার ক্লাস BackupAgentHelper প্রসারিত করা। এই সাহায্যকারী ক্লাস তৈরী করাটা একটি সহহজ প্রক্রিয়া। পূর্ববতী ধাপের মেনিফেস্টে (এই উদাহরনে, TheBackupAgent ) ব্যবহার করার মতো করে একটি নাম দিয়ে শুধু ক্লাস তৈরী করুন, এবং BackupAgentHelper প্রসারিত করুন। তারপর onCeate()ওভাররাইড করুন।

onCreate()পদ্ধতির মধ্যে একটি BackupHelper তৈরী করুন। নির্দিষ্ট কিছু ডাটার ব্যাকআপ করতে এই হেল্পারসগুলো বিশেষ ক্লাস। অ্যান্ড্রয়েড ফ্রেমওয়ার্ক বর্তমানে এই রকম দুইটা ক্লাস অন্তর্ভুক্ত করে: BackupAgentHelper এবং SharedPreferencesBackupHelper । আপনি হেল্পার তৈরী করার পর এবং আপনি যে ডাটা ব্যাকআপ করতে চান তার প্রতি নির্দেশ করার পর, addHelper()পদ্ধতি ব্যবহার করে শুধু এটাকে ব্যাকআপ এজেন্ট হেল্পারে যুক্ত করে যুক্ত করে দিন, একটি কি যুক্ত করে দিন যা পরবর্তীতে ডাটা পূণরূদ্ধার করতে ব্যবহৃত হবে। অধিকাংশ ক্ষেত্রে সম্পূর্ণ বাস্তবায়ন সম্ভবত কোডের ১০ লাইন।

এখানে একটি উদাহরণ আছে যা একটি হাই স্কোর ফাইলকে ব্যবকআপ করে:

 import android.app.backup.BackupAgentHelper;
 import android.app.backup.FileBackupHelper;


 public class TheBackupAgent extends BackupAgentHelper {
    // The name of the SharedPreferences file
    static final String HIGH_SCORES_FILENAME = "scores";

    // A key to uniquely identify the set of backup data
    static final String FILES_BACKUP_KEY = "myfiles";

    // Allocate a helper and add it to the backup agent
    @Override
    void onCreate() {
        FileBackupHelper helper = new FileBackupHelper(this, HIGH_SCORES_FILENAME);
        addHelper(FILES_BACKUP_KEY, helper);
    }
}

নমনীয়তা যুক্ত করার জন্য, FileBackupHelper এর কনস্ট্রাক্টর ফাইলনেমের একটি ভেরিয়েবল নাম্বার নিতে পারে। আপনি শুধু একটি হাই স্কোর ফাইল এবং একটি গেম প্রগ্রেস ফাইল সহজে ব্যাকআপ রাখতে নীচের মতো করে শুধু একটি অতিরিক্ত প্যারামিটার যুক্ত করে দিতে পারেন:

    @Override
    void onCreate() {
        FileBackupHelper helper = new FileBackupHelper(this, HIGH_SCORES_FILENAME, PROGRESS_FILENAME);
        addHelper(FILES_BACKUP_KEY, helper);
    }

প্রিফারেন্সের ব্যাকআপ করা একইভাবে সহজ। একটি FileBackupHelper আপনি যেভাবে করেছেন ঠিক সেভাবেই একটি SharedPreferencesBackupHelper তৈরী করুন। এই ক্ষেত্রে, কনস্ট্রাকটরে ফাইলনেম যুক্ত করার বদলে আপনার অ্যাপলিকেশন দ্বারা ব্যবহৃত শেয়ার প্রিফারেন্স গ্রুপের নাম যুক্ত করুন। এখানে যদি একটি ফ্লাট ফাইলের বদলে হাই স্কোর প্রিফারেন্স বাস্তবায়ন করে তাহলে আপনার ব্যাকআপ এজেন্ট হেল্পার দেখতে কেমন হবে তার একটি উদাহরণ আছে:

import android.app.backup.BackupAgentHelper;
 import android.app.backup.SharedPreferencesBackupHelper;

 public class TheBackupAgent extends BackupAgentHelper {
     // The names of the SharedPreferences groups that the application maintains.  These
     // are the same strings that are passed to getSharedPreferences(String, int).
     static final String PREFS_DISPLAY = "displayprefs";
     static final String PREFS_SCORES = "highscores";

     // An arbitrary string used within the BackupAgentHelper implementation to
     // identify the SharedPreferencesBackupHelper's data.
     static final String MY_PREFS_BACKUP_KEY = "myprefs";

     // Simply allocate a helper and install it
     void onCreate() {
         SharedPreferencesBackupHelper helper =
                 new SharedPreferencesBackupHelper(this, PREFS_DISPLAY, PREFS_SCORES);
         addHelper(MY_PREFS_BACKUP_KEY, helper);
     }
 }

আপনার যত ইচ্ছা ততগুলো ব্যাকআপ হেল্পার ইনসটেন্স আপনার ব্যাকআপ এজেন্ট হেল্পারে যুক্ত করাতে পারবেন, কিন্তু মনে রাখবেন যে প্রতিটার মধ্যে মাত্র একটি আপনার প্রয়োজন হবে। একটি FileBackupHelper সকল ফাইলকে চালিত করতে পারে যা আপনার ব্যাকআপের প্রয়োজন, এবং একটি SharedPreferencesBackupHelper সকল শেয়ার প্রিফারেন্স গ্রুপকে চালিত করে যা আপনার ব্যাকআপ করা প্রয়োজন।