সমর্থন লাইব্রেরি বৈশিষ্ট্য নির্দেশিকা

দ্রষ্টব্য: Android 9.0 (API স্তর 28) প্রকাশের সাথে AndroidX নামে একটি সমর্থন লাইব্রেরির একটি নতুন সংস্করণ রয়েছে যা জেটপ্যাকের অংশ। অ্যান্ড্রয়েডএক্স লাইব্রেরিতে বিদ্যমান সমর্থন লাইব্রেরি রয়েছে এবং সর্বশেষ জেটপ্যাক উপাদানগুলিও রয়েছে৷

আপনি সমর্থন লাইব্রেরি ব্যবহার চালিয়ে যেতে পারেন. ঐতিহাসিক নিদর্শন (যার সংস্করণ 27 এবং তার আগের, এবং android.support.* ) Google Maven-এ উপলব্ধ থাকবে। যাইহোক, সমস্ত নতুন লাইব্রেরি উন্নয়ন AndroidX লাইব্রেরিতে ঘটবে।

আমরা সমস্ত নতুন প্রকল্পে AndroidX লাইব্রেরি ব্যবহার করার পরামর্শ দিই। আপনার বিদ্যমান প্রকল্পগুলিকে AndroidX এ স্থানান্তরিত করার বিষয়টিও বিবেচনা করা উচিত।

সাপোর্ট লাইব্রেরিগুলি অ্যাপ তৈরির জন্য মৌলিক অ্যাপের উপাদান, ইউজার ইন্টারফেস উইজেট, মিডিয়া হ্যান্ডলিং, টিভি অ্যাপ কম্পোনেন্ট পর্যন্ত বিস্তৃত ক্লাস প্রদান করে। অনেক শ্রেণী পশ্চাদপদ সামঞ্জস্যপূর্ণ বাস্তবায়ন, কিন্তু তাদের মধ্যে কিছু নিজস্ব অধিকারে নতুন বৈশিষ্ট্য।

এই দস্তাবেজটি সহায়তা লাইব্রেরিতে উপলব্ধ বৈশিষ্ট্যগুলির গুরুত্বপূর্ণ বিভাগগুলির একটি ওভারভিউ প্রদান করে, এবং আপনার অ্যাপ তৈরি করার সময় আপনার জানা উচিত এমন নির্দিষ্ট ক্লাসগুলি।

আপনার অ্যাপ ডেভেলপমেন্ট প্রোজেক্টে কীভাবে সাপোর্ট লাইব্রেরি কোড যোগ করবেন সে সম্পর্কে তথ্যের জন্য, সাপোর্ট লাইব্রেরি সেটআপ দেখুন। আপনার প্রকল্পে নির্দিষ্ট সমর্থন লাইব্রেরি প্যাকেজগুলি কীভাবে অন্তর্ভুক্ত করবেন সে সম্পর্কে তথ্যের জন্য, সাপোর্ট লাইব্রেরি প্যাকেজগুলি দেখুন।

অ্যাপের উপাদান

