সাপোর্ট লাইব্রেরি রিভিশন আর্কাইভ

এই পৃষ্ঠায় পুরনো Support Library প্যাকেজ রিলিজের বিবরণ দেওয়া আছে। সবচেয়ে সাম্প্রতিক সাপোর্ট লাইব্রেরি রিলিজের জন্য, সাম্প্রতিক সাপোর্ট লাইব্রেরি রিভিশন দেখুন।

সংশোধন 26.0.0 বিটা ভার্সন ২

(জুন ২০১৭)

মনে রাখবেন, 26.0.0-beta2 হল প্রি-রিলিজ ভার্সন। এর API সারফেস পরিবর্তন করা যেতে পারে এবং এতে সাপোর্ট লাইব্রেরির লেটেস্ট স্থিতিশীল ভার্সনের ফিচার বা সমস্যার সমাধান অন্তর্ভুক্ত নাও থাকতে পারে।

গুরুত্বপূর্ণ: সাপোর্ট লাইব্রেরি এখন Google-এর Maven রিপোজিটরি থেকে উপলভ্য। আপনাকে SDK Manager থেকে support রেপোজিটরি ডাউনলোড করতে হবে না। আরও তথ্যের জন্য, সহায়তা লাইব্রেরি সেট-আপ দেখুন।

নতুন API

API ডিফারেন্স

সমস্যার সমাধান

  • Android O SDK ড্রপ করলে TextView-তে ইটালিক্স ফর্ম্যাটিং আর দেখা যায় না
  • MediaBrowserServiceCompat-এ কানেক্ট করার সময় নাল পয়েন্টার ব্যতিক্রম
  • TextInputLayout-কে onProvideAutofillStructure()-এ ইঙ্গিত সেট করতে হবে
  • O-তে TextView অটোসাইজ ব্যবহার করার সময় স্ট্যাক ওভারফ্লো

সংশোধন 26.0.0 বিটা 1

(মে ২০১৭)

মনে রাখবেন, 26.0.0-beta1 হল প্রি-রিলিজ ভার্সন। এর API সারফেস পরিবর্তন করা যেতে পারে এবং এতে সাপোর্ট লাইব্রেরির লেটেস্ট স্থিতিশীল ভার্সনের ফিচার বা সমস্যার সমাধান অন্তর্ভুক্ত নাও থাকতে পারে।

গুরুত্বপূর্ণ: সাপোর্ট লাইব্রেরি এখন Google-এর Maven রিপোজিটরি থেকে উপলভ্য। আপনাকে SDK Manager থেকে support রেপোজিটরি ডাউনলোড করতে হবে না। আরও তথ্যের জন্য, সহায়তা লাইব্রেরি সেট-আপ দেখুন।

গুরুত্বপূর্ণ পরিবর্তন

  • FragmentActivity.setSupportMediaController() এবং FragmentActivity.getSupportMediaController() সরিয়ে দেওয়া হয়েছে। নতুন স্ট্যাটিক MediaControllerCompat.setMediaController() ও MediaControllerCompat.getMediaController() পদ্ধতি ব্যবহার করুন।
  • BottomNavigationView এখন কল করে onNavigationItemReselected() আগে থেকেই বেছে নেওয়া আইটেম বেছে নিলে, onNavigationItemSelected()-কে কল করার পরিবর্তে।
  • findViewById() পদ্ধতির সব ইনস্ট্যান্স এখন View-এর পরিবর্তে <T extends View> T রিটার্ন করে। এই পরিবর্তনের নিম্নলিখিত প্রভাব পড়বে:
    • এর ফলে, আগে থেকে থাকা কোডে এখন অস্পষ্ট রিটার্ন টাইপ থাকতে পারে, যেমন, যদি someMethod(View) এবং someMethod(TextView) দুটিই থাকে যা findViewById()-এ কল করার ফলাফল নেয়।
    • Java 8 সোর্স ল্যাঙ্গুয়েজ ব্যবহার করার সময়, রিটার্ন টাইপ আনকনস্ট্রেন্ড হলে (যেমন, assertNotNull(findViewById(...)).someViewMethod())) এর জন্য স্পষ্ট কাস্ট প্রয়োজন হয়। View
    • ফাইনাল নয় এমন findViewById() পদ্ধতির ওভাররাইড (যেমন, Activity.findViewById()) রিটার্ন টাইপ আপডেট করতে হবে।

নতুন API

  • FragmentManager ও Fragment-এর কাছে isStateSaved() পদ্ধতি আছে যার মাধ্যমে কোয়েরি করে জানা যায় যে কোনও ট্রানজ্যাকশন স্টেট লস ছাড়াই অনুমোদিত হবে কিনা। এটি বিশেষ করে কোনও ট্রানজ্যাকশন এক্সিকিউট করার আগে onClick() ইভেন্ট হ্যান্ডেল করার সময় চেক করার জন্য উপযোগী।
  • AnimatedVectorDrawableCompat-এ পাথ মোশন কাজ করে। পাথ মোশন, কোনও একটি পাথ অনুযায়ী, কোনও অবজেক্ট অ্যানিমেটরকে একই সময়ে দুটি প্রপার্টি পরিবর্তন করতে দেয়; পাথটি অ্যানিমেটরের XML-এ android:pathData হিসেবে নির্দিষ্ট করা হয়)।
  • পদার্থবিদ্যা-ভিত্তিক অ্যানিমেশন:
    • নতুন FlingAnimation যা প্রাথমিক বেগ সহ অ্যানিমেট করতে পারে এবং ধীরে ধীরে গতি কমায়।
    • DynamicAnimation-এর সাবক্লাস যেকোনও অবজেক্টের জন্য কাস্টম প্রপার্টি অ্যানিমেট করতে পারে।
    • SpringAnimation ও FlingAnimation, দুটিই এখন View বা Object-এর সাথে যুক্ত না থেকেও ফ্লোট ভ্যালু অ্যানিমেট করতে পারে।

    আরও তথ্যের জন্য, স্প্রিং অ্যানিমেশন ও ফ্লিং অ্যানিমেশন প্রিভিউ পৃষ্ঠা দেখুন।

  • XML-এ ফন্ট কাজ করে:
    • ResourcesCompat.getFont ফন্ট-ফ্যামিলি XML সহ ফন্ট সম্পদ লোড করার অনুমতি দেয়—যা TextView.setTypeface()-এর সাথে ব্যবহার করা হতে পারে।
    • AppCompat ব্যবহার করার সময়, TextView, android:fontFamily XML অ্যাট্রিবিউট ব্যবহার করে ফন্ট রিসোর্স বা font-family XML নির্দিষ্ট করাকে সমর্থন করে।
    • স্টাইল ও ওয়েট ভেরিয়েশন সহ ফন্ট ফ্যামিলি তৈরি করতে XML ফন্ট-ফ্যামিলি ব্যবহার করুন। (এর জন্য আপনি সাপোর্ট লাইব্রেরি ক্লাস ব্যবহার করলে, app: অ্যাট্রিবিউট সহ android: অ্যাট্রিবিউটও ব্যবহার করুন। )
  • ডাউনলোড করা যায় এমন ফন্ট:
    • নতুন FontsContractCompat যা আপনাকে কোনও ফন্ট প্রদানকারীর থেকে ফন্ট অনুরোধ করার অনুমতি দেয়, আপনার অ্যাপে সেগুলি বান্ডেল করার পরিবর্তে।
    • XML-এ ফন্টের অনুরোধ করা যায় এবং লেআউটে ব্যবহার করা যায়।
  • ইমোজি মানানসই লাইব্রেরি:
    • EmojiCompat প্রদত্ত CharSequence প্রসেস করতে পারে এবং EmojiSpans যোগ করতে পারে।
    • ইমোজি দেখানোর জন্য EmojiTextView ও অন্যান্য উইজেট।
    • FontRequestEmojiCompatConfig-এ গিয়ে কোনও ফন্ট প্রদানকারীর থেকে ইমোজি ফন্ট পাওয়ার অনুরোধ করুন।
  • অটোসাইজিং TextView:
    • TextViewCompat-এ নতুন পদ্ধতি এবং TextView-এ অটোসাইজিং কন্ট্রোল করার জন্য XML অ্যাট্রিবিউট ।
  • সিক সাপোর্ট সহ লিনব্যাক প্লেব্যাক কন্ট্রোল:
    • নতুন PlaybackTransportRowPresenter যা SeekBar-এর মাধ্যমে প্লেব্যাক কন্ট্রোল রেন্ডার করে।
    • PlaybackTransportRowPresenter-এর সাথে কাজ করে এবং খোঁজার সুবিধা আছে এমন নতুন PlaybackTransportControlGlue।
    • অ্যাপের জন্য নতুন বেস ক্লাস PlaybackSeekDataProvider যা PlaybackTransportControlGlue-কে স্লাইড থাম্বনেল প্রদান করে।
  • পছন্দ সংক্রান্ত ডেটা স্টোর:
    • PreferenceDataStore এখন আপনাকে নিজের পছন্দ সংক্রান্ত স্টোরেজ প্রয়োগ করতে দেয়, যা Preference ও PreferenceManager-এ নতুন পদ্ধতি ব্যবহার করে সেট করা হয়।

পরিচিত সমস্যা

  • Google Play-এর সাথে ডাউনলোড করা যায় এমন ফন্ট ও ইমোজি মানানসই ইন্টিগ্রেশন শুধুমাত্র Google Play পরিষেবা v11+ ভার্সনে কাজ করে, যা বর্তমানে Google Play পরিষেবার বিটা প্রোগ্রামের মাধ্যমে উপলভ্য।

সমস্যার সমাধান

  • MediaBrowserCompat.search() API কাজ করে না (AOSP সমস্যা 262170)
  • ViewCompat.postInvalidateOnAnimation() throws exception (AOSP issue 80146)
  • onActivityCreated() ধ্বংস হয়ে যাওয়া অ্যাক্টিভিটিতে ফ্র্যাগমেন্টের জন্য কল করেছে
  • RecyclerView.isComputingLayout()-এর মান প্রিফেচ চলাকালীন 'সত্য' হতে হবে
  • Fade ট্রানজিশনে বাধা পড়লে এবং সেটি রিভার্স করা হলে, View অ্যানিমেশনটি প্রথম থেকে শুরু করে। (Fix ported from Android Framework.)
  • Transition.Fade View-এর প্রাথমিক আলফা ভার্সন উপেক্ষা করে (AOSP সংক্রান্ত সমস্যা 221820)

সংশোধন 26.0.0 আলফা ১

(মার্চ ২০১৭)

মনে রাখবেন, 26.0.0-alpha1 হল প্রি-রিলিজ ভার্সন। এর API সারফেস পরিবর্তন করা যেতে পারে এবং এতে সাপোর্ট লাইব্রেরির লেটেস্ট স্থিতিশীল ভার্সনের ফিচার বা সমস্যার সমাধান অন্তর্ভুক্ত নাও থাকতে পারে।

গুরুত্বপূর্ণ পরিবর্তন

মনে রাখবেন: ন্যূনতম SDK ভার্সন বাড়িয়ে ১৪ করা হয়েছে। এর ফলে, API < 14-এর সাথে মানানসই হওয়ার জন্য তৈরি করা অনেক API বন্ধ করে দেওয়া হয়েছে। এইসব API-এর ক্লায়েন্টদের প্রতিটি বাতিল করা API-এর রেফারেন্স পৃষ্ঠায় উল্লেখ করা তাদের ফ্রেমওয়ার্ক সমতুল্যে মাইগ্রেট করতে হবে।

  • support-percent মডিউলটি বাতিল করা হয়েছে। এই মডিউলের ক্লায়েন্টদের নতুন ConstraintLayout উইজেটে মাইগ্রেট করতে হবে, যা SDK Manager-এ আলাদা আর্টিফ্যাক্ট হিসেবে প্রদান করা হয়।
  • support-fragment মডিউলের আর support-media-compat মডিউলের উপর নির্ভরতা নেই।

নতুন API

O প্রিভিউতে যোগ করা প্ল্যাটফর্ম API-এর জন্য ব্যাকওয়ার্ড-কম্প্যাটিবল সহায়তা প্রদান করতে অনেক নতুন ক্লাস, পদ্ধতি ও কনস্ট্যান্ট যোগ করা হয়েছে।

  • IME_FLAG_NO_PERSONALIZED_LEARNING: IME, ব্রাউজারের মতো প্রাইভেট মোড আছে এমন অ্যাপের জন্য "লার্নিং নেই" ফ্ল্যাগ শুনতে পারে। এই ফিচারটি IME-কে বুঝতে সাহায্য করে যে কোনও অ্যাপ প্রাইভেট মোডে আছে কিনা, যাতে সেটি অ্যাপটি সেই মোডে থাকাকালীন তার শেখা বা অ্যাডাপ্টিভ ফাংশনালিটি বন্ধ করতে পারে।

25.2.0 এবং 26.0.0-alpha1-এর মধ্যে API-তে হওয়া পরিবর্তনের সম্পূর্ণ তালিকা দেখতে, সাপোর্ট লাইব্রেরি API-তে পার্থক্য সংক্রান্ত রিপোর্ট দেখুন।

সমস্যার সমাধান

  • কিছু ক্ষেত্রে, ভিউ "জাম্প" করার ফলে সাধারণ AutoTransition অ্যানিমেশনে বাধা পড়তে পারে। (AOSP সমস্যা 221816)

রিভিশন 25.4.0

(জুন ২০১৭)

গুরুত্বপূর্ণ: সাপোর্ট লাইব্রেরি এখন Google-এর Maven রিপোজিটরি থেকে উপলভ্য। আপনাকে SDK Manager থেকে support রেপোজিটরি ডাউনলোড করতে হবে না। আরও তথ্যের জন্য, সহায়তা লাইব্রেরি সেট-আপ দেখুন।

গুরুত্বপূর্ণ পরিবর্তন

  • executePendingTransactions(), commitNow(), popBackStackImmediate() এবং এই ধরনের ট্রানজ্যাকশন কল FragmentManager স্টেট পরিবর্তনের সময় করা যায় না। ট্রানজ্যাকশনের রি-এন্ট্রান্ট এক্সিকিউশন নিরাপদ নয় এবং FragmentManager এখন এটি স্টেট পরিবর্তনের সময় এনফোর্স করে।
  • এই সাপোর্ট লাইব্রেরি রিলিজের সাথে সাথে আমরা multidex ভার্সন 1.0.2-ও রিলিজ করছি। এই ভার্সনে নিম্নলিখিত গুরুত্বপূর্ণ পরিবর্তন করা হয়েছে:
    • ইনস্ট্রুমেন্টেশন APK-এর মাল্টিডেক্সিং করার অনুমতি দেয়।
    • MultiDexTestRunner বন্ধ করে দেওয়া হয়েছে (এর পরিবর্তে AndroidJUnitRunner ব্যবহার করা উচিত)।
    • কিছু খারাপ আর্কাইভ এক্সট্র্যাকশন অ্যাপ ম্যানেজমেন্টের বিরুদ্ধে আরও ভালো সুরক্ষা প্রদান করে।
    • অসম্পূর্ণ অস্থায়ী ফাইল তৈরি হতে পারে এমন একটি সমস্যার সমাধান করে।
    • একই সাথে প্রসেস করা হলে দ্রুত ইনস্টল করা যায়।
    • API 19 ও 20-এ ইনস্টলেশন সংক্রান্ত সমস্যার সমাধান করে।

নতুন ও পরিবর্তিত API

AnimatedVectorDrawableCompat-এ পাথ মর্ফিং ও পাথ ইন্টারপোলেশন কাজ করে। পাথ মর্ফিং জটিল ও আকর্ষণীয় ভিজ্যুয়াল ইফেক্ট প্রদান করার জন্য, একটি পাথ (যা android:valueFrom হিসেবে নির্দিষ্ট করা হয়েছে) থেকে অন্য পাথে (যা android:valueTo হিসেবে নির্দিষ্ট করা হয়েছে) পরিবর্তন করার অনুমতি দেয়। পাথ ইন্টারপোলেশন, AnimatedVectorDrawableCompat-এর ইন্টারপোলেটরকে পাথ হিসেবে নির্দিষ্ট করার অনুমতি দেয় (ইন্টারপোলেটরের XML-এ android:pathData হিসেবে নির্দিষ্ট করা হয়)।

API ডিফারেন্স

সমাধান করা সমস্যা

  • MediaBrowserServiceCompat-এ কানেক্ট করার সময় নাল পয়েন্টার ব্যতিক্রম
  • MediaBrowserCompat.search() API কাজ করে না (AOSP সমস্যা 262170)
  • 25.3.0 ভার্সনে BrowseFragment onItemClicked কলব্যাক কাজ করছে না
  • NullPointerException while scrolling up and down in VerticalGridView in 25.3.1
  • SimpleArrayMap.allocArrays()-এ ClassCastException

সংশোধন ২৫.৩.১

(মার্চ ২০১৭)

সমাধান করা সমস্যা

  • SwitchCompat-এর জন্য ১৪ বা তার পরের যেকোনও ভার্সনের ন্যূনতম SDK প্রয়োজন। (AOSP সমস্যা 251302)
  • পদার্থবিদ্যা-ভিত্তিক অ্যানিমেশন updateListener প্রথম ফ্রেমটি এড়িয়ে যায়।
  • BottomNavigationView লেবেল অ্যানিমেশন কাজ করছে না।

সংশোধন 25.3.0

(মার্চ ২০১৭)

গুরুত্বপূর্ণ পরিবর্তন

Gradle থেকে বিল্ড করার সময় সাপোর্ট লাইব্রেরি ভার্সন মেটাডেটা অটোমেটিক AndroidManifest.xml-এ যোগ করা হবে, যা পাবলিক বিল্ডে ভার্সন ট্র্যাক করা সহজ করে দেয়। যেমন:

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

অননুমোদিত

এই রিলিজে বেশ কিছু পদ্ধতি ও ক্লাস বন্ধ করে দেওয়া হয়েছে। ভবিষ্যতের কোনও ভার্সনে এইসব বন্ধ হয়ে যাওয়া API সরিয়ে দেওয়া হবে এবং ডেভেলপারদের এগুলি থেকে মাইগ্রেট করে নেওয়া উচিত। কোনও নির্দিষ্ট API থেকে কীভাবে মাইগ্রেট করবেন সেই বিষয়ে আরও তথ্য পেতে, এর ডকুমেন্টেশন দেখুন।

