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

বেজ সিঙ্ক অ্যাডাপটর ক্লাস AbstractThreadedSyncAdapter প্রসারিত করুন

সিঙ্ক অ্যাডাপ্টর উপাদান তৈরী করতে, AbstractThreadedSyncAdapter প্রসারিত করার এবং এর কনস্ট্রাক্টর লেখার মাধ্যমে শুরু করুন। স্ক্র্যাচ থেকে প্রতিবার আপনার সিঙ্ক অ্যাডাপ্টর উপাদান তৈরী হওয়ার সময় টাস্ক (কর্মকান্ড) সেটআপ করার সময় কনস্ট্রাকটর ব্যবহার করুন, যেভাবে একটি একটিভিটি সেটআপ করতে আপনি Activity.onCreate()ব্যবহার করেছেন ঠিক সেভাবে। উদাহরণস্বরূপ, যদি আপনার অ্যাপ ডাটা স্টোর করতে একটি কনটেন্ট প্রভাইডার ব্যবহার করে থাকে, একটি ContentResolver ইনসটেন্স পাওয়ার জন্য কনস্ট্রাক্টর ব্যবহার করুন। যেহেতু ঢ়ধৎধষষবষঝুহপং আর্গুমেন্ট সাপোর্ট করার জন্য অ্যান্ড্রয়েড প্লাটফর্ম সংস্করণ ৩.০ এর মধ্যে কনস্ট্রাক্টরের দ্বিতীয় ধরন (ফর্ম) যুক্ত করা হয়েচে, সর্ব ক্ষেত্রে উপযোগীতা জারি রাখতে আপনাকে কনস্ট্রাক্টরের দুইটা ধরণ (ফর্ম) তৈরী করতে হবে।

নোট: সিঙ্ক অ্যাডাপ্টর ফ্রেমওয়ার্ক সিঙ্ক অ্যাডাপ্টর উপাদানের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে যা হচ্ছে সিঙ্গেলটোন ইনসটন্সে। ইনসটেনসিয়েট করা সিঙ্ক অ্যাডাপটর উপাদান Bind the Sync Adapter to the Framework অধ্যায়ে আরও বিস্তারিতভাবে আলোচনায় এসেছে।

নীম্নোক্ত উদাহরণ আপনাকে দেখাবে কীভাবে AbstractThreadedSyncAdapter এবং এর কনস্ট্রাক্টর বাস্তবায়ন করতে হয়:

/**
 * Handle the transfer of data between a server and an
 * app, using the Android sync adapter framework.
 */
public class SyncAdapter extends AbstractThreadedSyncAdapter {
    ...
    // Global variables
    // Define a variable to contain a content resolver instance
    ContentResolver mContentResolver;
    /**
     * Set up the sync adapter
     */
    public SyncAdapter(Context context, boolean autoInitialize) {
        super(context, autoInitialize);
        /*
         * If your app uses a content resolver, get an instance of it
         * from the incoming Context
         */
        mContentResolver = context.getContentResolver();
    }
    ...
    /**
     * Set up the sync adapter. This form of the
     * constructor maintains compatibility with Android 3.0
     * and later platform versions
     */
    public SyncAdapter(
            Context context,
            boolean autoInitialize,
            boolean allowParallelSyncs) {
        super(context, autoInitialize, allowParallelSyncs);
        /*
         * If your app uses a content resolver, get an instance of it
         * from the incoming Context
         */
        mContentResolver = context.getContentResolver();
        ...
    }