এই সমর্থন লাইব্রেরি ক্লাসগুলি গুরুত্বপূর্ণ, মূল প্ল্যাটফর্ম বৈশিষ্ট্যগুলির পিছনের-সামঞ্জস্যপূর্ণ বাস্তবায়ন প্রদান করে। এই প্রয়োগগুলি সাধারণত প্ল্যাটফর্মের আরও সাম্প্রতিক রিলিজে যুক্ত নতুন পদ্ধতি এবং বৈশিষ্ট্যগুলি পরিচালনা করতে ক্লাসের আগের সংস্করণগুলিকে প্রসারিত করে। এর মধ্যে কয়েকটি ক্লাস সম্পূর্ণ, ফ্রেমওয়ার্ক API-এর স্থির বাস্তবায়ন।

  • কার্যক্রম
    • ActivityCompat - সাম্প্রতিক, ক্রিয়াকলাপের মূল বৈশিষ্ট্যগুলির জন্য পিছনের-সামঞ্জস্যপূর্ণ বাস্তবায়ন অন্তর্ভুক্ত করে, যেমন রানটাইম অনুমতি এবং অ্যানিমেশন ট্রানজিশন।
    • FragmentActivity - Fragment এবং Loader API-এর সমর্থন লাইব্রেরি সংস্করণগুলি ব্যবহার করার জন্য ক্রিয়াকলাপের জন্য পশ্চাদমুখী-সামঞ্জস্যপূর্ণ বাস্তবায়ন প্রদান করে।
    • AppCompatActivity - আগের ডিভাইসগুলিতে উপাদান রঙের থিম, উইজেট টিন্টিং এবং অ্যাপ বার সমর্থন প্রদান করে। এই ক্লাসের ব্যবহারের জন্য আপনাকে সামঞ্জস্যপূর্ণ ভিজ্যুয়াল উপস্থাপনার জন্য Theme.AppCompat থিম ব্যবহার করতে হবে।
  • Fragment - ফ্রেমওয়ার্ক Fragment ক্লাসের একটি স্বতন্ত্র বাস্তবায়ন প্রদান করে। এই ক্লাসটি অবশ্যই FragmentActivity সাথে ব্যবহার করা উচিত।
  • ContextCompat - অনুমতি সমর্থন, ফাইল অ্যাক্সেস এবং রঙের তথ্য সহ Context ক্লাসের আরও সাম্প্রতিক প্রকাশগুলিতে প্রবর্তিত বৈশিষ্ট্যগুলির জন্য সমর্থন প্রদান করে।
  • IntentCompat - নির্দিষ্ট ক্রিয়াকলাপ নির্বাচন এবং শুরু করার পদ্ধতি সহ Intent ক্লাসের আরও সাম্প্রতিক প্রকাশগুলিতে প্রবর্তিত বৈশিষ্ট্যগুলির জন্য সমর্থন প্রদান করে।
  • Loader - ফ্রেমওয়ার্ক Loader ক্লাসের একটি স্ট্যাটিক বাস্তবায়ন প্রদান করে এবং এটি AsyncTaskLoader এবং CursorLoader সমর্থন ক্লাসের জন্য বেস ক্লাস।
  • Preference - এই শ্রেণী এবং এর উপ-শ্রেণীগুলি একটি পশ্চাদগামী-সামঞ্জস্যপূর্ণ উপায়ে অ্যাপ সেটিংস ব্যবহারকারী ইন্টারফেসের বাস্তবায়ন প্রদান করে।
  • ContentResolverCompat - ContentResolver ক্লাসের আরও সাম্প্রতিক রিলিজে প্রবর্তিত বৈশিষ্ট্যগুলির জন্য সমর্থন প্রদান করে, বিশেষ করে query() পদ্ধতি যা প্রগতিতে একটি প্রশ্ন বাতিল করার জন্য সমর্থন করে।

ব্যবহারকারী ইন্টারফেস

এই সমর্থন লাইব্রেরি ক্লাসগুলি মূল ব্যবহারকারী ইন্টারফেস উইজেট এবং আচরণের বাস্তবায়ন প্রদান করে এবং আপনাকে আগের ডিভাইসগুলিতে আরও আধুনিক অ্যাপ ইন্টারফেস তৈরি করতে সহায়তা করে। এই উইজেটগুলির মধ্যে কয়েকটি শুধুমাত্র সমর্থন লাইব্রেরির মাধ্যমে উপলব্ধ।

সাধারণ-উদ্দেশ্য লেআউট পাত্রে

এই সাপোর্ট ক্লাস ইউজার ইন্টারফেস কন্টেইনার প্রদান করে যা বিভিন্ন ডিজাইন ব্যবহারের ক্ষেত্রে অভিযোজিত হতে পারে।

  • RecyclerView - উচ্চ মেমরি খরচ এড়াতে একটি কৌশল ব্যবহার করে দীর্ঘ তালিকা প্রদর্শনের জন্য একটি বিন্যাস তৈরি করে। এই ক্লাসটি আপনাকে একটি বৃহত্তর ডেটা সেটে একটি সীমিত উইন্ডো ভিউ তৈরি করতে দেয়, এইভাবে তালিকা প্রদর্শন করার সময় প্রচুর পরিমাণে মেমরি ব্যবহার করা এড়িয়ে যায়। RecyclerView ব্যবহার সম্পর্কে আরও তথ্যের জন্য, Recycler View নির্দেশিকা দেখুন।
  • ViewPager - একটি লেআউট প্রদান করে যা ব্যবহারকারীকে ডেটার পৃষ্ঠাগুলির মাধ্যমে বাম এবং ডানদিকে ফ্লিপ করতে দেয়৷
  • GridLayout - একটি আয়তক্ষেত্রাকার গ্রিডে এর বাচ্চাদের সাথে একটি লেআউট প্রদান করে, সংলগ্ন কোষের নির্বিচারে স্প্যান এবং নমনীয় স্থান বন্টন সমর্থন করে। এই শ্রেণীটি Android 4.0 (API স্তর 14) এ প্রবর্তিত GridLayout শ্রেণীর একটি পশ্চাদগামী সামঞ্জস্যপূর্ণ সংস্করণ প্রদান করে।
  • PercentFrameLayout এবং PercentRelativeLayout - এমন লেআউটগুলি প্রদান করুন যা শতাংশ ভিত্তিক মাত্রা এবং মার্জিনগুলিকে এর চাইল্ড ভিউ এবং কন্টেন্টের জন্য সমর্থন করে৷