ExifInterface
বুলিয়ান মেথড getLatLong(float[]) বন্ধ করা হয়েছে। পরিবর্তে, নতুন পদ্ধতি getLatLong() ব্যবহার করুন, যেখানে কোনও আর্গুমেন্ট লাগে না এবং double[] রিটার্ন করে।
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) বন্ধ করে দেওয়া হয়েছে। পরিবর্তে, নতুন পদ্ধতি ব্যবহার করুন setErrorMessage(int, CharSequence), যেখানে একটি ত্রুটি কোড ও ঐচ্ছিক বিবরণ পাস করা হয়।
EXTRA_SUGGESTION_KEYWORDS আর ব্যবহার করা যাবে না। এর পরিবর্তে, MediaBrowserCompat সার্চ কার্যকারিতা ব্যবহার করুন।
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount()-এর নাম পরিবর্তন করে LinearLayoutManager.getInitialPrefetchItemCount() করা হয়েছে। পুরনো নাম এখনও কাজ করে, তবে ভবিষ্যতের কোনও রিলিজ থেকে এটি সরিয়ে দেওয়া হবে।

নতুন ও পরিবর্তিত API

appcompat-v7
নতুন পদ্ধতি ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) নেভিগেশন ড্রয়ার টগল আইকনের অ্যানিমেশন বন্ধ করার প্রক্রিয়াকে সহজ করে।
customtabs
মেসেজ চ্যানেলের জন্য সহায়তা যোগ করা হয়েছে। বিস্তারিত জানতে CustomTabsService.requestPostMessageChannel() এবং CustomTabsService.postMessage() রেফারেন্স দেখুন।
dynamic-animation
নতুন ফিজিক্স-ভিত্তিক অ্যানিমেশন লাইব্রেরি যা ব্যবহারকারীর ইনপুটের প্রতি ডাইনামিক পদ্ধতিতে প্রতিক্রিয়া দেখায় এমন অ্যানিমেশন তৈরি করার জন্য API-এর একটি সেট প্রদান করে।
leanback-v17
প্যারালাক্স ব্যাকগ্রাউন্ডের জন্য সহায়তা যোগ করা হয়েছে। বিস্তারিত জানতে Parallax রেফারেন্স দেখুন।
যোগ করা হয়েছে TimePicker টিভি ইন্টারফেসে সময় বেছে নেওয়ার জন্য উইজেট।
mediacompat
সার্চ করার সুবিধা যোগ করা হয়েছে। বিস্তারিত জানতে MediaBrowserCompat.search() এবং MediaBrowserServiceCompat.onSearch() রেফারেন্স দেখুন।
শাফেল ও রিপিট মোডের জন্য সহায়তা যোগ করা হয়েছে। বিস্তারিত জানতে MediaSessionCompat.setRepeatMode() এবং setShuffleModeEnabled() রেফারেন্স দেখুন।

সমাধান করা সমস্যা

রিভিশন 25.2.0

(ফেব্রুয়ারি ২০১৭)

গুরুত্বপূর্ণ পরিবর্তন

সমাধান করা সমস্যা

  • এই রিলিজটি একটি গুরুতর mediarouter সংক্রান্ত সমস্যার সমাধান করে, যেখানে A2DP ডিভাইস এবং মিডিয়া রাউটিং API ব্যবহার করলে ডিভাইসটি আর কাজ করতে পারে না, যার জন্য রিবুট করতে হয়।
  • FragmentManager.FragmentLifecycleCallbacks ক্লাসটি এখন স্ট্যাটিক।

সমাধান করা সমস্যা

  • স্ক্রিন মিররিংয়ের মাধ্যমে স্লাইড প্রেজেন্টেশন দেখালে ডিভাইস ওয়াই-ফাই থেকে ডিসকানেক্ট হয়ে যায়
  • setMediaButtonReceiver()-এর সাথে রেজিস্টার করেনি এমন মিডিয়া অ্যাপ মিডিয়া বোতাম সঠিকভাবে হ্যান্ডেল করতে পারেনি
  • VectorDrawable স্ট্রিং রিসোর্স সংক্রান্ত সমস্যা (AOSP সমস্যা 232407)
  • XML-এর মাধ্যমে টেক্সট সেট করা থাকলে TextInputLayoutওভারলে হিন্ট এবং টেক্সট (AOSP সমস্যা 230171)
  • MediaControllerCompat-এ মেমরি লিক (AOSP সমস্যা 231441)
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() ক্র্যাশ করা
  • RecyclerView রিসাইকেল করার সময় ক্র্যাশ করে ভিউ হোল্ডার (AOSP সমস্যা 225762)
  • getAllowGeneratedReplies() ভুলভাবে কোনও অ্যাকশনের জন্য false রিটার্ন করে WearableExtender

সংশোধন ২৫.১.১

(জানুয়ারি ২০১৭)

গুরুত্বপূর্ণ: সাপোর্ট লাইব্রেরির 25.1.1 এবং 25.1.0 রিভিশনে android.support.v7.media.MediaRouter ক্লাসে একটি পরিচিত বাগ আছে। আপনার অ্যাপ v7 MediaRouter ব্যবহার করলে, আপনাকে Support Library Revision 25.2.0-এ আপডেট করতে হবে, যা এই বাগটি ঠিক করে।

গুরুত্বপূর্ণ পরিবর্তন

  • ট্রানজ্যাকশনের মধ্যে ও একাধিক ট্রানজ্যাকশন জুড়ে এখন ফ্র্যাগমেন্ট ট্রানজ্যাকশন অপ্টিমাইজ করা যাবে। ফ্র্যাগমেন্ট ট্রানজ্যাকশন অপারেশন অপ্টিমাইজ করলে, বাতিল করা অপারেশনগুলি বাদ দেওয়া যেতে পারে। যেমন, ধরুন দুটি ট্রানজ্যাকশন একসাথে এক্সিকিউট করা হয়েছে, একটি ফ্র্যাগমেন্ট A যোগ করে এবং দ্বিতীয়টি ফ্র্যাগমেন্ট A-এর পরিবর্তে ফ্র্যাগমেন্ট B যোগ করে। এই ক্ষেত্রে, প্রথম অপারেশন বাতিল করা হতে পারে এবং শুধুমাত্র খণ্ড 'খ' যোগ করা হতে পারে। এর অর্থ হল যে fragment A তৈরি/ধ্বংসের লাইফসাইকেল নাও অনুসরণ করতে পারে।

    এই অপ্টিমাইজেশনের একটি পার্শ্বপ্রতিক্রিয়া হল যে ফ্র্যাগমেন্টের স্টেট প্রত্যাশিত ক্রমের বাইরে পরিবর্তিত হতে পারে। যেমন, ধরুন একটি ট্রানজ্যাকশন ফ্র্যাগমেন্ট A যোগ করে, দ্বিতীয়টি ফ্র্যাগমেন্ট B যোগ করে, তারপর তৃতীয়টি ফ্র্যাগমেন্ট A সরিয়ে দেয়। অপ্টিমাইজেশন না করা হলে, ফ্র্যাগমেন্ট B আশা করতে পারে যে এটি তৈরি হওয়ার সময় ফ্র্যাগমেন্ট A-ও থাকবে কারণ ফ্র্যাগমেন্ট B যোগ করার পরে ফ্র্যাগমেন্ট A সরিয়ে দেওয়া হবে। অপ্টিমাইজেশনের মাধ্যমে, খণ্ড 'খ' নিশ্চিত হতে পারে না যে খণ্ড 'ক' থাকবে যখন 'খ' তৈরি করা হচ্ছে, কারণ খণ্ড 'ক'-এর তৈরি ও ধ্বংস অপ্টিমাইজেশনের মাধ্যমে সরানো হতে পারে।

    এই অপ্টিমাইজেশন ডিফল্ট হিসেবে বন্ধ করা থাকে। অপ্টিমাইজেশন চালু করতে, FragmentTransaction.setAllowOptimization(true)-এ কল করুন।

  • Fragment.postponeEnterTransition() ও Fragment.startPostponedEnterTransition() ব্যবহার করে ফ্র্যাগমেন্ট এখন ট্রানজিশন ও অ্যানিমেশন রেডি না হওয়া পর্যন্ত সেগুলি পোস্টপোন করতে পারবে। এই API, অ্যাক্টিভিটি ট্রানজিশনের সাথে ব্যবহৃত Activity.postponeEnterTransition() ও Activity.startPostponedEnterTransition()-এর মতো।

সমাধান করা সমস্যা

  • MediaSessionCompatTest কাজ করে না, কারণ IllegalArgumentException
  • 25.1.0-এ DetailsFragment.installTitleView() কল করা হয় না
  • Fragment transaction keeps ghost view on exit (AOSP issue 230679)
  • BottomNavigationView আইটেম আইকন ও টেক্সটের মধ্যে স্পেস থাকতে হবে (AOSP সমস্যা 230653)
  • নতুন PlaybackFragment ও PlaybackSupportFragment-এ বেছে নেওয়া শ্রোতারা নেই
  • TextInputLayout সাপোর্ট লাইব্রেরি ভার্সন 25.1.0 (AOSP সমস্যা 230461) থেকে এমুলেটরে ফোকাস সঠিকভাবে পরিবর্তন হয় না
  • BottomNavigationView-এর মেনু পরিবর্তন করা যায় না (AOSP সমস্যা 230343)
  • RecyclerView StaggeredGridLayoutManager সহ ফুল-স্প্যান আইটেম সহ ক্র্যাশ (AOSP সমস্যা 230295)
  • setCallback(null) ব্যবহার করার সময় MediaSessionCompat-এ ক্র্যাশ হয়েছে
  • PlaybackGlueHostOld এবং PlaybackSupportGlueHostOld প্লেব্যাক রো পরিবর্তন হলে কলব্যাক সম্পর্কে বিজ্ঞপ্তি পাঠায় না
  • PlaybackOverlayFragment উদাহরণ /test চালানো যাবে না
  • API 15-এ RecyclerViewFocusRecoveryTest কাজ করছে না
  • স্ক্রিনের সবচেয়ে উপরে "স্ক্রিনশট" সারিতে ফোকাস করা হয়
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() API 15-এ ক্র্যাশ হয়
  • onSubactionClicked()-এ setActions() কাজ করছে না
  • RecyclerView কিছু ভিউ হোল্ডার রিসাইকেল করার সময় ক্র্যাশ করে

রিভিশন 25.1.0

(ডিসেম্বর ২০১৬)

গুরুত্বপূর্ণ: সাপোর্ট লাইব্রেরির 25.1.1 এবং 25.1.0 রিভিশনে android.support.v7.media.MediaRouter ক্লাসে একটি পরিচিত বাগ আছে। আপনার অ্যাপ v7 MediaRouter ব্যবহার করলে, আপনাকে Support Library Revision 25.2.0-এ আপডেট করতে হবে, যা এই বাগটি ঠিক করে।

গুরুত্বপূর্ণ পরিবর্তন

  • নেস্টেড RecyclerView উইজেটের ক্লায়েন্ট (যেমন, হরাইজন্টাল স্ক্রল করা তালিকার ভার্টিক্যাল স্ক্রল করা তালিকা) ইন্টার্নাল RecyclerView উইজেটের লেআউট ম্যানেজারকে কতগুলি আইটেম স্ক্রিনে স্ক্রল করার আগে প্রস্তুত করতে হবে তা জানিয়ে পারফর্ম্যান্সের ক্ষেত্রে উল্লেখযোগ্য সুবিধা পেতে পারে। কল LinearLayoutManager.setInitialPrefetchItemCount(N), যেখানে N হল প্রতিটি আইটেমের মধ্যে দৃশ্যমান ভিউয়ের সংখ্যা। যেমন, আপনার ভেতরের, অনুভূমিক তালিকায় যদি একবারে কমপক্ষে সাড়ে তিনটি আইটেম ভিউ দেখা যায়, তাহলে আপনি LinearLayoutManager.setInitialPrefetchItemCount(4) কল করে পারফর্ম্যান্স উন্নত করতে পারবেন। এটি করলে, RecyclerView স্ক্রল করার সময় RecyclerView আগে থেকেই সব প্রাসঙ্গিক ভিউ তৈরি করতে পারে, যার ফলে স্ক্রল করার সময় স্টাটারিংয়ের পরিমাণ উল্লেখযোগ্যভাবে কমে যায়।
  • FragmentActivity.setSupportMediaController() এবং FragmentActivity.getSupportMediaController() বন্ধ করে দেওয়া হয়েছে। নতুন স্ট্যাটিক MediaControllerCompat.setMediaController() ও MediaControllerCompat.getMediaController() মেথড ব্যবহার করুন।
  • কোনও ক্লায়েন্ট যখন appcompat tinting-এর মাধ্যমে উইজেট টিন্ট নির্দিষ্ট করে (যেমন, appcompat:buttonTint), তখন ক্লায়েন্টকে সব প্রয়োজনীয় স্টেট (যেমন, "বন্ধ করা", "প্রেস করা" ইত্যাদি) প্রদান করার দায়িত্ব নিতে হয়। ফ্রেমওয়ার্ক টিন্টিং ব্যবহার করার সময় উইজেট টিন্ট যেভাবে নির্দিষ্ট করা হয়, এটিও সেইভাবে করা হয়।

নতুন ও পরিবর্তিত API

  • ExifInterface সাপোর্ট লাইব্রেরি যোগ করা হয়েছে। এই লাইব্রেরি JPEG ও RAW ফর্ম্যাট করা ফাইল থেকে Exif তথ্য পড়ার এবং JPEG ইমেজ ফাইলে Exif তথ্য সেট করার সুবিধা আনবান্ডেল করে।
  • Snackbar-কে রিফ্যাক্টর করা হয়েছে যাতে অ্যাপ কাস্টম কন্টেন্ট দেখাতে পারে। BaseTransientBottomBar হল নতুন বেস ক্লাস যা সাধারণ স্লাইডিং ও অ্যানিমেশন আচরণকে এক্সপোজ করে।
  • নতুন leanback.media প্যাকেজ যোগ করা হয়েছে, এতে Android TV অ্যাপ্লিকেশনে মিডিয়া প্লেয়ার ইন্টিগ্রেট করার জন্য হেল্পার ক্লাস রয়েছে।
  • v7 প্রেফারেন্স সাপোর্ট লাইব্রেরিতে কাস্টমাইজ করা যায় এমন লেআউট ও অ্যাট্রিবিউট সহ SeekBarPreference যোগ করা হয়েছে।
  • v4 সাপোর্ট লাইব্রেরিতে ArraySet ক্লাস যোগ করা হয়েছে। এই ক্লাসটি API লেভেল 23-এর সাথে চালু করা ArraySet ক্লাসের ফ্রেমওয়ার্কের সাথে সম্পর্কিত।
  • RecyclerView RecyclerView আইটেম প্রিফেচ করার ব্যাপারে উন্নতি:

সমাধান করা সমস্যা

  • পাসওয়ার্ডের দৃশ্যমানতা টগল করার সুবিধা অ্যাক্সেসিবিলিটি পরীক্ষায় উত্তীর্ণ হতে পারেনি।
  • প্রি-L ডিভাইসে Appcompat state_enabled মেনে চলে না।
  • RecyclerView-এ ফোকাস রিকভারি মেকানিজম যোগ করা হয়েছে। এছাড়াও, এটি Android TV ডিভাইসের মতো DPAD নেভিগেশন ব্যবহার করার সময় ভেঙে যাওয়া ফোকাস সহ সাপোর্ট প্রিফিক্স ঠিক করেছে।
  • Leanback: হেডার বন্ধ করা থাকলে এবং অ্যাডাপ্টার খালি থাকলে BrowseFragment ক্র্যাশ করে।
  • Appcompat: AlertDialog অনেক বেশি চওড়া।
  • InputContentInfoCompat কল করে requestPermission() যখন releasePermission()-এ কল করা উচিত।
  • MediaBrowserCompat ক্র্যাশ করে।
  • দৃশ্যমানতা GONEহিসেবে সেট করা থাকলে, CoordinatorLayout ভিউ পরিমাপ/লে আউট করে।
  • API লেভেল ২৪-এর নিচে AnimatedVectorDrawableCompat-এর রঙ হালকা করা যায়নি
  • Leanback লাইব্রেরি থেকে ভুল লিন্ট সংক্রান্ত সমস্যা ট্রিগার হয়
  • Palette লাইব্রেরির কারণে প্রতিটি API লেভেলে টেস্ট ব্যর্থ হয়েছে
  • Leanback-এ RecyclerView টেস্ট করা যায়নি
  • RecyclerView রিসাইকেল করার সময় ক্র্যাশ করে ভিউ হোল্ডার (AOSP সমস্যা 225762)
  • Fragment.onDestroy() ব্যাকস্ট্যাকে ফ্র্যাগমেন্টের জন্য কল করা হয়নি
  • CollapsingToolbarLayout স্ক্রিম লুকানো থাকলে আঁকা হয় না
  • CoordinatorLayout.offsetChildByInset() throws IllegalArgumentException
  • অ্যানিমেট করা RecyclerView আইটেমগুলি আলাদা হয়ে যায় ভেতরের RecyclerView, ভবিষ্যতে প্রিফেচ করা আটকায়
  • অ্যাটাচ করা RecyclerView আইটেমকে নেস্টেড-প্রিফেচ করা যায় না
  • প্রথম লেআউটের সময় নেস্ট করা RecyclerView আইটেমের জন্য প্রিফেচ করা ডেটা বাতিল করা হয়
  • RecyclerView একই পজিশনে দুটি drag ইভেন্ট এলে প্রিফেচ করা যায় না
  • RenderThread রেন্ডার করার সময় RecyclerView-কে অনুমানের ভিত্তিতে লেআউট করতে হবে
  • নাইট-কনফিগার করা কালার রিসোর্স ড্রয়েবল হিসেবে কনভার্ট করা হলে, তা সবসময় রিসোর্স ক্যাশে থেকে সঠিকভাবে সরানো হয় না
  • FloatingActionButton: প্রোগ্রাম্যাটিক উপায়ে BackgroundTintList সেট করলে তা সঠিকভাবে কাজ করে না (AOSP সমস্যা 227428)
  • TextInputLayout: ErrorView-এর জন্য টাইপফেস সেট করা হচ্ছে না (AOSP সমস্যা 227803)
  • TextInputLayout সবসময় API 23-এর নিচে হালকা রঙের এরর মেসেজ দেখায় (AOSP সংক্রান্ত সমস্যা 221992)
  • পয়েন্টার সরে গেলে FloatingActionButton প্রেস করা হয়েছে হিসেবে দেখানো হয়

