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

মেনিফেস্টের মধ্যে প্রভাইডার ডিক্লেয়ার করা

আপনার অ্যাপ তার মেনিফেস্টের মধ্যে একটি প্রভাইডার ডিক্লেয়ার করেছে তা চেক করার মাধ্যমে সিঙ্ক অ্যাডাপটর ফ্রেমওয়ার্ক যাচাই করে যে আপনার অ্যাপের একটি কনটেন্ট প্রভাইডার আছে। মেনিফেস্টের মধ্যে স্টাব প্রভাইডার ডিক্লেয়ার করতে, একটি < provider> এলিমেন্ট যুক্ত করুন যার মধ্যে নি¤েœাক্ত গুণাগুনগলো রয়েছে:

android:name="com.example.android.datasync.provider.StubProvider"

ক্লাসের পূর্ন-যোগ্যতাসম্পন্ন নাম নির্দিষ্ট করে যা স্টাব কনটেন্ট প্রভাইডার বাস্তবায়ন করে।

android:authorities="com.example.android.datasync.provider"

একটি URI অথরিটি যা স্টাব কনটেন্ট প্রভাইডার চিহ্নিত করে। এই ভ্যালু কে আপনার অ্যাপের প্যাকেজ নাম করুন স্ট্রিং এর সাথে সংযোজন করা ".provider" দিয়ে। যদিও আপনি সিস্টেমে আপনার স্টাব প্রভাইডার ডিক্লেয়ার করছেন, প্রভাইডার নিজে ছাড়া আর কোন কিছুই প্রবেশ করতে চেষ্টা করে না।

android:exported="false"

অন্য অ্যাপসও কনটেন্ট প্রভাইডারে প্রবেশ করতে পারে কিনা তা নির্ধারণ করে। আপনার স্টাব কনটেন্ট প্রভাইডারের জন্য, false এ ভ্যালু সেট করুন, যেহেতু প্রভাইডার দেখার জন্য অন্য অ্যাপকে অনুমোদন করার কোন প্রয়োজন নেই। এই ভ্যালু সিঙ্ক অ্যাডাপটর এবং কনটেন্ট প্রভাইডারের মধ্যেকার মিথস্ক্রিয়ায় কোন প্রভাব ফেলে না।

android:syncable="true"

একটি ফ্ল্যাগ সেট করে যা নির্দেশ করে যে প্রভাইডার হচ্ছে সিঙ্ক করার যোগ্য। আপনি যদি এই ফ্ল্যাগ true এ সেট করেন, আপনার কোডে setIsSyncable()কল করার কোন প্রয়োজন নেই। ফ্ল্যাগটি সিঙ্ক অ্যাডাপটার ফ্রেমওয়ার্ক কে কনটেন্ট প্রভাইডার দিয়ে ডাটা স্থানান্তরিত করতে দেয়, কিন্তু ট্রান্সফার তখনই ঘটবে আপনি যদি সোজাসুজিভাবে তা করে থাকনে।

নিচের চিত্রটি আপনাকে দেখায় কীভাবে অ্যাপ মেনিফেস্টে < provider>এলিমেন্ট যুক্ত করা যায়:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.network.sync.BasicSyncAdapter"
    android:versionCode="1"
    android:versionName="1.0" >
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
    ...
    <provider
        android:name="com.example.android.datasync.provider.StubProvider"
        android:authorities="com.example.android.datasync.provider"
        android:export="false"
        android:syncable="true"/>
    ...
    </application>
</manifest>

এখন আপনি যে সিঙ্ক অ্যাডাপটার ফ্রেমওয়ার্ক দ্বারা কাঙ্খিত নির্ভরতা (dependencies) তৈরী করেছেন, আপনি উপাদান তৈরী করতে পারেন যা আপনার ডাটা ট্রান্সফার কোড পরিবেষ্টিত করে। এই উপাদানকে সিঙ্ক অ্যাডাপটার বলা হয়। পরবর্তী অনুশীলনী দেখাবে কীভাবে এই উপাদান আপনার অ্যাপে যুক্ত করা যায়।