দ্রষ্টব্য: ViewPager , RecyclerView , PercentFrameLayout এবং PercentRelativeLayout ক্লাসগুলি শুধুমাত্র সাপোর্ট লাইব্রেরি থেকে পাওয়া যায়৷

বিশেষ-উদ্দেশ্য লেআউট পাত্রে

এই সমর্থন ক্লাসগুলি নির্দিষ্ট লেআউট প্যাটার্নগুলির সামঞ্জস্যপূর্ণ বাস্তবায়ন প্রদান করে, যেমন ড্রয়ারের দৃশ্য যা স্ক্রিনের প্রান্ত থেকে টেনে আনা যায়, স্লাইডিং প্যানেল এবং তালিকার মধ্যে নেস্টিং তালিকা।

  • DrawerLayout - একটি লেআউট তৈরি করে যা ভিউ উইন্ডোর প্রান্ত থেকে ইন্টারেক্টিভ ড্রয়ারের দৃশ্যগুলিকে বের করার অনুমতি দেয়।
  • SlidingPaneLayout - লেআউট তৈরি করার জন্য একটি অ্যাপ ইউজার ইন্টারফেসের উপরের স্তরে ব্যবহারের জন্য একটি অনুভূমিক, মাল্টি-পেন লেআউট প্রদান করে যা বিভিন্ন স্ক্রীনের আকার জুড়ে মসৃণভাবে মানিয়ে নিতে পারে, বড় স্ক্রীনে প্রসারিত হতে পারে এবং ছোট স্ক্রিনে ফিট করার জন্য ভেঙে পড়তে পারে।
  • NestedScrollView - একটি স্ক্রলিং বিন্যাস যা অন্যান্য স্ক্রলিং দৃশ্যের নেস্টিংকে সমর্থন করে, আপনাকে একটি অতিরিক্ত, চাইল্ড তালিকা ধারণকারী আইটেম সহ তালিকা তৈরি করতে দেয়। এই নেস্টেড তালিকায় এমন আইটেম থাকতে পারে যা অনুভূমিকভাবে বা উল্লম্বভাবে স্ক্রোল করে, প্যারেন্ট তালিকা থেকে আলাদা।
  • SwipeRefreshLayout - আঙুলের সোয়াইপ ইঙ্গিত দিয়ে তালিকা বা অন্যান্য লেআউটের জন্য রিফ্রেশিং ডেটা সমর্থন করার জন্য একটি লেআউট প্রদান করে।

ভিউ, ডায়ালগ এবং উইজেট

সাপোর্ট লাইব্রেরিগুলি বিষয়বস্তু প্রদর্শনের জন্য এবং একটি বিন্যাসে ব্যবহারকারীর মিথস্ক্রিয়া উপাদান প্রদানের জন্য বেশ কয়েকটি ক্লাস প্রদান করে।

  • CardView - মেটেরিয়াল ডিজাইন স্টাইলের ডিসপ্লে কার্ড তৈরি করার জন্য একটি সমর্থন লাইব্রেরি কাস্টম ক্লাস। এই ক্লাসটি বৃত্তাকার কোণ এবং একটি ড্রপ শ্যাডো সহ ফ্রেমলেআউটের উপর ভিত্তি করে।
  • AppCompatDialogFragment - DialogFragment প্রসারিত করে এবং AppCompatDialog ব্যবহার করে একটি ধারাবাহিকভাবে স্টাইল করা ডায়ালগ প্রদান করে।
  • NotificationCompat - একটি পশ্চাদগামী সামঞ্জস্যপূর্ণ উপায়ে নতুন বিজ্ঞপ্তি শৈলীর জন্য সমর্থন প্রদান করে।
  • SearchView - ব্যবহারকারীকে একটি অনুসন্ধান ক্যোয়ারী লিখতে এবং একটি অনুসন্ধান প্রদানকারীর কাছে একটি অনুরোধ জমা দেওয়ার জন্য একটি ক্লাস প্রদান করে, যা প্রাথমিকভাবে একটি অ্যাপ বারে ব্যবহারের উদ্দেশ্যে করা হয়৷