AOSP ইস্যু ট্র্যাকারে সর্বজনীন বাগ ফিক্সের সম্পূর্ণ তালিকা উপলভ্য।

অননুমোদিত

এই রিলিজে বেশ কিছু পদ্ধতি ও ক্লাস বন্ধ করে দেওয়া হয়েছে। এইসব বন্ধ হয়ে যাওয়া API ভবিষ্যতের কোনও ভার্সনে সরিয়ে দেওয়া হবে এবং ডেভেলপারদের এগুলি থেকে সরে আসা উচিত। নির্দিষ্ট API থেকে কীভাবে মাইগ্রেট করবেন সেই বিষয়ে আরও তথ্য পেতে এর ডকুমেন্টেশন দেখুন।

রিভিশন 25.0.1

(নভেম্বর ২০১৬)

সমাধান করা সমস্যা

  • ডেভেলপার-নির্দিষ্ট ড্রয়েবল যাতে অযথা ওভাররাইট না হয়ে যায়, সেই জন্য TextInputLayout পাসওয়ার্ড টগল এখন ডিফল্ট হিসেবে বন্ধ করা আছে। এটি passwordToggleEnabled XML অ্যাট্রিবিউটের মাধ্যমে ম্যানুয়ালি চালু করা যেতে পারে।
  • BottomNavigationView আইটেম এখন সিঙ্গেল লাইনে আছে, যাতে তা Material স্পেসিফিকেশন মেনে চলে।
  • RecyclerView প্রিফেচ করার সময় ক্র্যাশ করে যদি লেআউট ম্যানেজার নাল হয়।
  • BottomNavigationView উচ্চতা এখন সঠিকভাবে সেট করা হয়েছে। (AOSP সমস্যা 226182)
  • প্রোগ্রাম্যাটিক উপায়ে মেনু আইটেম যোগ করার সময় BottomNavigationView ক্র্যাশ করছে। (AOSP সমস্যা 225731)
  • TextInputLayout বাঁদিক+ডানদিক কম্পাউন্ড ড্রয়েবল সংক্রান্ত সমস্যা সমাধান করা হয়েছে। (AOSP সমস্যা 225836)
  • ভিউ হোল্ডার রিসাইকেল করার সময় RecyclerView ক্র্যাশ করে । (AOSP সমস্যা 225762)
  • Leanback: স্প্লিট-স্ক্রিন ভিউতে TalkBack প্রায়ই "নাল" শব্দটি বলে।
  • RecyclerView: Android Studio-তে রেন্ডারিং সংক্রান্ত সমস্যা। (AOSP সমস্যা 225753)
  • onNavigationItemSelected() false রিটার্ন করার পরেও মেনু আইটেমটি বেছে নেওয়া হয়েছে হিসেবে BottomNavigationView দেখাচ্ছে। (AOSP issue 225898)
  • ForwardingListener NoSuchMethodError থ্রো করে। (AOSP issue 225647)
  • IME এক্সট্র্যাক্ট মোডে TextInputEditText কোনও হিন্ট দেখায় না। (AOSP সমস্যা 221880)

AOSP ইস্যু ট্র্যাকারে সর্বজনীন বাগ ফিক্সের সম্পূর্ণ তালিকা উপলভ্য।

রিভিশন 25.0.0

(অক্টোবর ২০১৬)

গুরুত্বপূর্ণ পরিবর্তন

  • ContextCompat কনস্ট্রাক্টরকে সুরক্ষিত করা হয়েছে। এই ক্লাসটি সর্বজনীনভাবে ইনস্ট্যানশিয়েট করা উচিত নয়, তবে এটি নতুন API লেভেল টার্গেট করে সাপোর্ট লাইব্রেরি দ্বারা এক্সটেন্ড করা হতে পারে।
  • ActivityCompat কনস্ট্রাক্টরকে সুরক্ষিত করা হয়েছে। protected. এই ক্লাসটি সর্বজনীনভাবে ইনস্ট্যানশিয়েট করা উচিত নয়, তবে এটি নতুন API লেভেল টার্গেট করে সাপোর্ট লাইব্রেরি দ্বারা এক্সটেন্ড করা হতে পারে।
  • getReferrer(Activity)-কে স্ট্যাটিক করা হয়েছে।
  • android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) সরানো হয়েছে৷ এই পদ্ধতির যেকোনও ক্লায়েন্ট ইমপ্লিমেন্টেশন সরিয়ে দিতে হবে।
  • android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) সরানো হয়েছে৷ ব্যবহারের পরিবর্তে আরও উপযুক্ত নামের পদ্ধতি fromMediaSession() ব্যবহার করা উচিত।
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) সরিয়ে দেওয়া হয়েছে। ব্যবহারের পরিবর্তে আরও উপযুক্ত নামযুক্ত পদ্ধতি MediaSessionCompat.QueueItem#fromQueueItem ব্যবহার করা উচিত।
  • android.support.v7.widget.Space সরানো হয়েছে৷ Usages পরিবর্তে android.support.v4.widget.Space ব্যবহার করা উচিত।

নতুন API

  • android.support.design.widget.BottomNavigationView class Material Design স্পেক থেকে bottom নেভিগেশন প্যাটার্ন ইমপ্লিমেন্ট করে।
  • নতুন android.support.v13.view.inputmethod প্যাকেজে ক্লাস অন্তর্ভুক্ত থাকে যা API লেভেল 13-এর পরে চালু করা android.view.inputmethod.InputConnection ফিচার অ্যাক্সেস করার জন্য ব্যবহার করা হয়।
  • android.v7.widget.RecyclerView.DividerItemDecoration class আইটেমগুলির মধ্যে উল্লম্ব বা অনুভূমিক ডিভাইডারের জন্য একটি বেস ইমপ্লিমেন্টেশন প্রদান করে।
  • android.support.v7.app.NotificationCompat, DecoratedCustomViewStyle এবং DecoratedMediaCustomViewStyle-এ নতুন সাজানো স্টাইল, mirror ক্লাস platform API 24-এ যোগ করা হয়েছে।

সমাধান করা সমস্যা

AOSP ইস্যু ট্র্যাকারে সর্বজনীন বাগ ফিক্সের সম্পূর্ণ তালিকা উপলভ্য।

সংশোধন 24.2.1

সেপ্টেম্বর ২০১৬

সমাধান করা সমস্যা:

AOSP ইস্যু ট্র্যাকারে সর্বজনীন বাগ ফিক্সের সম্পূর্ণ তালিকা উপলভ্য।

সংশোধন 24.2.0

আগস্ট ২০১৬

রিলিজ 24.2.0-তে নিম্নলিখিত পরিবর্তন করা হয়েছে:

মনে রাখবেন: রিলিজ 24.2.0 থেকে Android 2.2 (API লেভেল 8) ও এর আগের যেকোনও ভার্সনের জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। যেসব ক্লাস ও মেথড শুধুমাত্র সেইসব সিস্টেম ভার্সনের জন্যই আছে, সেগুলি এখন 'সচল নয়' হিসেবে চিহ্নিত করা হয়েছে এবং আর ব্যবহার করা উচিত নয়। ভবিষ্যতে রিলিজের সময় এইসব বন্ধ করে দেওয়া ক্লাস ও মেথড সরিয়ে দেওয়া হতে পারে।

v4 সাপোর্ট লাইব্রেরি স্প্লিট

এই রিলিজের সাথে, v4 সাপোর্ট লাইব্রেরিকে একাধিক ছোট ছোট মডিউলে ভাগ করা হয়েছে:

support-compat
নতুন ফ্রেমওয়ার্ক API-এর জন্য মানানসই র‍্যাপার প্রদান করে, যেমন Context.getDrawable() এবং View.performAccessibilityAction().
support-core-utils
AsyncTaskLoader ও PermissionChecker-এর মতো একাধিক ইউটিলিটি ক্লাস প্রদান করে।
support-core-ui
ViewPager, NestedScrollView ও ExploreByTouchHelper-এর মতো বিভিন্ন UI-সম্পর্কিত কম্পোনেন্ট প্রয়োগ করে।
support-media-compat
মিডিয়া ফ্রেমওয়ার্কের অংশ ব্যাকপোর্ট করে, এর মধ্যে MediaBrowser ও MediaSession অন্তর্ভুক্ত।
support-fragment
ফ্র্যাগমেন্ট ফ্রেমওয়ার্ক ব্যাকপোর্ট করে। এই মডিউল support-compat, support-core-utils, support-core-ui ও support-media-compat-এর উপর নির্ভরশীল।

পুরনো ভার্সনের সাথে মানানসই হওয়ার জন্য, আপনার Gradle স্ক্রিপ্টে support-v4 তালিকাভুক্ত করলে, আপনার APK-তে এইসব মডিউল অন্তর্ভুক্ত থাকবে। তবে, APK-এর সাইজ কমাতে আমরা সাজেস্ট করি যে আপনার অ্যাপের প্রয়োজনীয় নির্দিষ্ট মডিউলগুলিই শুধু তালিকাভুক্ত করুন।

API আপডেট

  • কাস্টম ট্যাব ব্যবহার করা ক্লায়েন্টরা ইনস্ট্যান্ট অ্যাপ খোলা উচিত কিনা তা নিয়ন্ত্রণ করতে পারে। (মনে রাখবেন, Instant Apps এখনও সাধারণভাবে উপলভ্য নয়।) Instant Apps চালু বা বন্ধ করতে, CustomTabsIntent.Builder.setInstantAppsEnabled() নম্বরে কল করুন অথবা EXTRA_ENABLE_INSTANT_APPS উল্লেখ করুন। ডিফল্ট হিসেবে, কাস্টম ট্যাব ইনস্ট্যান্ট অ্যাপ চালু করার জন্য ডিফল্ট হিসেবে সেট করবে, যখন সেই ফিচার উপলভ্য হবে।
  • TextInputLayout মেটেরিয়াল ডিজাইন স্পেসিফিকেশন থেকে পাসওয়ার্ড দৃশ্যমানতা টগল করার সুবিধা যোগ করে।
  • নতুন android.support.transition প্যাকেজ API লেভেল 14 ও তার পরের যেকোনও লেভেলে Transitions ফ্রেমওয়ার্ক ব্যাকপোর্ট করে। আরও তথ্যের জন্য, android.support.transition রেফারেন্স দেখুন।
  • কাস্টম ট্যাব সাপোর্ট লাইব্রেরি সেকেন্ডারি ট্যুলবারে RemoteViews ব্যবহার করার সুবিধা যোগ করে। আগে থেকে থাকা setToolbarItem() পদ্ধতি এখন অবচিত হয়ে গেছে।
  • AppCompatResources নতুন getDrawable() পদ্ধতি ব্যবহার করে রিসোর্স আইডি থেকে <vector> (API লেভেল 9 ও তার পরের যেকোনও ভার্সনে) বা <animated-vector> (API লেভেল 11 ও তার পরের যেকোনও ভার্সনে) লোড করার ক্ষমতা যোগ করে।
  • CoordinatorLayout এখন ইনসেট ভিউ নির্ধারণ করা এবং অন্যান্য ভিউ ইনসেট ভিউ এড়িয়ে যাবে বলে নির্দিষ্ট করাকে সমর্থন করে। এটি অ্যাপগুলিকে এমন আচরণ প্যাটার্ন রেপ্লিকেট করতে দেয় যা FloatingActionButton কোনও Snackbar-এর রাস্তা থেকে সরে যাওয়ার মতো, তবে যেকোনও আর্বিট্রারি ভিউ চিলড্রেনের জন্য। আরও তথ্যের জন্য, LayoutParams.insetEdge এবং LayoutParams.dodgeInsetEdges রেফারেন্স ডকুমেন্টেশন দেখুন।
  • নতুন DiffUtil ক্লাস দুটি সংগ্রহের মধ্যে পার্থক্য গণনা করতে পারে এবং RecyclerView.Adapter-এর ব্যবহার করার উপযুক্ত আপডেট অপারেশনগুলির একটি তালিকা ডিসপ্যাচ করতে পারে।
  • ফ্লিংসের উত্তরে কাস্টম ব্যবহার সমর্থন করার জন্য RecyclerView.OnFlingListener যোগ করা হয়েছে। SnapHelper ক্লাসটি চাইল্ড ভিউ স্ন্যাপ করার জন্য বিশেষভাবে একটি ইমপ্লিমেন্টেশন প্রদান করে এবং LinearSnapHelper ক্লাসটি এই ইমপ্লিমেন্টেশনকে আরও বাড়িয়ে ViewPager-এর মতো সেন্টার-অ্যালাইনড স্ন্যাপিং বিহেভিয়ার প্রদান করে।
  • কাস্টম ট্যাব লাইব্রেরি এখন ক্লায়েন্টদের কাস্টম ট্যাব UI-এর পরিবর্তে স্ট্যান্ডার্ড ব্রাউজার UI-এর অনুরোধ করতে দেয়। এটি CustomTabsIntent.setAlwaysUseBrowserUI() কল করে করা হয়। এই আচরণটি সেইসব ক্ষেত্রে উপযোগী যেখানে ব্রাউজার ডিফল্ট হিসেবে কাস্টম ট্যাব UI ব্যবহার করে কিন্তু ব্যবহারকারী স্ট্যান্ডার্ড ব্রাউজার UI-এর জন্য তার পছন্দ প্রকাশ করেছেন।

আচরণগত পরিবর্তন

  • আপনি যদি appcompat লাইব্রেরির ডে/নাইট ফাংশনালিটি ব্যবহার করেন, তাহলে সিস্টেম এখন অটোমেটিক আপনার অ্যাক্টিভিটি রিক্রিয়েট করে যখনই ডে/নাইট মোড পরিবর্তন হয় (দিনের সময়ের কারণে অথবা AppCompatDelegate.setLocalNightMode()-এ কল করার কারণে)।
  • Snackbar এখন স্ট্যাটাস বার ট্রান্সলুসেন্ট হলে নেভিগেশন বারের পিছনে ড্র করে।

MediaRouter লাইব্রেরি

ব্লুটুথ ডিভাইস আর মিডিয়া রুট হিসেবে তালিকাভুক্ত নেই। ব্লুটুথ ডিভাইসে অডিও রাউটিং এখন সম্পূর্ণভাবে Android সিস্টেম লেভেলে কন্ট্রোল করা হয়।

অননুমোদিত

ভবিষ্যতে রিলিজের সময় বন্ধ করে দেওয়া ক্লাস ও মেথড সরিয়ে দেওয়া হতে পারে। যত তাড়াতাড়ি সম্ভব আপনাকে এইসব API থেকে মাইগ্রেট করতে হবে।

  • নিচের ক্লাসে থাকা একাধিক পদ্ধতি শুধুমাত্র API 8 এবং এর আগের ভার্সনের জন্য প্রয়োজন ছিল এবং এখন আর ব্যবহার করা উচিত নয়। পরিবর্তে, ফ্রেমওয়ার্ক ইমপ্লিমেন্টেশন ব্যবহার করুন।
    • android.support.v4.view.KeyEventCompat: KeyEvent-এর সাথে পরিবর্তন করুন
    • android.support.v4.view.MotionEventCompat: MotionEvent ব্যবহার করুন
    • android.support.v4.view.ViewCompat: View ব্যবহার করুন
    • android.support.v4.view.ViewConfigurationCompat: ViewConfiguration ব্যবহার করুন
  • AccessibilityServiceInfoCompat.getDescription() এর পরিবর্তে AccessibilityServiceInfoCompat.loadDescription() ব্যবহার করা হয়, যা সঠিকভাবে স্থানীয়কৃত বিবরণ প্রদান করে।
  • আপনাকে সরাসরি ActivityCompat class ইনস্ট্যানশিয়েট করা উচিত নয়। আসন্ন রিলিজে নন-স্ট্যাটিক getReferrer(Activity) পদ্ধতিকে স্ট্যাটিক করা হবে।
  • CoordinatorLayout.Behavior.isDirty() বন্ধ করে দেওয়া হয়েছে এবং CoordinatorLayout আর এটি কল করে না। এই পদ্ধতির যেকোনও ইমপ্লিমেন্টেশন, সেইসাথে এই পদ্ধতিতে করা যেকোনও কল সরিয়ে দিতে হবে।
  • MediaSessionCompat.obtain() পদ্ধতিটি বন্ধ করে দেওয়া হয়েছে এবং এর পরিবর্তে আরও উপযুক্ত নামযুক্ত পদ্ধতি fromMediaSession() ব্যবহার করা হচ্ছে।
  • MediaSessionCompat.QueueItem.obtain() বন্ধ করে দেওয়া হয়েছে এবং এর পরিবর্তে আরও উপযুক্ত নামযুক্ত পদ্ধতি fromQueueItem() ব্যবহার করা হচ্ছে।
  • অনেক অ্যাবস্ট্র্যাক্ট ক্লাস বাতিল করা হয়েছে এবং সেগুলির পরিবর্তে এমন ইন্টারফেস ব্যবহার করা হয়েছে যেগুলি সেগুলির ফ্রেমওয়ার্ক ইকুইভ্যালেন্টকে আরও ভালভাবে রিফ্লেক্ট করে।
  • CustomTabsSession.setToolbarItem() বন্ধ করে দেওয়া হয়েছে এবং এর পরিবর্তে RemoteViews-ভিত্তিক setSecondaryToolbarViews() ব্যবহার করা হচ্ছে।

সমস্যার সমাধান

রিলিজ 24.2.0-এর মাধ্যমে নিম্নলিখিত পরিচিত সমস্যাগুলি সমাধান করা হয়েছে:

  • নিশ্চিত করুন যে প্রথম পরিমাপ পাসের আগে setRefreshing(true) কল করা হলে SwipeRefreshLayout ইন্ডিকেটর দেখানো হয় (AOSP issue 77712)
  • পৃষ্ঠা পরিবর্তন করার সময় TabLayout যাতে ফ্লিকার না করে তা দেখা (AOSP issue 180454)
  • API লেভেল 11 ও তার নিচের ভার্সনে আনমার্শালিং করার সময় ClassNotFoundException SavedState এড়িয়ে চলুন (AOSP সমস্যা 196430)

AOSP ইস্যু ট্র্যাকারে সর্বজনীন বাগ ফিক্সের সম্পূর্ণ তালিকা উপলভ্য।

সংশোধন 24.1.1

জুলাই ২০১৬

সমাধান করা সমস্যা:

  • 24.1.0 রিলিজে একটি সমস্যার সমাধান করা হয়েছে যা সাপোর্ট লাইব্রেরির মধ্যে শেয়ার করা রিসোর্স আইডিকে প্রভাবিত করেছে। এই সমস্যার কারণে, রিসোর্স (যেমন, ডিজাইন ও অ্যাপকম্প্যাট) সহ সাপোর্ট লাইব্রেরির উপর নির্ভর করা অ্যাপে রিসোর্স আইডি ম্যাচ না করার ফলে সমস্যা দেখা দেয়।

রিভিশন 24.1.0

জুলাই ২০১৬

v4 সাপোর্ট লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • NotificationCompat.Action.WearableExtender -এর সাথে মানানসই হওয়ার জন্য নতুন getHintDisplayActionInline() এবং setHintDisplayActionInline() পদ্ধতি আছে। Android Wear 2.0 প্রিভিউ এইসব পদ্ধতি কোনও অ্যাপ্লিকেশনকে এটি নির্দিষ্ট করতে দেয় যে কোনও অ্যাকশনকে বিজ্ঞপ্তির সাথে ইনলাইন হিসেবে দেখানো উচিত।
  • Fragment.setUserVisbileHint()-এ কল করলে, FragmentTransaction-এ কোনও হিন্ট যোগ করা হয়ে থাকলে, সেটি আর শুরু হবে না, কারণ সেটি এখনও কমিট করা হয়নি। এটি FragmentPagerAdapter-এর সেইসব ব্যবহারকারীদের প্রভাবিত করে যারা setUserVisbileHint() ওভাররাইড করে এবং super.setUserVisibleHint() কল করার পরে ফ্র্যাগমেন্টের একটি নির্দিষ্ট লাইফসাইকেল স্টেট ধরে নেয়। আরও তথ্যের জন্য, Fragment.setUserVisbileHint()-এর ডকুমেন্টেশনের রেফারেন্স পৃষ্ঠা দেখুন।

সমাধান করা সমস্যা:

  • TabLayout.setCustomView(null) করলে NullPointerException হয় (AOSP issue 214753)
  • TabLayout ভুলভাবে কাস্টম ট্যাব হাইলাইট করে (AOSP সমস্যা 214316)
  • AppCompatTextHelper ভুলভাবে সাজানো অ্যাট্রিবিউট অ্যারে ব্যবহার করে (AOSP সমস্যা 214366)
  • কাস্টম ContextWrapper ব্যবহার করার সময় drawable কন্টেনার XML থেকে VectorDrawable রেফারেন্স করা যায় না (AOSP সমস্যা 214055)
  • ViewDragHelper.saveLastMotion() throws ArrayIndexOutOfBoundsException (AOSP issue 212945)
  • setState(STATE_EXPANDED) ব্যবহার করলে BottomSheetBehavior পুরনো কন্টেন্টের উচ্চতা পর্যন্ত বড় হয়ে যায় (AOSP সমস্যা 213660)
  • CollapsingToolbarLayout, উপরে বা নিচে মার্জিন সহ পিনেবল চিলড্রেনকে ম্যানেজ করে না (AOSP সমস্যা 213001)
  • Leanback ব্রাউজ টাইটেল RTL অ্যালাইনমেন্ট (AOSP সমস্যা 213461) সাপোর্ট করে না
  • ইনহেরিট করা অ্যানোটেশন না থাকার কারণে PagerTabStrip অদৃশ্য হয়ে যায় (AOSP সমস্যা 213359)
  • কন্ডিশনাল ফ্ল্যাগ সেট করার জন্য বুলিয়ান ব্যবহার করলে ডেটা বাইন্ডিং NullPointerException দেখায় (AOSP সমস্যা 191841)
  • CoordinatorLayout setFitsSystemWindows()-এর উত্তর দেয় না (AOSP সমস্যা 212720)
  • প্রাথমিক স্টেট সেট করার সময় BottomSheetBehavior ক্র্যাশ করে (AOSP সমস্যা 203114)
  • পৃষ্ঠার ইন্ডেক্স অনেক বড় ভ্যালু হলে ViewPager পৃষ্ঠা এড়িয়ে যায় (AOSP সমস্যা 211734)
  • ডায়নামিক লেআউটের সাথে BottomSheetBehavior কাজ করে না (AOSP সমস্যা 205226)

সংশোধন 24.0.0

জুন ২০১৬

v4 সাপোর্ট লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • সিঙ্ক্রোনাস কমিটের জন্য Fragment.commitNow() যোগ করা হয়েছে
  • একাধিক পার্টি নিয়ে কথোপকথনের জন্য NotificationCompat.MessagingStyle যোগ করা হয়েছে
  • NotificationManagerCompat.areNotificationsEnabled() এবং getImportance() যোগ করা হয়েছে
  • MediaSessionCompat এখন MediaSession-এর কার্যকারিতা মিরর করে এবং আর setMediaButtonReceiver() অটোমেটিক কল করে না

মনে রাখবেন: শুধুমাত্র MediaBrowserServiceCompat ভার্সন 24.0.0-এ API 24-এর পরের Android-এর ভবিষ্যতের ভার্সনের সাথে ফরওয়ার্ড-কম্প্যাটিবল। আপনি আগের কোনও ভার্সন ব্যবহার করলে, মানানসই হওয়ার ব্যাপারে নিশ্চিত হতে এই ভার্সনে আপডেট করুন।

v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • XML থেকে থিমযুক্ত ColorStateList অবজেক্ট রেফারেন্স করার জন্য সহায়তা যোগ করা হয়েছে
ডিজাইন সহায়তা লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • AppBarLayout-এ উন্নতি StateListAnimator ব্যবহার করে উচ্চতা সংক্রান্ত ডেটা ম্যানেজ করা
v17 Leanback লাইব্রেরিতে হওয়া পরিবর্তন:
  • প্রথমবার স্বাগত জানানোর জন্য OnboardingFragment যোগ করা হয়েছে এবং সেট-আপ ফ্লো
কাস্টম ট্যাবের জন্য পরিবর্তন:
  • সেকেন্ডারি টুলবারের জন্য RemoteViews হায়রার্কি প্রদান করার সুবিধা যোগ করা হয়েছে
  • এক-লাইনের ওয়ার্ম-আপের জন্য CustomTabsClient.connectAndInitialize() যোগ করা হয়েছে

রিভিশন 23.4.0

মে ২০১৬

v4 সাপোর্ট লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • ভুল ক্রমে ফ্র্যাগমেন্ট যোগ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 206901)
  • স্ক্রল করে অফস্ক্রিন করার পরে অ্যাপ বার ড্র না করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে । (সমস্যা 178037)
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
ডিজাইন সহায়তা লাইব্রেরি সংক্রান্ত পরিবর্তন:
Vector Drawable লাইব্রেরিতে করা পরিবর্তন:

রিভিশন 23.3.0

এপ্রিল ২০১৬

v4 সাপোর্ট লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • আপনার অ্যাপ ব্যবহারকারী অতীতে কীভাবে লঞ্চ করেছেন তা ট্র্যাক করতে সাহায্য করার জন্য AppLaunchChecker যোগ করা হয়েছে। hasStartedFromLauncher() আপনাকে জানায় যে ব্যবহারকারী আগে হোম স্ক্রিন থেকে আপনার অ্যাপ লঞ্চ করেছেন কিনা অথবা এটি শুধুমাত্র অন্য উপায়ে (যেমন, নির্দিষ্ট ওয়েব URL দেখার জন্য) চালু করা হয়েছে কিনা।
  • MediaBrowserServiceCompat.mConnections-এ মেমরি লিক সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 205220)
  • পৃষ্ঠা উল্টানোর সময় ViewPager পৃষ্ঠার মার্জিন বিবেচনা করে না, এই সমস্যা সমাধান করা হয়েছে। (সমস্যা 203816)
  • Fragment.onRequestPermissionsResult() এখন চাইল্ড ফ্র্যাগমেন্টে ডেলিভার করা হয়।
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • AppCompatSpinner-এ একটি সমস্যার সমাধান করা হয়েছে যার ফলে একাধিক পপ-আপ দেখা যেতে পারে। (সমস্যা 205052)
  • বর্ডারলেস বোতামের রঙ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 202967)
  • AppCompatDialogFragment ও AlertDialog-এর মধ্যে সামঞ্জস্য সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 204805)
  • TintResources-এ করা পরিবর্তন ফিরিয়ে আনা হয়েছে, যার ফলে মেমরি ও কনফিগারেশন সংক্রান্ত সমস্যা হচ্ছিল। (সমস্যা 205236)
v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
  • ভলিউম স্লাইডারের আচরণ সংক্রান্ত সমস্যা MediaRouteControllerDialog সমাধান করা হয়েছে। (Issue 202299)
v7 Preference-এ হওয়া পরিবর্তন লাইব্রেরি:
  • dividerHeight নির্দিষ্ট করা থাকলে PreferenceFragmentCompat ক্র্যাশ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 204778)
v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
  • দৃশ্যমান আইটেমের রেঞ্জ ছোট হয়ে গেলে RecyclerView স্ক্রল কলব্যাককে ইনভোক করতে না পারা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 200987)
  • RecyclerView লিনিয়ার লেআউটে থাকলে, ওয়েটেড হলে এবং তাতে ছবি থাকলে সেটি ফ্রিজ হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 203276)
  • OrientationHelper.getStartAfterPadding()-এ ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Issue 180521)
  • android:nestedScrollingEnabled ব্যবহার করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 197932)
ডিজাইন সহায়তা লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • একটি বাগ সমাধান করা হয়েছে যেখানে একটি লুকানো বটম শিট টাচ ইভেন্ট হ্যান্ডেল করবে। (সমস্যা 203654)
  • BottomSheetBehavior-এর লেআউট সংক্রান্ত সমস্যার সমাধান করা হয়েছে, যখন fitsSystemWindows সঠিক হয়। (সমস্যা 203057)
  • Snackbar-এর অ্যাক্সেসিবিলিটি সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 182145)
  • Snackbar সোয়াইপ করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 203924)
  • AppBarLayout-এ একটি বাগ ঠিক করা হয়েছে যা enterAlways-এর সাথে সম্পর্কিত। (সমস্যা 203661)
  • TextInputLayout অপ্রয়োজনীয়ভাবে EditText অবজেক্টের ব্যাকগ্রাউন্ড কালার ফিল্টার মুছে দেয়, এমন একটি সমস্যার সমাধান করা হয়েছে। (Issue 203357)

সংশোধন ২৩.২.১

মার্চ ২০১৬

v4 সাপোর্ট লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • API লেভেল ১৭ থেকে ১৯-এ DrawableCompat.wrap() ও LayerDrawable-এ ব্যতিক্রম সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Issue 201817)
  • ViewDragHelper.shouldInterceptTouchEvent()-এ ArrayIndexOutOfBoundsException সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 182262)
  • ViewPager-এ সাইজ পরিবর্তনের জন্য স্ক্রল গণনা সম্পর্কিত একটি সমস্যার সমাধান করা হয়েছে।
  • সেট করা DrawerLayout.DrawerListener ছাড়া DrawerLayout.removeDrawerListener() কল করা হলে NullPointerException সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা ২০২৪৭৮)
  • স্ক্রল করার সময় ViewPager প্যারামিটার সঠিকভাবে সেট না করা AccessibilityEvent সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • Drawable.wrap() ব্যবহার করার সময় ডিভাইস রোটেট করলে ল্যাগ হওয়ার কারণ সম্পর্কিত সমস্যার সমাধান করা হয়েছে। (Issue 201924)
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • ভেক্টর অ্যাসেটের উপর নির্ভরতা ফিরিয়ে আনা হয়েছে যাতে appcompat লাইব্রেরি ব্যবহার করা ডেভেলপারদের VectorDrawable ও এর সাথে সম্পর্কিত বিল্ড ফ্ল্যাগ ব্যবহার করতে বাধ্য না হতে হয়।
  • নাইট মোড ও API লেভেল 23-এর সাথে হওয়া কম্প্যাটিবিলিটি সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 201910)
  • SwitchCompat এবং API লেভেল ৭-এর সাথে মানানসই হওয়ার ব্যাপারে হওয়া সমস্যার সমাধান করা হয়েছে। (Issue 201942)
  • রিসোর্স অবজেক্টে কনফিগারেশন ভ্যালু প্রোপাগেট করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে সমস্যা ২০১৯২৮
  • API লেভেল ২১ ও তার নিচের ভার্সনে android.support.v7.app.NotificationCompat.MediaStyle বাতিল করুন বোতামটি দেখা না যাওয়া সংক্রান্ত কম্প্যাটিবিলিটি সমস্যার সমাধান করা হয়েছে। (Issue 202156)
  • API লেভেল ২১ ও তার নিচের ভার্সনে AppCompatSpinner-এর সাথে মানানসই না হওয়ার কারণে হওয়া ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Issue 202246)
  • app:textAllCaps = "false" স্টাইল কাজ না করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Issue 202117)
  • SearchView রিস্টোর করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 201836)
  • AppCompat ব্যবহার করে ড্রয়েবল রিসোর্স টিন্ট করার সময় হওয়া মেমরি লিকেজ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। AppCompat. (Issue 202379)
  • API লেভেল 11 ও এর আগের ভার্সনে KeyEvent সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Issue 202939)
v7 cardview লাইব্রেরিতে হওয়া পরিবর্তন:
v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
  • বিভিন্ন পরিমাপ-নির্দিষ্ট পদ্ধতি সম্পর্কিত সমস্যার সমাধান করা হয়েছে। (সমস্যা 201856)
  • লকডাউন পিরিয়ড কমানো হয়েছে, যার মধ্যে লেআউট বা স্ক্রল গণনা করার সময় RecyclerView অ্যাডাপ্টার পরিবর্তন করার অনুমতি দেয় না। (সমস্যা 202046)
  • দৃশ্যমান নয় এমন আইটেমে notifyItemChanged() কল করার সময় ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে। (সমস্যা 202136)
  • একই পরিমাপ পাসে RecyclerView.LayoutManager ভিউ যোগ ও সরানোর সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 193958)
v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
v17 Leanback Library-তে হওয়া পরিবর্তন:
  • GridLayout.onAddFocusables()-এর সাথে হওয়া একটি সমস্যার সমাধান করা হয়েছে যা ভুল আইটেম বেছে নেওয়ার কারণ হয়েছিল।
  • কোনও অ্যাকশন আড়াল করার পরে GuidedStepFragment অ্যাকশন আর দেখা না যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
ডিজাইন সহায়তা লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • ট্যাব-পুলিংয়ের কারণে হওয়া TabLayoutক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 201827)
  • NavigationView-এ একটি সমস্যার সমাধান করা হয়েছে যার কারণে ভুল রং বেছে নেওয়া হয়েছিল। (সমস্যা 201951)
  • setBackgroundTintList() ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করতে না পারা সংক্রান্ত সমস্যার সমাধান করা হয়েছে রঙ। (সমস্যা 201873)
  • android:fitsSystemWindows = “true”-এর সাথে ব্যবহার করা হলে AppBarLayout সম্পূর্ণভাবে স্ক্রল করে ভিউয়ের বাইরে চলে না যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (Issue 201822)
  • BottomSheetDialog যেখানে দেখানো হয়নি সেখানে একটি সমস্যার সমাধান করা হয়েছে, যাতে ছোট কন্টেন্ট ভিউ সঠিকভাবে দেখানো যায়। (সমস্যা 201793)
  • কন্টেন্ট পরিবর্তন করা হলে BottomSheetDialogFragment মাঝে মাঝে সরানো হয়, এই সমস্যা সমাধান করা হয়েছে। (সমস্যা 202125)
  • TextInputLayout কাউন্টারে ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে লিঙ্ক
  • TextInputLayout.getCounterMaxLength() সেভ করা স্টেট রিস্টোর করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 202375)
  • ClassCastException-এর সমাধান করা হয়েছে যা CoordinatorLayout রিস্টোর করার সময় ঘটেছিল, এর জন্য CoordinatorLayout নয় এমন ভিউয়ের সেভ করা স্টেট ব্যবহার করা হয়েছিল।
VectorDrawableCompat-এর জন্য পরিবর্তন:
  • android:tintMode-এর জন্য ভুল ভেরিয়েবেল পড়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 201907)

রিভিশন 23.2.0

ফেব্রুয়ারি ২০১৬

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • MediaBrowser সহায়তার জন্য MediaBrowserCompat এবং MediaBrowserService সহায়তার জন্য MediaBrowserServiceCompat যোগ করা হয়েছে। এটি তখন কাজে লাগে যখন UI কম্পোনেন্টের সাথে মিডিয়া অ্যাপের ব্যাকগ্রাউন্ড পরিষেবা কানেক্ট করা হয়, এবং API লেভেল 21 বা তার পরবর্তী যেকোনও ভার্সন ছাড়াই Android Auto ও Android Wear-এর সাথে ইন্টিগ্রেট করা হয়।
  • সিস্টেম এখন onActivityResult()-কে একটি নেস্টেড FragmentActivity-এর জন্য কল করে।
v7 AppCompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • API লেভেল 14 ও তার পরবর্তী যেকোনও ভার্সনে নাইট মোড ফাংশনালিটি যোগ করা হয়েছে। দিনের সময় বা অ্যাপ-নির্দিষ্ট সেটিংসের উপর ভিত্তি করে Material লাইট ও Material ডার্ক থিমের মধ্যে পরিবর্তন করুন।
    • দিন ও রাতের থিম এখানে পাওয়া যাবে: <sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode(): নিম্নলিখিত কনস্ট্যান্টগুলির মধ্যে একটি পাস করানোর মাধ্যমে অ্যাপের ডিফল্ট মোড সেট করে:
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode(): লোকাল অ্যাপ কম্পোনেন্টের জন্য নাইট মোড সেটিং ওভাররাইড করে।
    • AppCompatDelegate.getDefaultNightMode(): returns the default night mode.
v7 mediarouter library-এর জন্য পরিবর্তন:
  • MediaRouteControllerDialog এখন কাস্টম অ্যাপ থিমের রঙ সঠিকভাবে প্রয়োগ করে।