মেটেরিয়াল ডিজাইন

সাপোর্ট লাইব্রেরিগুলি মেটেরিয়াল ডিজাইন ইউজার ইন্টারফেস সুপারিশ বাস্তবায়নের জন্য বেশ কয়েকটি ক্লাস প্রদান করে।

  • CoordinatorLayout - উপাদান ডিজাইন উপাদান এবং আচরণ অন্তর্ভুক্ত লেআউটগুলির জন্য একটি শীর্ষ-স্তরের ধারক সরবরাহ করে। এই ক্লাসটি এক বা একাধিক শিশুর দৃষ্টিভঙ্গির সাথে নির্দিষ্ট মিথস্ক্রিয়া করার জন্য একটি ধারক হিসাবেও ব্যবহার করা যেতে পারে।
  • AppBarLayout - মেটেরিয়াল ডিজাইনের অ্যাপ বার ধারণার অনেক স্ক্রোলিং বৈশিষ্ট্যের একটি বাস্তবায়ন প্রদান করে।
  • FloatingActionButton - একটি বিশেষ ধরনের প্রচারিত ক্রিয়া প্রদর্শনের জন্য ফ্লোটিং বোতাম তৈরি করে। এই মেটেরিয়াল ডিজাইন ইউজার ইন্টারফেস উপাদানটি অ্যাপ ইউজার ইন্টারফেসের উপরে ভাসমান একটি বৃত্তাকার আইকন হিসাবে দেখানো হয়েছে। আরও তথ্যের জন্য, একটি ফ্লোটিং অ্যাকশন বোতাম যুক্ত করুন দেখুন।
  • DrawerLayout - একটি নেভিগেশন ড্রয়ার তৈরি করে—একটি UI প্যানেল যা আপনার অ্যাপের প্রধান নেভিগেশন মেনু দেখায়। এটি প্রদর্শিত হয় যখন ব্যবহারকারী স্ক্রিনের বাম প্রান্ত থেকে একটি আঙুল সোয়াইপ করেন বা অ্যাপ বারে ড্রয়ার আইকনে ট্যাপ করেন। আরও তথ্যের জন্য, একটি নেভিগেশন ড্রয়ার তৈরি করুন দেখুন।
  • TabLayout - ট্যাবযুক্ত পৃষ্ঠাগুলি প্রদর্শনের জন্য একটি বিন্যাস প্রদান করে। এই উইজেটটি ViewPager ক্লাসের সাথে ব্যবহারের জন্য ডিজাইন করা হয়েছে।
  • Snackbar - স্ন্যাকবার পপ-আপ ব্যবহার করে একটি অপারেশন সম্পর্কে হালকা প্রতিক্রিয়া প্রদর্শনের জন্য একটি উইজেট প্রদান করে।

গ্রাফিক্স

android.support.graphics.drawable প্যাকেজ ভেক্টর ড্রয়েবলের জন্য সমর্থন প্রদান করে। ভেক্টর অঙ্কনযোগ্য ব্যবহার করে, আপনি XML-এ সংজ্ঞায়িত একক ভেক্টর গ্রাফিক দিয়ে একাধিক PNG সম্পদ প্রতিস্থাপন করতে পারেন।

VectorDrawableCompat API স্তর 9 এবং তার উপরে ভেক্টর ড্রয়েবলের জন্য সমর্থন প্রদান করে। AnimatedVectorDrawableCompat API স্তর 11 এবং তার উপরে অ্যানিমেটেড ভেক্টর ড্রয়েবলের জন্য সমর্থন প্রদান করে।