ডিজাইন সাপোর্ট লাইব্রেরিতে পরিবর্তন:
  • নিচের শিটের জন্য সহায়তা যোগ করা হয়েছে। ইন্টার‍্যাকশন প্লাগ-ইন, BottomSheetBehavior, CoordinatorLayout-এর চাইল্ড ভিউকে বটম শিট হিসেবে কাজ করতে দেয়। বেস ক্লাস, BottomSheetCallback, বটম শিট ইভেন্ট মনিটর করার জন্য কলব্যাক প্রদান করে।
CustomTabs support লাইব্রেরিতে করা পরিবর্তন:
  • Chrome কাস্টম ট্যাব এখন অ্যাপগুলিকে আগে থেকেই থাকা উপরের অ্যাকশন বোতামের পাশাপাশি অ্যাকশন বোতাম সহ একটি নিচের বার অন্তর্ভুক্ত করার অনুমতি দেয়।
  • CustomTabsIntent.Builder.addToolBarItem(): কাস্টম ট্যাবে অ্যাকশন বোতাম যোগ করে। একাধিক বোতাম যোগ করার জন্য আপনি এটি ব্যবহার করতে পারবেন।
  • CustomTabsSession.setToolBarItem(): টুলবার আইটেমের জন্য ভিজ্যুয়াল আপডেট করে। এই পদ্ধতি তখনই সফল হবে যদি এতে সঠিক আইডি দেওয়া হয় এবং ব্রাউজার সেশনটি ফোরগ্রাউন্ডে থাকে।
VectorDrawable সাপোর্ট লাইব্রেরি যোগ করা হয়েছে:
  • যোগ করা ক্লাস:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • API লেভেল ৭ বা তার পরের যেকোনও ভার্সনে চলে এমন অ্যাপে VectorDrawable অ্যাসেট যোগ করার সুবিধা। AnimatedVectorDrawable অ্যাসেট API লেভেল 11 বা তার পরবর্তী যেকোনও ভার্সনেও কাজ করে। ভেক্টর অ্যাসেট, ইমেজ অ্যাসেটের তুলনায় অনেক ছোট হতে পারে এবং একাধিক ডিভাইস স্ক্রিন সাপোর্ট করার জন্য প্রয়োজনীয় অ্যাসেটের সংখ্যা কমিয়ে অ্যাপের সাইজ কমাতে সাহায্য করে।
  • এই লাইব্রেরি এখন v7 AppCompat লাইব্রেরির উপর নির্ভরশীল, এর ফলে ডেভেলপার ও AppCompat সহজেই ভেক্টর ড্রয়েবল ব্যবহার করতে পারবেন। ImageButton বা ImageView-এর মধ্যে VectorDrawableCompat ব্যবহার করতে, app:srcCompat XML অ্যাট্রিবিউট বা setImageResource() মেথড ব্যবহার করুন।
  • API লেভেল ২০ বা এর নিচের লেভেলে অ্যাট্রিবিউট আইডি রেফারেন্স করা চালিয়ে যেতে, আপনার build,gradle ফাইলে নিম্নলিখিত appt ফ্ল্যাগ যোগ করুন:
    • আপনি যদি Android Plugin for Gradle 1.5.0 বা এর আগের যেকোনও ভার্সন ব্যবহার করে তৈরি করেন, তাহলে আপনার build.gradle ফাইলে নিম্নলিখিতগুলি যোগ করুন:
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
    • আপনি যদি Android Plugin for Gradle 2.0.0 বা এর পরের যেকোনও ভার্সন দিয়ে তৈরি করেন, তাহলে আপনার build.gradle ফাইলে নিম্নলিখিতগুলি যোগ করুন:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
v17 Leanback লাইব্রেরি সংক্রান্ত পরিবর্তন:
  • GuidedStepFragment-এ নতুন নতুন ক্ষমতা যোগ করা হয়েছে, যা এমন একটি কম্পোনেন্ট যা ব্যবহারকারীদের কোনও সিদ্ধান্ত বা একাধিক সিদ্ধান্ত নেওয়ার ব্যাপারে গাইড করে:
    • GuidedAction-এ বোতাম অ্যাকশন যোগ করা হয়েছে:
      • GuidedStepFragment.setButtonActions(): বোতামের একটি তালিকা সেট করে যা GuidedAction অ্যাকশন ভিউ থেকে ব্যবহারকারী বেছে নিতে পারেন।
    • বিবরণ ফিল্ড এখন এডিট করা যাবে:
      • GuidedAction.Builder.descriptionEditable(): যখন পাস করা হয় true, তখন অ্যাকশনের বিবরণ এডিট করা যায় হিসেবে সেট করে।
      • GuidedAction.getEditDescription(): এডিট করা যায় এমন বিবরণ CharSequence হিসেবে রিটার্ন করে।
    • সাব-অ্যাকশনের ড্রপ-ডাউন তালিকা যোগ করা হয়েছে:
      • GuidedAction.setSubActions(): সাব-অ্যাকশনের ড্রপ-ডাউন মেনু হিসেবে GuidedAction তালিকা সেট করে।
  • DatePicker ফাংশনালিটির জন্য GuidedDatePickerAction উইজেট যোগ করা হয়েছে:
    • বছর, মাস ও দিনের কলাম ব্যবহার করে তারিখ বেছে নেওয়া হয় এবং এতে কাস্টমাইজ করা যায় এমন রেঞ্জ থাকে।
    • GuidedDatePickerAction.Builder: GuidedDatePickerAction অবজেক্টের জন্য বিল্ডার ক্লাস।
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): উপযুক্ত তিন-অক্ষরের String পাস করে কাঙ্ক্ষিত তারিখের ফর্ম্যাট সেট করুন, যেমন “YMD” বা “MDY”। অথবা, datePickerFormat XML অ্যাট্রিবিউট ব্যবহার করুন।
v7 RecyclerView লাইব্রেরির জন্য পরিবর্তন:
  • RecyclerView-এ এখন AutoMeasure নামের একটি অপ্ট-ইন ফিচার আছে যা RecyclerView.LayoutManager-কে সহজে কন্টেন্ট র‍্যাপ করতে অথবা RecyclerView-এর পেরেন্ট দ্বারা প্রদান করা বিভিন্ন পরিমাপ সংক্রান্ত স্পেসিফিকেশন হ্যান্ডেল করতে দেয়। এটি RecyclerView-এর আগে থেকে থাকা সব অ্যানিমেশন ক্ষমতাকে সাপোর্ট করে।
    • আপনার কাস্টম RecyclerView.LayoutManager থাকলে, নতুন AutoMeasure API ব্যবহার করা শুরু করতে setAutoMeasureEnabled(true) কল করুন। সব বিল্ট-ইন RecyclerView.LayoutManager অবজেক্ট ডিফল্ট হিসেবে অটোমেজার চালু করে।
    • RecyclerView.LayoutManager কিছু RecyclerView.LayoutParams সেটিংস আর উপেক্ষা করে না, যেমন স্ক্রল করার দিকনির্দেশ MATCH_PARENT।

      মনে রাখবেন: এই বিধিনিষেধ তুলে নেওয়ার ফলে আপনার লেআউটে অপ্রত্যাশিত আচরণ হতে পারে। নিশ্চিত করুন যে আপনি সঠিক লেআউট প্যারামিটার নির্দিষ্ট করেছেন।

  • RecyclerView.ViewHolder-এর সাথে পে-লোড সংক্রান্ত তথ্য আপডেট করার সময়, DefaultItemAnimator এখন পরিবর্তন অ্যানিমেশন বন্ধ করে দেয়।
  • সোয়াইপ সেন্সিটিভিটি কন্ট্রোল করতে, আপনি এখন ItemTouchHelper এস্কেপ ভেলোসিটি পরিবর্তন করে নিতে পারবেন। সোয়াইপ করা সহজ বা কঠিন করতে, getSwipeEscapeVelocity(float defaultValue) ওভাররাইড করুন এবং defaultValue পরিবর্তন করুন।

সংশোধন 23.1.1

নভেম্বর ২০১৫

v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
  • আপনি যখন সোয়াইপ-টু-ডিসমিস অ্যাকশন পারফর্ম করেন, তখন ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে যা ItemTouchHelper ইউটিলিটি ক্লাস প্রদান করে এবং তারপরে একটি আইটেম যোগ করে। (সমস্যা ১৯০৫০০)
v7 পছন্দ লাইব্রেরিতে হওয়া পরিবর্তন:
v17 Leanback Support লাইব্রেরিতে হওয়া পরিবর্তন:
  • এই লাইব্রেরিতে একাধিক ইন্টার্নাল সমস্যার সমাধান করা হয়েছে।
ডিজাইন সহায়তা লাইব্রেরির জন্য পরিবর্তন:
  • NavigationView ক্লাসে getHeaderView পদ্ধতি যোগ করা হয়েছে।
  • Android 4.0 (API লেভেল 15) ও এর আগের যেকোনও ভার্সনে চলে এমন ডিভাইসে FloatingActionButton অবজেক্টের জন্য ট্রান্সপারেন্ট ব্যাকগ্রাউন্ড সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা ১৮৩১৫)

রিভিশন 23.1.0

অক্টোবর ২০১৫

v4 Support লাইব্রেরিতে হওয়া পরিবর্তন:
  • OnScrollChangedListener ইন্টারফেস সংক্রান্ত সহায়তা NestedScrollView উইজেটে যোগ করা হয়েছে। এটি X বা Y পজিশন পরিবর্তন হলে আপনাকে কলব্যাক পেতে দেয়।
  • MediaSessionCompat ক্লাস ম্যানেজ করছে এমন কোনও পরিষেবায় প্রাপ্ত প্লেব্যাক কন্ট্রোল ফরওয়ার্ড করার জন্য MediaButtonReceiver ক্লাস যোগ করা হয়েছে। MediaSessionCompat ক্লাসে একটি কনস্ট্রাক্টর আছে যা ম্যানিফেস্টে অটোমেটিক মিডিয়া বোতাম রিসিভার খুঁজে পেতে পারে। হার্ডওয়্যার বা ব্লুটুথ কন্ট্রোল থেকে প্লেব্যাক কন্ট্রোল ম্যানেজ করার জন্য মিডিয়া বোতাম রিসিভার একটি গুরুত্বপূর্ণ অংশ।
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • মেটেরিয়াল ডিজাইন Seekbar ও ImageButton উইজেট যোগ করা হয়েছে।
  • ImageView উইজেট আপডেট করে টিংট ফিচার যোগ করা হয়েছে।
  • SwitchCompat উইজেটের লুক-অ্যান্ড-ফিল আপডেট করা হয়েছে।
v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
  • MediaRouteChooserDialog ক্লাসে নিম্নলিখিত ফিচার যোগ করা হয়েছে:
    • মিডিয়া রুট প্রদানকারী খুঁজে পাওয়ার সময় একটি লোডিং পৃষ্ঠা দেখায়।
    • সহজে ডিভাইস শনাক্ত করার জন্য ডিভাইসের ধরনের আইকন অন্তর্ভুক্ত থাকে।
    • বর্তমান অ্যাপে ব্যবহারের ফ্রিকোয়েন্সি অনুযায়ী রুটগুলিকে সাজায়।
    • ল্যান্ডস্কেপ মোডে কাজ করে।
  • MediaRouteControllerDialog ক্লাসে নিম্নলিখিত ফিচার যোগ করা হয়েছে:
    • স্ক্রিন কাস্টিং শনাক্ত করে এবং যথাযথ বিবরণ প্রদান করে।
    • বিভিন্ন সাইজ ও অ্যাস্পেক্ট রেশিওর অ্যালবাম আর্ট কাজ করে এবং আর্ট অ্যাসিঙ্ক্রোনাসভাবে লোড করে।
    • অ্যাপের প্রাথমিক রঙের উপর ভিত্তি করে কন্টেন্টের রঙ অটোমেটিক বেছে নেয়।
    • ডিভাইসে উপলভ্য স্ক্রিন স্পেসের উপর ভিত্তি করে ডায়ালগ লেআউট অ্যাডজাস্ট করে।
    • ল্যান্ডস্কেপ মোডে কাজ করে।
v7 প্যালেট লাইব্রেরিতে হওয়া পরিবর্তন:
  • Bitmap অবজেক্টের নির্দিষ্ট অঞ্চল থেকে রঙ এক্সট্র্যাক্ট করার জন্য setRegion() পদ্ধতি যোগ করা হয়েছে।
v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
  • আরও ভালো কাস্টমাইজেশনের জন্য ItemAnimator ক্লাসে উন্নত অ্যানিমেশন API যোগ করা হয়েছে:
    • পরিবর্তন অ্যানিমেশন আর ViewHolder অবজেক্টের দুটি কপি প্রয়োগ করে না, যা আইটেম কন্টেন্ট অ্যানিমেশন চালু করে। এছাড়াও, ItemAnimator অবজেক্ট সিদ্ধান্ত নেয় যে এটি একই ViewHolder অবজেক্ট আবার ব্যবহার করতে চায় নাকি নতুন একটি তৈরি করতে চায়।
    • নতুন তথ্য রেকর্ড API, ItemAnimator ক্লাসকে লেআউট লাইফসাইকেলে সঠিক পয়েন্টে ডেটা সংগ্রহ করার ফ্লেক্সিবিলিটি দেয়। এই তথ্য পরে অ্যানিমেট কলব্যাকে পাস করা হয়।
  • এই ব্যাকওয়ার্ড-ইনকম্প্যাটিবল API পরিবর্তনের জন্য একটি সহজ ট্রানজিশন প্ল্যান প্রদান করা হয়েছে:
    • আপনি আগে ItemAnimator ক্লাস এক্সটেন্ড করে থাকলে, আপনার বেস ক্লাসকে SimpleItemAnimator-এ পরিবর্তন করতে পারবেন এবং আপনার কোড আগের মতোই কাজ করবে। SimpleItemAnimator ক্লাস নতুন API র‍্যাপ করে পুরনো API প্রদান করে।
    • ItemAnimator ক্লাস থেকে কিছু পদ্ধতি সরিয়ে দেওয়া হয়েছে। নিম্নলিখিত কোড আর কম্পাইল করা যাবে না:
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false

      জাভা

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)

      আপনি এগুলির সাথে এটি পরিবর্তন করতে পারবেন:

      Kotlin

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false

      জাভা

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
v7, v14 এবং v17 প্রেফারেন্স সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • EditText ডায়ালগ কন্ট্রোল করার জন্য API সরিয়ে দেওয়া হয়েছে।
v17 Leanback Support লাইব্রেরিতে হওয়া পরিবর্তন:
  • Support লাইব্রেরির জন্য GuidedStepFragment ক্লাসের একটি ভার্সন যোগ করা হয়েছে (android.support.v4.app.Fragment-এর এক্সটেনশন) এবং অ্যানিমেশন ও ট্রানজিশন উন্নত করা হয়েছে।
  • GuidedStepFragment ক্লাস আপডেট করা হয়েছে যাতে এটি আগে থেকে থাকা কন্টেন্টের উপরে প্লেস করা যায়।
  • SearchFragment ক্লাসে বিভিন্ন ধরনের সার্চ সম্পূর্ণ করা সংক্রান্ত অ্যানোটেশন যোগ করা হয়েছে।
  • VerticalGridFragment ক্লাসে স্ট্যাগার্ড স্লাইড ট্রানজিশন সংক্রান্ত সুবিধা যোগ করা হয়েছে।
ডিজাইন সহায়তা লাইব্রেরির জন্য পরিবর্তন:
  • TextInputLayout উইজেটে অক্ষর গণনা সংক্রান্ত সুবিধা যোগ করা হয়েছে।
  • AppBarLayout ক্লাসে SCROLL_FLAG_SNAP কনস্ট্যান্ট যোগ করে এজ স্ন্যাপিংয়ের সুবিধা যোগ করা হয়েছে। স্ক্রল করা শেষ হয়ে গেলে, ভিউ যদি শুধুমাত্র আংশিকভাবে দেখা যায়, তাহলে ভিউটি স্ন্যাপ করা হয় এবং এর সবচেয়ে কাছের প্রান্তে স্ক্রল করা হয়।
  • NavigationView ক্লাসে কাস্টম ভিউয়ের জন্য সহায়তা যোগ করা হয়েছে, এর জন্য app:actionLayout অ্যাট্রিবিউট বা MenuItemCompat.setActionView() মেথড ব্যবহার করা হয়েছে।
কাস্টম ট্যাব সাপোর্ট লাইব্রেরির জন্য পরিবর্তন:
  • CustomTabsIntent ক্লাসে enableUrlBarHiding() পদ্ধতি যোগ করা হয়েছে। এটি ক্লায়েন্টকে কাস্টমাইজ করতে দেয় যে স্ক্রল করে নিচে নামলে URL বার অটোমেটিক লুকানো হবে কিনা।
  • CustomTabsSession ক্লাসে setActionButton() পদ্ধতি যোগ করা হয়েছে। এটি ক্লায়েন্টকে আগে থেকেই লঞ্চ করা কাস্টম ট্যাবে কাস্টম অ্যাকশন বোতামের আইকন পরিবর্তন করতে দেয়।
  • CustomTabsCallback ক্লাসের onNavigationEvent পদ্ধতির জন্য নতুন ইভেন্ট হিসেবে TAB_SHOWN এবং TAB_HIDDEN কনস্ট্যান্ট যোগ করা হয়েছে।

রিভিশন 23.0.1

সেপ্টেম্বর ২০১৫

v7 ও v14 প্রেফারেন্স সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • মেটেরিয়াল ডিজাইন লেআউট ও স্টাইল ফাইল যোগ করা হয়েছে। (Issue 183376)
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • Android 4.1 (API লেভেল 16) ও তার পরের যেকোনও ভার্সনে হার্ডওয়্যার লেয়ারের ব্যবহার সীমিত করে Fragment ক্লাসের জন্য ক্র্যাশ সংক্রান্ত সমস্যা সমাধান করা হয়েছে। (সমস্যা 183896)
  • কোনও অ্যাক্টিভিটি setSupportActionBar() পদ্ধতি ব্যবহার করে Toolbar ক্লাসকে ActionBar হিসেবে কাজ করার জন্য সেট করলে, হার্ডওয়্যার বোতাম কাজ না করার সমস্যা সমাধান করা হয়েছে। (সমস্যা 183334)
  • AppCompatDialogFragment ক্লাস আপডেট করা হয়েছে, তাই এটি আর Windows feature must be requested before adding content সমস্যা দেখায় না। (Issue 183186)