অ্যাক্সেসযোগ্যতা

android.support.v4.view.accessibility প্যাকেজ API স্তর 14 এবং পরবর্তীতে চালু হওয়া অ্যাক্সেসিবিলিটি বৈশিষ্ট্যগুলি বাস্তবায়নের জন্য সামঞ্জস্যপূর্ণ ক্লাস সরবরাহ করে, যা অ্যাক্সেসিবিলিটি পরিষেবাগুলিকে স্ক্রিনে প্রদর্শিত আইটেমগুলির সাথে ব্যবহারকারীর মিথস্ক্রিয়া পর্যবেক্ষণ এবং সনাক্ত করতে দেয়।

  • ExploreByTouchHelper - একটি কাস্টম ভিউতে অ্যাক্সেসিবিলিটি সমর্থন প্রদান করে যা ভিউ-এর মতো লজিক্যাল আইটেমগুলির একটি সংগ্রহকে প্রতিনিধিত্ব করে।

মিডিয়া প্লেব্যাক

অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি অ্যান্ড্রয়েড 4.1 (এপিআই লেভেল 16) এর আগে প্ল্যাটফর্মের সংস্করণগুলি চলমান ডিভাইসগুলিতে মিডিয়া রাউটার কার্যকারিতার একটি ব্যাকপোর্ট সরবরাহ করে। এই ক্লাসগুলি সংযুক্ত Android ডিভাইসগুলিতে মিডিয়া প্লেব্যাকের নিয়ন্ত্রণের অনুমতি দেয়:

  • MediaRouter - বর্তমান ডিভাইস থেকে বাহ্যিক স্পিকার এবং গন্তব্য ডিভাইসে মিডিয়া চ্যানেল এবং স্ট্রিমগুলির রাউটিং নিয়ন্ত্রণ করতে অ্যাপ্লিকেশনগুলিকে সক্ষম করে৷
  • MediaControllerCompat - একটি অ্যাপকে চলমান মিডিয়া সেশনের সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেয়। অ্যাপগুলি এই পদ্ধতির মাধ্যমে মিডিয়া কন্ট্রোল বোতাম প্রদান করতে পারে এবং সেশনে অন্যান্য প্লেব্যাক কমান্ড পাঠাতে পারে।
  • MediaSessionCompat - মিডিয়া প্লেব্যাকের জন্য একটি রিমোট কন্ট্রোল ইন্টারফেস প্রদান করে, মিডিয়া কন্ট্রোলার, ভলিউম কী, মিডিয়া বোতাম এবং অন্যান্য অ্যাপে বা পৃথক ডিভাইসে পরিবহন নিয়ন্ত্রণের সাথে মিথস্ক্রিয়া সক্ষম করে।

টিভি অ্যাপস

Android SDK লাইব্রেরিগুলিকে সাহায্য করে ফর্ম ফ্যাক্টরগুলি যেমন বড় স্ক্রীন এবং তাদের সম্পর্কিত কন্ট্রোলারগুলিকে সমর্থন করার জন্য৷ একটি অ্যাপ বিস্তৃত প্ল্যাটফর্ম সংস্করণ জুড়ে কার্যকারিতা প্রদানের জন্য উপযুক্ত সমর্থন লাইব্রেরির উপর নির্ভর করতে পারে এবং বহিরাগত স্ক্রীন, স্পিকার এবং অন্যান্য গন্তব্য ডিভাইসে সামগ্রী সরবরাহ করতে পারে।

Apps পরিধান

অ্যান্ড্রয়েড SDK ঘড়ি সমর্থন করার জন্য লাইব্রেরি প্রদান করে। এই লাইব্রেরিগুলি এমন অ্যাপগুলির কার্যকারিতা প্রদান করে যা ব্যবহারকারীরা যখনই ঘড়ি পরে থাকে তখন তাদের কাছে উপলব্ধ থাকে৷

ইউটিলিটিস

অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি অনেকগুলি বৈশিষ্ট্য অফার করে যা ফ্রেমওয়ার্কের মধ্যে তৈরি করা হয়নি৷ এই লাইব্রেরিগুলো বিভিন্ন ধরনের ইউটিলিটি অফার করে যা অ্যাপ ব্যবহার করতে পারে।