ডিজাইন সহায়তা লাইব্রেরির জন্য পরিবর্তন:
  • AppBarLayout ক্লাস সংক্রান্ত সমস্যার সমাধান করা হয়েছে, তাই এটি এখন ঘোরানোর পরে সঠিকভাবে ড্র করে। (Issue 183109)
  • TabLayout ক্লাস সংক্রান্ত সমস্যা সমাধান করা হয়েছে, তাই এখন কোনও ব্যবহারকারী সোয়াইপ করার পরে ক্লিক করলে এটি সঠিকভাবে কাজ করে। (সমস্যা 183123)
কাস্টম ট্যাব সাপোর্ট লাইব্রেরির জন্য পরিবর্তন:
  • ভার্সন সাপোর্ট করার জন্য minSdkVersion ভ্যালু ১৬ থেকে কমিয়ে ১৫ করা হয়েছে।
  • ইন্টেন্ট থেকে CustomTabsSessionToken জেনারেট করার একটি উপায় যোগ করা হয়েছে।

রিভিশন ২৩

আগস্ট ২০১৫

নতুন সাপোর্ট লাইব্রেরি যোগ করা হয়েছে:

Support Library-তে হওয়া পরিবর্তনের সম্পূর্ণ তালিকা দেখতে, Support Library API-তে পার্থক্য সংক্রান্ত রিপোর্ট দেখুন।

রিভিশন 22.2.1

জুলাই ২০১৫

ডিজাইন সহায়তা লাইব্রেরির জন্য পরিবর্তন:
  • অ্যানিমেশন প্রোগ্রামমেটিক ট্রিগার করার জন্য FloatingActionButton ক্লাসে hide() এবং show() পদ্ধতি যোগ করা হয়েছে।
  • স্ন্যাকবার বাতিল না করা পর্যন্ত বা অন্য কোনও স্ন্যাকবার না দেখানো পর্যন্ত Snackbar ক্লাসে স্ন্যাকবার দেখানোর জন্য LENGTH_INDEFINITE কনস্ট্যান্ট যোগ করা হয়েছে। এছাড়াও, setActionTextColor(int) এবং setActionTextColor(ColorStateList) পদ্ধতি যোগ করা হয়েছে।
  • বর্তমানে বেছে নেওয়া ট্যাব ফিরিয়ে আনতে getSelectedTabPosition() পদ্ধতিটি TabLayout ক্লাসে যোগ করা হয়েছে।
  • মেথড চেনিংয়ের জন্য android.support.v7.app.NotificationCompat.MediaStyle ক্লাসের একটি সম্পূর্ণ ফ্লুয়েন্ট API প্রদান করা হয়েছে।
  • আইটেম ব্যাচ ইনসার্শনের জন্য RecyclerView-এ সুবিধা পদ্ধতি যোগ করা হয়েছে।

Support Library-তে হওয়া পরিবর্তনের সম্পূর্ণ তালিকা দেখতে, Support Library API-তে পার্থক্য সংক্রান্ত রিপোর্ট দেখুন।

রিভিশন 22.2.0

মে ২০১৫

ডিজাইন সহায়তা লাইব্রেরি যোগ করা হয়েছে:
  • ফ্লোটিং লেবেল হিসেবে EditText ইঙ্গিত ও ত্রুটি টেক্সট দেখানোর জন্য TextInputLayout যোগ করা হয়েছে।
  • ফ্লোটিং অ্যাকশন বোতাম হিসেবে আপনার ইন্টারফেসে প্রাথমিক অ্যাকশন প্রয়োগ করার জন্য FloatingActionButton যোগ করা হয়েছে। এটি ডিফল্ট বা মিনি সাইজ, যেকোনও একটিতে কাজ করে।
  • অ্যানিমেটেড স্ন্যাকবারে ঐচ্ছিক অ্যাকশন সহ লাইটওয়েট মতামত দেওয়ার জন্য Snackbar যোগ করা হয়েছে।
  • স্থির ও স্ক্রল করা যায় এমন ট্যাব প্রয়োগ করার জন্য TabLayout যোগ করা হয়েছে, সেইসাথে ViewPager-এর সাথে সহজ ইন্টিগ্রেশন।
  • NavigationView যোগ করা হয়েছে নেভিগেশন ড্রয়ার কন্টেন্ট প্রয়োগ করার জন্য, এর মধ্যে রয়েছে মেনু রিসোর্স-এর মাধ্যমে মেনু আইটেম ইনফলেটের ক্ষমতা।
  • CoordinatorLayout যোগ করা হয়েছে, এটি একটি সাধারণ উদ্দেশ্য লেআউট, যা একই লেভেলে থাকা ভিউয়ের মধ্যে নির্ভরতা তৈরি করতে এবং CoordinatorLayout.Behavior-এর মাধ্যমে কম্পোনেন্টগুলির মধ্যে সহজ স্ক্রল করার প্রতিক্রিয়া দেখাতে ব্যবহার করা হয়। Design লাইব্রেরির অনেক কম্পোনেন্ট CoordinatorLayout-এর চাইল্ড হওয়ার উপর নির্ভর করে।
  • AppBarLayout যোগ করা হয়েছে, এটি হল একটি কন্টেনার যা Toolbar এবং অন্যান্য ভিউ (যেমন TabLayout)-এর জন্য ব্যবহার করা হয়। স্ক্রল ইভেন্টে প্রতিক্রিয়া জানানোর জন্য স্ক্রল করে স্ক্রিনের বাইরে চলে যাওয়া, নিচের দিকে স্ক্রল করার ফলে প্রতিক্রিয়া হিসেবে দৃশ্যমান হওয়া অথবা স্ক্রিনের বাইরে/স্ক্রিনে স্ক্রল করার আগে কলাপ্স/আনকলাপ্স করা।
  • CollapsingToolbarLayout যোগ করা হয়েছে, এর মাধ্যমে Toolbar কীভাবে আড়াল করা যায় তা নিয়ন্ত্রণ করা যায়। টুলবার এগুলি করে আড়াল করা যেতে পারে: আড়াল করার সময় স্ক্রিনের উপরে কম্পোনেন্ট পিন করা, এর মধ্যে ImageView-এর মতো কম্পোনেন্টের প্যারালাক্স স্ক্রলিং অন্তর্ভুক্ত, অথবা ভিউ আংশিকভাবে আড়াল করা হলে কন্টেন্ট স্ক্রিম কালার যোগ করা।
v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:

Support Library-তে হওয়া পরিবর্তনের সম্পূর্ণ তালিকা দেখতে, Support Library API-তে পার্থক্য সংক্রান্ত রিপোর্ট দেখুন।

রিভিশন 22.1.0

এপ্রিল ২০১৫

অ্যানোটেশন লাইব্রেরিতে পরিবর্তন:
  • উন্নত কোড পরিদর্শন সংক্রান্ত সহায়তা প্রদান করতে Annotations লাইব্রেরি যোগ করা হয়েছে। অ্যানোটেশনকে মেটাডেটা ট্যাগ হিসেবে যোগ করা হয় যা আপনি ভেরিয়েবল, প্যারামিটার, এবং রিটার্ন ভ্যালুর সাথে অ্যাটাচ করেন যাতে মেথড রিটার্ন ভ্যালু, পাস করা প্যারামিটার এবং লোকাল ভেরিয়েবল ও ফিল্ড চেক করা যায়।
v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • রঙ সম্পর্কিত ইউটিলিটি পদ্ধতির একটি সেট প্রদান করতে ColorUtils ক্লাস যোগ করা হয়েছে।
  • unwrap() এবং wrap() পদ্ধতিকে DrawableCompat ক্লাসে যোগ করা হয়েছে , এর ফলে আপনি setTint(), setTintList(), এবং setTintMode() ব্যবহার করতে পারবেন। এটি API লেভেল ৪ বা তার পরের যেকোনও ডিভাইসে কাজ করে।
  • সিস্টেম ট্রেস বাফারে ট্রেস ইভেন্ট লেখার জন্য TraceCompat ক্লাস যোগ করা হয়েছে। এটি পরে Systrace টুল ব্যবহার করে সংগ্রহ ও ভিজ্যুয়ালাইজ করা যেতে পারে।
  • বৃত্তাকার পূর্ণসংখ্যা অ্যারে ডেটা স্ট্রাকচার তৈরি করতে CircularIntArray class যোগ করা হয়েছে।
  • CircularArray ক্লাসে clear(), removeFromStart(), এবং removeFromEnd() মেথড যোগ করা হয়েছে। এছাড়াও, এই ক্লাসে আগে থেকে থাকা পদ্ধতি পরিবর্তন করে সেগুলিকে নন-ফাইনাল করা হয়েছে।
  • InputDeviceCompat -কে InputDeviceCompat ক্লাসে ডেটা অ্যাক্সেস করার জন্য হেল্পার ক্লাস হিসেবে যোগ করা হয়েছে।
  • LayoutInflaterCompat ক্লাসকে LayoutInflaterCompat ক্লাসে ডেটা অ্যাক্সেস করার জন্য হেল্পার ক্লাস হিসেবে যোগ করা হয়েছে এবং LayoutInflaterFactory ইন্টারফেস যোগ করা হয়েছে।
  • নেস্টেড স্ক্রলিংয়ের জন্য ক্লাস, পদ্ধতি ও ইন্টারফেস যোগ করা হয়েছে।
    • নেস্টেড স্ক্রলিং পেরেন্ট ও চাইল্ড ভিউ প্রয়োগ করার জন্য NestedScrollingChildHelper ও NestedScrollingParentHelper সহায়ক ক্লাস যোগ করা হয়েছে।
    • View সাবক্লাস দ্বারা প্রয়োগ করার জন্য NestedScrollingChild ইন্টারফেস যোগ করা হয়েছে।
    • স্ক্রল অপারেশন কাজ করে এবং স্ক্রল সম্পর্কিত API প্রদান করে তা নিশ্চিত করতে NestedScrollingParent ও ScrollingView ইন্টারফেস যোগ করা হয়েছে।
    • ViewGroupCompat ক্লাসে getNestedScrollAxes() মেথড যোগ করা হয়েছে।
    • নেস্টেড স্ক্রলিং কাজ করানোর জন্য ViewParentCompat ক্লাসে পদ্ধতি যোগ করা হয়েছে।
    • NestedScrollView Android-এর নতুন ও পুরনো, উভয় ভার্সনে নেস্টেড স্ক্রল করা প্যারেন্ট ও চাইল্ডকে সাপোর্ট করার জন্য ক্লাস যোগ করা হয়েছে।
  • অক্ষীয় মান ও ইভেন্ট সোর্স পাওয়ার জন্য MotionEventCompat ক্লাসে পদ্ধতি ও ধ্রুবক যোগ করা হয়েছে।
  • ভুল, কন্টেন্ট বাতিলকরণ ও লেবেলের জন্য পদ্ধতি যোগ করতে AccessibilityNodeInfoCompat ক্লাস আপডেট করা হয়েছে।
  • অ্যানিমেশনের জন্য নিম্নলিখিত ইন্টারপোলেশন ক্লাস যোগ করা হয়েছে: FastOutLinearInInterpolator, FastOutSlowInInterpolator, LinearOutSlowInInterpolator, LinearOutSlowInInterpolator এবং PathInterpolatorCompat.
  • সাধারণ উদ্দেশ্যমূলক লেআউটে কম্পোনেন্টগুলির মধ্যে ফাঁক তৈরি করতে Space ক্লাস যোগ করা হয়েছে। gridlayout লাইব্রেরিতে এই ক্লাসটি আর ব্যবহার করা হয় না।
  • TextView-এ ফিচার অ্যাক্সেস করার জন্য TextViewCompat ক্লাস যোগ করা হয়েছে।
  • EdgeEffectCompat ক্লাসে onPull() পদ্ধতিতে ডিসপ্লেসমেন্ট প্যারামিটার যোগ করা হয়েছে।
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • অ্যাপকম্প্যাট উইজেটে টিন্ট সাপোর্ট যোগ করা হয়েছে, এর মধ্যে রয়েছে AppCompatAutoCompleteTextView, AppCompatButton, AppCompatCheckBox, AppCompatCheckedTextView, AppCompatEditText, AppCompatMultiAutoCompleteTextView, AppCompatRadioButton, AppCompatRatingBar, AppCompatSpinner এবং AppCompatTextView.
  • সাপোর্ট লাইব্রেরি অ্যাকশন বার ফিচার ব্যবহার করে এমন অ্যাক্টিভিটির জন্য AppCompatActivity-কে বেস ক্লাস হিসেবে আপডেট করা হয়েছে। এই ক্লাসটি বন্ধ হয়ে যাওয়া ActionBarActivity-এর পরিবর্তে ব্যবহার করা হয়।
  • কলব্যাক পারফর্ম করতে AppCompat-এর জন্য প্রয়োগ করা AppCompatCallback ইন্টারফেস যোগ করা হয়েছে।
  • যেকোনও অ্যাক্টিভিটিতে AppCompat-এর সহায়তা বাড়ানোর জন্য আপনি ব্যবহার করতে পারেন এমন AppCompatDelegate অ্যাবস্ট্রাক্ট ক্লাস ডেলিগেট হিসেবে যোগ করা হয়েছে।
  • AppCompat থিমের ডায়ালগের বেস ক্লাস হিসেবে AppCompatDialog ক্লাস যোগ করা হয়েছে।
  • AppCompat থিমের AlertDialog প্রদান করতে স্পিনার স্টাইল AlertDialog এবং AlertDialog.Builder ক্লাস যোগ করা হয়েছে।
  • Palette ইনস্ট্যান্স জেনারেট করার জন্য Palette.Builder ক্লাস যোগ করা হয়েছে।
    • Palette ক্লাসে from(Bitmap) মেথড যোগ করা হয়েছে, যাতে রিটার্ন করা Palette.Builder ইনস্ট্যান্স দিয়ে প্যালেট জেনারেট করা যায়।
    • Palette.generate() এবং Palette.generateAsync() পদ্ধতি অবচিত করা হয়েছে।
  • GridLayout.Spec ক্লাসে getAbsoluteAlignment() মেথড যোগ করা হয়েছে।
  • স্টাইলিংয়ের জন্য app:theme-এর শীঘ্রই বন্ধ হতে চলা ব্যবহার Toolbar. আপনি এখন API লেভেল 7 ও তার পরবর্তী যেকোনও ভার্সনের ডিভাইসে টুলবারের জন্য android:theme এবং API লেভেল 11 ও তার পরবর্তী যেকোনও ভার্সনের ডিভাইসে সব উইজেটের জন্য android:theme সহায়তা ব্যবহার করতে পারবেন।
v17 লিনব্যাক লাইব্রেরিতে হওয়া পরিবর্তন:
v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
  • তালিকা ক্রম অনুযায়ী আইটেম দেখাতে এবং তালিকায় হওয়া পরিবর্তন সম্পর্কে বিজ্ঞপ্তি দিতে SortedList ক্লাস যোগ করা হয়েছে।
  • SortedListAdapterCallback class যোগ করা হয়েছে যা RecyclerView.Adapter class-এর সাথে সাজানো তালিকা বাইন্ড করতে পারে।
v8 renderscript লাইব্রেরিতে হওয়া পরিবর্তন:
  • হিস্টোগ্রাম ফিল্টার হিসেবে ব্যবহার করার জন্য ScriptIntrinsicHistogram ক্লাস যোগ করা হয়েছে।
  • 2D অ্যালোকেশন রিসাইজ করার জন্য ScriptIntrinsicResize ক্লাস যোগ করা হয়েছে।

সংশোধন ২২

মার্চ ২০১৫

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • নির্দিষ্ট রিসোর্স আইডি, স্ক্রিন ডেনসিটি ও থিমের জন্য ড্রয়েবল অবজেক্ট রিটার্ন করতে getDrawable() মেথড আপডেট করা হয়েছে।
  • setImportantForAccessibility() পদ্ধতি যোগ করা হয়েছে যাতে কোনও ভিউ অ্যাক্সেসিবিলিটি ইভেন্ট ট্রিগার করবে কিনা তা আপনি জানাতে পারেন।
  • getStatusBarBackgroundDrawable() পদ্ধতি যোগ করা হয়েছে যাতে আপনি স্ট্যাটাস বার ব্যাকগ্রাউন্ড ড্রয়েবল পেতে পারেন।
  • NotificationCompat.CarExtender.UnreadConversation ক্লাসে পদ্ধতি যোগ করা হয়েছে যাতে Android Auto মেসেজিং অ্যাপ অতিরিক্ত বিজ্ঞপ্তি ডেটা রিট্রিভ করতে পারে।
  • সার্কেল লেআউটের ব্যাস রিটার্ন করার জন্য getProgressCircleDiameter() পদ্ধতি যোগ করা হয়েছে।
  • ডিফল্ট DrawerLayout স্ট্যাটাস বার কালার পরিবর্তন করে colorPrimaryDark করা হয়েছে।
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
v17 লিনব্যাক লাইব্রেরিতে হওয়া পরিবর্তন:
  • কাস্টমাইজ করা রিসাইকেল পুল সাইজের অনুমতি দিতে getRecycledPoolSize() এবং setRecycledPoolSize() পদ্ধতি যোগ করা হয়েছে।
  • টাইটেল আইকনের জন্য র‍্যাপ করা কন্টেন্ট কাজ করানোর জন্য লেআউট উইডথ সেটিংয়ে WRAP_CONTENT অ্যাট্রিবিউট যোগ করা হয়েছে।
  • ট্রানজিশন আপডেট উন্নত করতে R.transition XML-এ সংজ্ঞায়িত করা হয়েছে।
  • ডানদিক থেকে বাঁদিকে লেআউটের জন্য সহায়তা চালু করা হয়েছে।
  • PlaybackOverlayFragment ক্লাসে মিডিয়া কী ইভেন্ট প্লে ও পজ করার সুবিধা যোগ করা হয়েছে।
  • BrowseFragment ক্লাস ও DetailsFragment ক্লাসে এন্টার ও রিটার্ন ট্রানজিশন যোগ করা হয়েছে।
  • অবজেক্টের অ্যাডাপ্টার অ্যারেতে আইটেম রিপ্লেস করার জন্য replace() পদ্ধতি যোগ করা হয়েছে।
v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:

রিভিশন 21.0.3

ডিসেম্বর ২০১৪

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:

রিভিশন 21.0.2

নভেম্বর ২০১৪

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • বিজ্ঞপ্তিতে Android Auto এক্সটেনশন কাজ করার জন্য NotificationCompat.CarExtender ক্লাস যোগ করা হয়েছে।
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • নতুন পপ-আপ মেনু কাজ করার জন্য PopupMenu কনস্ট্রাক্টর যোগ করা হয়েছে।
  • Toolbar ক্লাসে 'আড়াল করুন' আইকনের বিবরণের জন্য সহায়তা যোগ করা হয়েছে।
  • SearchView উইজেট আপডেট করে commitIcon দেখানোর সুবিধা যোগ করা হয়েছে।
  • Toolbar ক্লাস থেকে buttonGravity অ্যাট্রিবিউট সরিয়ে দেওয়া হয়েছে।
v7 cardview লাইব্রেরিতে হওয়া পরিবর্তন:
  • CardView-এর ব্যাকগ্রাউন্ড কালার পরিবর্তন করার সুবিধা দিতে setCardBackgroundColor(ColorStateList) API যোগ করা হয়েছে।
  • এর অপাসিটি ভ্যালু আরও সঠিকভাবে রিপোর্ট করতে CardView পরিবর্তন করে TRANSLUCENT করা হয়েছে।
v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
  • পেজিংয়ের জন্য টাচ স্লপ কনফিগারেশন কাজ করানোর জন্য TOUCH_SLOP_DEFAULT এবং TOUCH_SLOP_PAGING কনস্ট্যান্ট RecyclerView ক্লাসে যোগ করা হয়েছে।
v17 লিনব্যাক লাইব্রেরিতে হওয়া পরিবর্তন:
  • v4 কোড ফ্র্যাগমেন্ট তৈরি করার জন্য সহায়তা যোগ করা হয়েছে।
  • CardView-এ সেকেন্ডারি টেক্সটের রঙ পরিবর্তন করা হয়েছে।

রিভিশন 21.0.1

নভেম্বর ২০১৪

Android 5.0-এর আগের ভার্সনে একাধিক Dalvik এক্সিকিউটেবল (DEX) ফাইল সাপোর্ট করার জন্য মাল্টিডেক্স সাপোর্ট লাইব্রেরি যোগ করা হয়েছে।

সংশোধন ২১

অক্টোবর ২০১৪

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • Android 5.0 (API লেভেল 21) ভার্সনে চলে এমন ডিভাইসের জন্য Fragment ট্রানজিশনের সহায়তা যোগ করা হয়েছে। মনে রাখবেন, ট্রানজিশন Android 4.4 ও এর আগের যেকোনও ভার্সনে চলছে এমন ডিভাইসে কোনও প্রভাব ফেলে না।
  • ডকুমেন্ট ট্রি নিয়ে কাজ করার সময় File থেকে ট্রানজিশন সহজ করতে DocumentFile যোগ করা হয়েছে। তবে, এই ক্লাসে প্ল্যাটফর্মের DocumentsContract Android 4.4 (API লেভেল 19)-এ যোগ করা API-এর তুলনায় আরও বেশি প্রসেসিং ওভারহেড প্রয়োজন। তাই, Android 4.4 ও তার পরের যেকোনও ভার্সনে রান করার সময় আপনাকে DocumentsContract ব্যবহার করতে হবে।
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • ম্যাটেরিয়াল ডিজাইন ইউজার ইন্টারফেসের জন্য সহায়তা যোগ করা হয়েছে।
  • Toolbar যোগ করা হয়েছে, যা অ্যাপ লেআউটের মধ্যে ব্যবহারের জন্য ActionBar-এর কার্যকারিতাকে সাধারণীকরণ করে।
  • আপডেট করা ActionBarDrawerToggle, যেটিতে মেনু-থেকে-তীরচিহ্ন অ্যানিমেশন আছে
  • প্রি-Android 5.0 ডিভাইসে চালানোর সময় থিম অ্যাট্রিবিউট ব্যবহার করে টিং করার অনুমতি দিতে আপডেট করা সাধারণ ইউজার ইন্টারফেস উইজেট
  • SwitchCompat যোগ করা হয়েছে, এটি হল Switch উইজেটের ব্যাকপোর্ট যা Android 4.0 (API লেভেল 14)-এ যোগ করা হয়েছিল।
নতুন v7 cardview লাইব্রেরি:
  • CardView উইজেট যোগ করা হয়েছে, যা ডেটা আইটেম দেখানোর জন্য মেটেরিয়াল ডিজাইন-মানানসই ইমপ্লিমেন্টেশন প্রদান করে।
নতুন v7 recyclerview লাইব্রেরি:
  • RecyclerView উইজেট যোগ করা হয়েছে, যা বড় ডেটা সেটের মধ্যে সীমিত উইন্ডো প্রদান করার জন্য একটি নমনীয় তালিকা ভিউ প্রদান করে।
নতুন v7 প্যালেট লাইব্রেরি:
  • Palette ক্লাস যোগ করা হয়েছে, যা আপনাকে কোনও ছবি থেকে বিশিষ্ট রঙ এক্সট্র্যাক্ট করতে দেয়।
নতুন v17 লিনব্যাক লাইব্রেরি:

রিভিশন ২০

জুলাই ২০১৪

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • Android Wear-এর জন্য বর্ধিত বিজ্ঞপ্তি সংক্রান্ত সহায়তা যোগ করা হয়েছে NotificationCompat.WearableExtender, যা আপনাকে বিজ্ঞপ্তিতে পরিধানযোগ্য ডিভাইস-নির্দিষ্ট ফিচার উল্লেখ করতে দেয়।
  • NotificationCompat.Action.WearableExtender যোগ করা হয়েছে, যা পরিধানযোগ্য ডিভাইসের বিজ্ঞপ্তিতে অ্যাকশন যোগ করার অনুমতি দেয়।
  • NotificationManagerCompat যোগ করা হয়েছে, যা আপনাকে এমন বিজ্ঞপ্তি ইস্যু করতে দেয় যা পরিধানযোগ্য ফিচারে সঠিকভাবে কাজ করে।
  • RemoteInput যোগ করা হয়েছে, যা হ্যান্ডহেল্ড ডিভাইসকে ওয়্যারেবল ডিভাইসে দেখানো বিজ্ঞপ্তি থেকে ভয়েস ইনপুট পেতে দেয়।
  • SwipeRefreshLayout-এ টাচ ফিডব্যাক ম্যানেজ করার বিষয়টি উন্নত করা হয়েছে।

রিভিশন 19.1.0

মার্চ ২০১৪

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • SwipeRefreshLayout ক্লাস যোগ করা হয়েছে, যা ব্যবহারকারীদের উল্লম্ব সোয়াইপ জেসচারের মাধ্যমে ভিউয়ের কন্টেন্ট রিফ্রেশ করতে দেয়।
  • নেভিগেশন ড্রয়ারে অ্যাক্সেসিবিলিটি সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
  • অ্যাকশন বারে ব্যাকগ্রাউন্ড সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

রিভিশন 19.0.1

ডিসেম্বর ২০১৩

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • প্রিন্টিংয়ের অ্যাসিঙ্ক্রোনাস হ্যান্ডলিং যোগ করার মাধ্যমে PrintHelper উন্নত করা হয়েছে।
  • DrawerLayout ক্লাসের অ্যাপ্রক্সিমেশন ঠিক করা হয়েছে addChildrenForAccessibility() মেথড।
  • ActionBarDrawerToggle-এ স্লাইড ড্রয়েবল মিররিং সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • কালেকশন ইটারেটর থেকে কোনও আইটেম সরানোর সময় অফ-বাই-ওয়ান সংক্রান্ত সমস্যা সমাধান করা হয়েছে।
v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
  • MediaRouteProvider.ProviderMetadata-এ কম্পোনেন্টের সম্পূর্ণ নাম ব্যবহার করে উন্নত রুট শনাক্তকরণ।
  • বন্ধ করা রুট লুকানোর জন্য MediaRouteChooserDialog আপডেট করা হয়েছে।
v8 renderscript লাইব্রেরিতে হওয়া পরিবর্তন
  • RenderScript থাঙ্কিং লেয়ারের জন্য সমস্যা প্রোপাগেশন যোগ করা হয়েছে।

রিভিশন ১৯

অক্টোবর ২০১৩

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • getObbDirs(), getExternalFilesDirs(), getExternalCacheDirs(), এবং getStorageState()-এর সাথে এক্সটার্নাল স্টোরেজ API-এর জন্য সহায়তা যোগ করা হয়েছে। এইসব হেল্পার পদ্ধতি সবসময় Android 4.3 (API লেভেল 18) ও এর আগের যেকোনও ভার্সনে চলা ডিভাইসে একটি ফাইল অবজেক্ট রিটার্ন করে। Android 4.4 (API লেভেল 19) ও তার পরবর্তী যেকোনও ভার্সনে রান করার সময়, এইসব পদ্ধতি একাধিক ফাইল অবজেক্ট রিটার্ন করতে পারে।
  • ন্যূনতম কোড সহ ছবি প্রিন্ট করার জন্য প্রিন্ট API-এর সাথে কাজ করে এমন PrintHelper ক্লাস যোগ করা হয়েছে।
  • পপ-আপ মেনুর জন্য ড্র্যাগ করে খোলার ইউজার ইন্টারফেস সংক্রান্ত সহায়তা যোগ করা হয়েছে। আরও তথ্যের জন্য, PopupMenuCompat এবং ListPopupWindowCompat দেখুন।
  • AccessibilityNodeProviderCompat-এ findFocus() পদ্ধতি এবং AccessibilityNodeInfoCompat-এ getLiveRegion() পদ্ধতি যোগ করার মাধ্যমে অ্যাক্সেসিবিলিটি সংক্রান্ত সহায়তা উন্নত করা হয়েছে।
  • নতুন স্কেলিং জেসচার পদ্ধতি অ্যাক্সেস করার জন্য ScaleGestureDetectorCompat হেল্পার ক্লাস যোগ করা হয়েছে।
  • ডানদিক থেকে বাঁদিকে লেখা হয় এমন ভাষায় ActionBarDrawerToggle দেখানোর ক্ষেত্রে হওয়া সমস্যার সমাধান করা হয়েছে।
  • টাচ ইভেন্ট গ্রহণ করতে বা সেগুলিকে অন্যান্য ভিউতে পাস-থ্রু করার অনুমতি দিতে AutoScrollHelper বিকল্প পরিবর্তন করা হয়েছে ।
v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
  • মিডিয়া প্লেব্যাক কিউয়িং, HTTP হেডার ভ্যালু সেট করা এবং মিডিয়া প্লেব্যাক সময়সীমার জন্য সহায়তা যোগ করা হয়েছে।
  • মিডিয়া রাউটারের মাধ্যমে মিডিয়া প্লেব্যাক সেশন স্পষ্টভাবে ম্যানেজ করার জন্য স্পষ্টভাবে সেশন শুরু করা, পাওয়া ও শেষ করার অ্যাকশন যোগ করা হয়েছে।

সংশোধন ১৮

জুলাই ২০১৩

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • ইউজার ইন্টারফেস
    • ডান থেকে বাঁদিকে ও বাঁদিক থেকে ডানদিকে ফর্ম্যাট করা টেক্সটকে একত্রিত করে এমন টেক্সট স্ট্রিং ম্যানেজ করার জন্য BidiFormatter যোগ করা হয়েছে।
    • প্রাথমিক লেআউট প্রসেসিংয়ে পেজারের পরিমাপ করা প্রস্থ শূন্য হলে, সেইসব কেস আরও ভালোভাবে হ্যান্ডেল করার জন্য ViewPager পরিবর্তন করা হয়েছে।
    • প্রোজেক্ট কোড এডিট করার সময় মাপজোখ করার জন্য এক্সেপশন না দেখানোর জন্য DrawerLayout ও SlidingPaneLayout পরিবর্তন করা হয়েছে।
  • অ্যাক্সেসিবিলিটি
    • কাস্টম ভিউয়ের জন্য অ্যাক্সেসিবিলিটি প্রয়োগ করা সহজ করতে ExploreByTouchHelper যোগ করা হয়েছে।
    • ViewPager ভুলভাবে TYPE_VIEW_SCROLLED অ্যাক্সেসিবিলিটি ইভেন্ট পূরণ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
    • অ্যাক্সেসিবিলিটি ইভেন্ট পপুলেট করার সময় ViewPager-এ নাল পয়েন্টার ব্যতিক্রম সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
    • CharSequence ইনপুটকে String অবজেক্টে পরিবর্তন করে AccessibilityNodeInfoCompat সরল করা হয়েছে।
    • AccessibilityRecordCompat কনস্ট্রাক্টর বাতিল করা হয়েছে যা ইনপুট হিসেবে Object ব্যবহার করত।
  • মিডিয়া
    • মিডিয়া ট্রান্সপোর্ট কন্ট্রোল ম্যানেজ করতে TransportMediator হেল্পার ক্লাস যোগ করা হয়েছে, যেমন চালানো, পজ করা, এড়িয়ে যাওয়া ও অন্যান্য মিডিয়া অ্যাকশন।
    • এক বা একাধিক ডিভাইস ডিসপ্লেতে ডিসপ্লে আউটপুট ম্যানেজ করার জন্য DisplayManagerCompat যোগ করা হয়েছে।
  • অন্যান্য পরিবর্তন
    • ডিভাইস ঘুম থেকে জেগে ওঠার ইভেন্ট শনাক্ত করার একটি সাধারণ প্যাটার্ন প্রয়োগ করার জন্য WakefulBroadcastReceiver হেল্পার ক্লাস যোগ করা হয়েছে এবং হ্যান্ড-অফ সম্পূর্ণ হওয়ার আগে ডিভাইসটি যাতে আবার স্লিপ মোডে না চলে যায় তা নিশ্চিত করার সময় Service-এ কাজ পাস করা হয়েছে।
    • দুটি নতুন API যোগ করা হয়েছে, commitContentChanged() এবং rollbackContentChanged(), AsyncTaskLoader-এ, যাতে ডেটা পরিবর্তনের জন্য ব্যাকগ্রাউন্ড আপডেট সংক্রান্ত সমস্যা সমাধান করতে সাহায্য করা যায়, যা পরে বাতিল করা হয়।
নতুন v7 appcompat লাইব্রেরি:
  • Android 2.1 (API লেভেল 7) ও তার পরবর্তী যেকোনও ভার্সনে অ্যাকশন বার ইউজার ইন্টারফেস ডিজাইন প্যাটার্ন প্রয়োগ করার অনুমতি দিতে ActionBar যোগ করা হয়েছে। এই ক্লাস ব্যবহার করার জন্য আপনাকে নতুন ActionBarActivity ক্লাস এক্সটেন্ড করে অ্যাক্টিভিটি প্রয়োগ করতে হবে।
নতুন v7 mediarouter লাইব্রেরি:

Google Cast ডেভেলপার প্রিভিউ-এর জন্য সহায়তা প্রদান করে এমন একটি নতুন mediarouter লাইব্রেরি যোগ করা হয়েছে। v7 mediarouter লাইব্রেরি API, বর্তমান ডিভাইস থেকে এক্সটার্নাল স্ক্রিন, স্পিকার ও অন্যান্য ডেস্টিনেশন ডিভাইসে মিডিয়া চ্যানেল ও স্ট্রিম রাউটিং কন্ট্রোল করার সুযোগ দেয়। এটি Android 2.1 (API লেভেল 7) ভার্সন পর্যন্ত মানানসই। আরও তথ্যের জন্য V7 mediarouter লাইব্রেরি দেখুন।

Support Library r18-এ চালু করা v7 mediarouter লাইব্রেরি API-তে Support Library-এর পরবর্তী রিভিশনে পরিবর্তন করা হতে পারে। এই মুহূর্তে, আমরা শুধুমাত্র Google Cast ডেভেলপার প্রিভিউর সাথে কানেক্ট করে লাইব্রেরি ব্যবহার করার সাজেশন দিই।

সংশোধন ১৩

মে ২০১৩

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • উইন্ডোর প্রান্ত থেকে টেনে আনা যায় এমন নেভিগেশন ড্রয়ার তৈরি করার জন্য DrawerLayout যোগ করা হয়েছে।
  • লিঙ্ক করা সারসংক্ষেপ ও বিস্তারিত ভিউ তৈরি করার জন্য SlidingPaneLayout উইজেট যোগ করা হয়েছে যা বিভিন্ন স্ক্রিন সাইজের সাথে মানানসই।
  • DrawerLayout ও ActionBar-এর ফাংশনগুলিকে একসাথে যুক্ত করার উপায় হিসেবে ActionBarDrawerToggle যোগ করা হয়েছে।
  • প্যারেন্ট ভিউয়ের মধ্যে ভিউ ড্র্যাগ করার জন্য ViewDragHelper-কে নতুন সাধারণ কম্পোনেন্ট হিসেবে যোগ করা হয়েছে।
  • Scroller ও OverScroller কম্প্যাটিবিলিটি সংক্রান্ত সহায়তা প্রদান করতে ScrollerCompat যোগ করা হয়েছে।
  • অ্যাপ্লিকেশনের মধ্যে ব্যক্তিগত ফাইল শেয়ার করার অনুমতি দিতে FileProvider যোগ করা হয়েছে।
  • ViewPager আপডেট করা হয়েছে, যাতে সংশ্লিষ্ট PagerAdapter ক্লাসটি notifyDataSetChanged()-এ কল না করেই পরিবর্তন করা হলে একটি ব্যতিক্রম তৈরি করা যায়।
  • ViewPager বাচ্চাদের আঁকা ছবি সাজানোর ক্রম সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • ট্যাপ টাইমআউট ও লং প্রেস ইভেন্টের মধ্যে GestureDetectorCompatমিসিং onSingleTapConfirmed(MotionEvent) কল ডিসপ্যাচ করার সমস্যা সমাধান করা হয়েছে।
নতুন v7 gridlayout লাইব্রেরি:
  • GridLayout যোগ করা হয়েছে যাতে GridLayout লেআউট অবজেক্টের জন্য সহায়তা প্রদান করা যায়।
  • android.support.v7.widget.Space যোগ করা হয়েছে যা GridLayout লেআউট অবজেক্টের মধ্যে খালি জায়গা তৈরি করতে ব্যবহার করা যেতে পারে।

রিভিশন ১২

ফেব্রুয়ারি ২০১৩

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • ViewPager-এর জন্য উন্নত ইন্টার‍্যাকশন আচরণ।
  • ViewPager-এর মাধ্যমে ভুল পৃষ্ঠা বেছে নেওয়া হতে পারে এমন একটি সমস্যার সমাধান করা হয়েছে।
  • ViewPager-এর লেআউটের সময় removeView() পদ্ধতি নির্দিষ্টভাবে ব্যবহার করা হয়েছে।
  • SearchViewCompat সংক্রান্ত সমস্যার সমাধান করা হয়েছে যেখানে বাতিল করার জন্য ফিরে যাওয়ার বোতাম ব্যবহার করলে সার্চ টেক্সট মুছে যায় না। এই সমাধানটি শুধুমাত্র হোস্ট API লেভেল ১৪ ও তার পরবর্তী ভার্সনে প্রযোজ্য।

রিভিশন ১১

নভেম্বর ২০১২

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • ইউজার ইন্টারফেস
    • নেস্টেড Fragment ক্লাসের জন্য সহায়তা যোগ করা হয়েছে।
    • FragmentManager ডিবাগিংয়ে উন্নতি করা হয়েছে।
    • FragmentTabHost-এ সমস্যার সমাধান করা হয়েছে, যেখানে ফ্র্যাগমেন্ট এবং ট্যাব ইন্টার‍্যাকশনের ফলে ListView স্টেট লস হতে পারে।
    • FragmentStatePagerAdapter-এ ব্যবহারকারীর কাছে দৃশ্যমান ইঙ্গিত সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
    • স্ক্রল করার জন্য কাস্টম ট্রানজিশন আচরণ সরবরাহ করার জন্য অ্যাপ্লিকেশনকে অনুমতি দিতে ViewPager-এ PageTransformer ইন্টারফেস যোগ করা হয়েছে।
    • বর্তমান রিলিজ থেকে TaskStackBuilder-এ নতুন ফিচার যোগ করা হয়েছে এবং সমস্যার সমাধান করা হয়েছে।
    • বর্তমানে ব্যবহার করা হচ্ছে এমন PagerAdapter PagerTitleStrip সঠিকভাবে ট্র্যাক করার জন্য ঠিক করা হয়েছে।
    • ডিসপ্লে ফ্লিকার করা, পজিশনিং ও টেক্সট ক্লিপিং সংক্রান্ত সমস্যাগুলি PagerTitleStrip-এর মাধ্যমে সমাধান করা হয়েছে।
    • আন্ডারলাইন আঁকার সময় PagerTabStrip প্যাডিং সঠিকভাবে মেনে চলার সমস্যা সমাধান করা হয়েছে।
  • অ্যাক্সেসিবিলিটি
    • AccessibilityEventCompat-এ নতুন অ্যাক্সেসিবিলিটি জেসচার ও টাচ ইভেন্টের জন্য সহায়তা যোগ করা হয়েছে।
    • ViewCompat-এ নতুন অ্যাক্সেসিবিলিটি API-এর জন্য সহায়তা যোগ করা হয়েছে।
    • ViewCompat-এ performAccessibilityAction() পদ্ধতির জন্য সহায়তা যোগ করা হয়েছে।
  • GestureDetectorCompat-এর সাথে জেসচার ব্যবহারের সুবিধা যোগ করা হয়েছে।
  • নতুন AtomicFile ক্লাস ব্যবহার করে ফাইলে অ্যাটমিক অপারেশন পারফর্ম করার জন্য সহায়তা যোগ করা হয়েছে।
  • make-এর সম্পূর্ণ সেটের জন্য সহায়তা যোগ করা হয়েছে IntentCompat।
  • trimToSize() পদ্ধতিটি LruCache ইউটিলিটি ক্লাসে যোগ করা হয়েছে।
  • ConnectivityManagerCompat আপডেট করে CONNECTIVITY_ACTION ব্রডকাস্ট থেকে NetworkInfo পেতে হবে।

রিভিশন ১০

আগস্ট ২০১২

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • Android 4.1 (API লেভেল 16)-এ চালু করা বিজ্ঞপ্তি ফিচারের জন্য সহায়তা যোগ করা হয়েছে, এর সাথে NotificationCompat-এ কিছু যোগ করা হয়েছে।

সংশোধন ৯

জুন ২০১২

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • ইউজার ইন্টারফেস সংক্রান্ত সহায়তা
    • PagerTabStrip সহায়তা যোগ করা হয়েছে, যা PagerTitleStrip-এর বাইরে উন্নত কার্যকারিতা প্রদান করে।
    • PagerTitleStrip এবং PagerTabStrip-এর জন্য বিভিন্ন সমস্যার সমাধান করা হয়েছে, যার মধ্যে setAllCaps বিকল্প, শীর্ষক অ্যালাইনমেন্ট, দেখার অভিজ্ঞতায় উন্নতি, ন্যূনতম প্রস্থ সংক্রান্ত সীমাবদ্ধতা এবং টাচ নেভিগেশন সংক্রান্ত সমস্যা অন্তর্ভুক্ত।
    • ViewPager পৃষ্ঠার গটার-এর জন্য সহায়তা যোগ করা হয়েছে, যা ViewPager ক্লাসকে এমন কন্টেন্টের জন্য পেজিং সহায়তা প্রদান করতে সাহায্য করে যেখানে একটি বড় অনুভূমিক স্ক্রল রেঞ্জ থাকে, যেমন একটি ম্যাপ।
    • ViewPager-এর জন্য অসংখ্য সমস্যার সমাধান করা হয়েছে, এর মধ্যে রয়েছে সাইজ ও ডেটা সেট পরিবর্তন সংক্রান্ত সমস্যা, পৃষ্ঠা পজিশনিং, ব্যবহারকারীর ইন্টার‍্যাকশন, স্ক্রল ট্র্যাকিং ও কীবোর্ড নেভিগেশন সংক্রান্ত সমস্যা।
    • Fragment-এর জন্য অনেক বাগ সমাধান করা হয়েছে, যার মধ্যে রয়েছে onActivityResult()-এর সঠিক হ্যান্ডেলিং, যখন টার্গেট ফ্র্যাগমেন্ট আর নেই, অদৃশ্য ফ্র্যাগমেন্টে সিলেকশন ইভেন্ট ডিসপ্যাচ করা, FragmentTransaction.replace()-এর উন্নত বিহেভিয়ার এবং ভিউ থেকে সরিয়ে দেওয়া ফ্র্যাগমেন্টের জন্য আরও ভাল স্টেট হ্যান্ডেলিং যোগ করা হয়েছে।
    • ViewCompat-এ postOnAnimation() পদ্ধতির জন্য সহায়তা যোগ করা হয়েছে।
    • উপলভ্য হলে Android 4.1 (API লেভেল 16) উপর নেভিগেশন কার্যকারিতা ব্যবহার করতে NavUtils আপডেট করা হয়েছে।
  • অ্যাক্সেসিবিলিটি
    • Android 4.1 (API লেভেল 16)-এ করা সমস্যার সমাধান অনুসরণ করতে, AccessibilityNodeInfoCompat সহ অ্যাক্সেসিবিলিটি সহায়তা ক্লাস আপডেট করা হয়েছে।
    • ViewPager-এ অ্যাক্সেসিবিলিটি স্ক্রল অ্যাকশনের জন্য সহায়তা যোগ করা হয়েছে।
  • সামগ্রিক উন্নতি
    • Android 4.1 (API লেভেল 16)-এ API পরিবর্তনগুলি প্রতিফলিত করতে TaskStackBuilder আপডেট করা হয়েছে।
    • পরিষেবা থেকে ব্যবহার করার অনুমতি দেওয়ার জন্য TaskStackBuilder উন্নত করা হয়েছে।
    • ShareCompat-এ EXTRA_HTML_TEXT এর জন্য সহায়তা যোগ করা হয়েছে।
    • setNumber() পদ্ধতি কাজ করে এমন NotificationCompat.Builder আপডেট করা হয়েছে।
    • ConnectivityManagerCompat-এ isActiveNetworkMetered() পদ্ধতির জন্য সহায়তা যোগ করা হয়েছে।

রিভিশন ৮

এপ্রিল ২০১২

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • TaskStackBuilder-এর মাধ্যমে জেনারেট করা PendingIntent অবজেক্টের জন্য ইন্টেন্ট ফ্ল্যাগ সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • API লেভেল ৭ ও তার পরের যেকোনও ভার্সনে লাইব্রেরি যাতে বিল্ড করা যায় তা নিশ্চিত করতে gridlayout লাইব্রেরি প্রোজেক্ট থেকে অব্যবহৃত অ্যাট্রিবিউট সরিয়ে দেওয়া হয়েছে।
  • gridlayout লাইব্রেরি প্রোজেক্টের জন্য .classpath ও .project ফাইল যোগ করা হয়েছে।

রিভিশন ৭

মার্চ ২০১২

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • ShareCompat যোগ করা হয়েছে, যা সোশ্যাল শেয়ারিং অ্যাপ্লিকেশনের জন্য কন্টেন্ট পাঠানো ও পাওয়ার জন্য সহায়ক ক্লাস প্রদান করে। এর মধ্যে সোর্স অ্যাপে শেয়ার করা ডেটা অ্যাট্রিবিউট করার জন্য নতুন মেটাডেটা অন্তর্ভুক্ত। এছাড়াও, এই ক্লাস Android 4.0-এ নতুন ShareActionProvider-এর সাথে মানানসই ইন্টিগ্রেশন প্রদান করে।
  • নেভিগেশনের জন্য Android ডিজাইন নির্দেশিকা প্রয়োগ করার ব্যাপারে সহায়তা প্রদান করতে NavUtils ও TaskStackBuilder যোগ করা হয়েছে। এইসব সংযোজনের মধ্যে ভার্সন জুড়ে অ্যাকশন বারের উপরে বোতাম প্রয়োগ করার একটি উপায় অন্তর্ভুক্ত। এই প্যাটার্ন প্রয়োগের উদাহরণ দেখতে, (<em><sdk></em>/samples/<em><platform></em>/AppNavigation)-এ AppNavigation স্যাম্পেল দেখুন।
  • স্ট্যান্ডার্ড সিস্টেম বিজ্ঞপ্তি তৈরি করার জন্য Android 3.0-এর Notification.Builder হেল্পার ক্লাসের সাথে মানানসই প্রয়োগ প্রদান করতে NotificationCompat.Builder যোগ করা হয়েছে।

রিভিশন ৬

ডিসেম্বর ২০১১

মনে রাখবেন: সাপোর্ট লাইব্রেরি API-এর রেফারেন্স এখন ফ্রেমওয়ার্ক রেফারেন্সের সাথে উপলভ্য, যেমন: android.support.v4.app।

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • ViewPager-এ পরিবর্তন:
    • ViewPager-এর জন্য অতিরিক্ত সাজসজ্জামূলক ভিউ সংক্রান্ত সহায়তা যোগ করা হয়েছে। XML লেআউটে পেজারের চাইল্ড ভিউ হিসেবে সাজসজ্জামূলক ভিউ প্রদান করা হতে পারে।
    • পৃষ্ঠার জন্য টাইটেল স্ট্রিং প্রদান করতে PagerAdapter.getPageTitle() যোগ করা হয়েছে, যা প্রতিটি পৃষ্ঠার জন্য ডিফল্ট হিসেবে কোনও টাইটেল থাকে না।
    • যোগ করা হয়েছে PagerTitleStrip, একটি নন-ইন্টার‍্যাক্টিভ টাইটেল স্ট্রিপ, যা ViewPager-এর চাইল্ড হিসেবে যোগ করা যেতে পারে। ডেভেলপাররা টেক্সট দেখানো ও রঙ, সেইসাথে লেআউটের সাইজিং ও গ্র্যাভিটি সংক্রান্ত তথ্য দিতে পারেন।
    • অ্যাডাপ্টার ইমপ্লিমেন্টেশনে ক্লাস কাস্টিং এড়াতে, View-এর পরিবর্তে PagerAdapter ViewGroup অবজেক্ট নেওয়ার পদ্ধতি আপডেট করা হয়েছে।
    • Launcher-স্টাইল ফ্লিং আচরণ ব্যবহার করতে ViewPager আপডেট করা হয়েছে।
    • ব্যবহারকারীর ইন্টারফেস ইন্টার‍্যাকশন ও টেস্ট অটোমেশন সংক্রান্ত সমস্যার সমাধান।
  • ফ্র্যাগমেন্টের জন্য সহায়তা:
    • setStartDeferred() পদ্ধতি পরিবর্তন করে setUserVisibleHint(boolean) করা হয়েছে।
    • পারফর্ম্যান্স উন্নত করতে অফ-স্ক্রিন পৃষ্ঠার জন্য ডিফার্ড স্টার্ট যোগ করা হয়েছে।
  • অ্যাক্সেসিবিলিটি API-এর জন্য সহায়তা:
    • নাল রিটার্ন করার পরিবর্তে খালি তালিকা রিটার্ন করতে AccessibilityDelegateCompat পদ্ধতি আপডেট করা হয়েছে।
    • v4 স্যাম্পেলের জন্য প্রয়োজনীয় নতুন API যোগ করা হয়েছে।

রিভিশন ৫

ডিসেম্বর ২০১১

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • অ্যাক্সেসিবিলিটি API-এর জন্য সহায়তা:
  • ViewPager-এ পরিবর্তন:
    • দুটি পৃষ্ঠার মধ্যে মার্জিন যোগ করার সুবিধা যোগ করা হয়েছে। মার্জিন পূরণ করার জন্য একটি ঐচ্ছিক Drawable দেওয়া যেতে পারে ।
    • EdgeEffect-এর জন্য সহায়তা যোগ করা হয়েছে।
    • কীবোর্ড নেভিগেশনের জন্য সহায়তা যোগ করা হয়েছে
    • বর্তমান পৃষ্ঠার দু'দিকে কতগুলি পৃষ্ঠা রাখা হবে তা নিয়ন্ত্রণ করার জন্য সাপোর্ট যোগ করা হয়েছে।
    • উন্নত টাচ ফিজিক্স।
    • ইউজার ইন্টারফেসের আচরণ সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

রিভিশন ৪

অক্টোবর ২০১১

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • সহায়তা EdgeEffect-এ EdgeEffectCompat যোগ করা হয়েছে।
  • LocalBroadcastManager যোগ করা হয়েছে যাতে অ্যাপ্লিকেশন সহজে রেজিস্টার করতে এবং গ্লোবালি ব্রডকাস্ট না করেই একটি অ্যাপ্লিকেশনের মধ্যে ইনটেন্ট পেতে পারে।
  • Android 2.3 ও তার পরবর্তী যেকোনও ভার্সনে View-এর জন্য ওভারস্ক্রল মোড চেক ও সেট করতে ViewCompat-এ সহায়তা যোগ করা হয়েছে।
  • Fragment API-তে পরিবর্তন:
    • নতুন মেনুর দৃশ্যমানতা নিয়ন্ত্রণ করতে নতুন API যোগ করা হয়েছে।
    • কাস্টম অ্যানিমেশন API যোগ করা হয়েছে।
    • কাস্টম, নন-কনফিগারেশন ইনস্ট্যান্স ডেটা ধরে রাখতে FragmentActivity-এ API যোগ করা হয়েছে।
    • বিভিন্ন ধরনের সমস্যার সমাধান।
  • Froyo ও প্ল্যাটফর্মের পুরনো ভার্সনে AsyncTask বাতিল করার সময় সমস্যা হওয়া সংক্রান্ত Loader বাগ ঠিক করা হয়েছে। সাপোর্ট কোড এখন সব প্ল্যাটফর্ম ভার্সনে একই বিহেভিয়ার বজায় রাখতে AsyncTask-এর নিজস্ব ভার্সন ব্যবহার করে।

রিভিশন ৩

জুলাই ২০১১

v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
  • Fragment.SavedState-এর জন্য সহায়তা যোগ করে
  • নতুন MotionEvent API-তে কাজ করার জন্য MotionEventCompat যোগ করে
  • নতুন VelocityTracker API-তে কাজ করার জন্য VelocityTrackerCompat যোগ করে
  • নতুন ViewConfiguration API-তে কাজ করার জন্য ViewConfigurationCompat যোগ করে
  • সমস্ত নতুন API (শুধুমাত্র সাপোর্ট লাইব্রেরিতে উপলভ্য) যা আপনাকে হরাইজন্টাল পেজিং সহ UI তৈরি করতে দেয়, এর ফলে ব্যবহারকারীরা কন্টেন্ট ভিউয়ের মধ্যে বাম ও ডানদিকে সোয়াইপ করতে পারেন। এইসব ক্লাস এর সাথে কাজ করে:
    • ViewPager: একটি ViewGroup যা চাইল্ড ভিউয়ের লেআউট ম্যানেজ করে, যার মধ্যে ব্যবহারকারী সোয়াইপ করতে পারেন।
    • PagerAdapter: একটি অ্যাডাপ্টার যা প্রতিটি পৃষ্ঠাকে প্রতিনিধিত্ব করে এমন ভিউ সহ ViewPager পূরণ করে।
    • FragmentPagerAdapter: ফ্র্যাগমেন্টের মধ্যে পরিবর্তনের জন্য PagerAdapter-এর এক্সটেনশন।
    • FragmentStatePagerAdapter: PagerAdapter-এর এক্সটেনশন লাইব্রেরির Fragment.SavedState-এর জন্য কাজ করে এমন ফ্র্যাগমেন্টের মধ্যে পরিবর্তন করার জন্য।
নতুন v13 সাপোর্ট লাইব্রেরি:
  • অনুভূমিক পেজিংয়ের জন্য FragmentPagerAdapter ও FragmentStatePagerAdapter অন্তর্ভুক্ত।

    এগুলি v4 সাপোর্ট লাইব্রেরিতে যোগ করা API-এর মতোই, তবে Android 3.2-এর অন্যান্য প্ল্যাটফর্ম কম্পোনেন্টের উপর নির্ভর করে। আপনি যদি Android 3.2 এবং এর পরবর্তী যেকোনও ভার্সনের জন্য ডেভেলপ করছেন, তাহলে v4-এর পরিবর্তে এই লাইব্রেরি ব্যবহার করুন (v4 লাইব্রেরির অন্যান্য সমস্ত API ইতিমধ্যেই API লেভেল 13-এর সাথে উপলভ্য)।

সংশোধন ২

মে ২০১১

v4 লাইব্রেরিতে হওয়া পরিবর্তন:
  • ফ্র্যাগমেন্ট অ্যানিমেশনের জন্য সহায়তা
  • Fragment.onActivityResult() সমস্যার সমাধান করা

রিভিশন ১

মার্চ ২০১১

v4 লাইব্রেরি সহ প্রাথমিক রিলিজ।