এই পৃষ্ঠায় পুরনো Support Library প্যাকেজ রিলিজের বিবরণ দেওয়া আছে। সবচেয়ে সাম্প্রতিক সাপোর্ট লাইব্রেরি রিলিজের জন্য, সাম্প্রতিক সাপোর্ট লাইব্রেরি রিভিশন দেখুন।
সংশোধন 26.0.0 বিটা ভার্সন ২
(জুন ২০১৭)
মনে রাখবেন, 26.0.0-beta2 হল প্রি-রিলিজ ভার্সন। এর API সারফেস পরিবর্তন করা যেতে পারে এবং এতে সাপোর্ট লাইব্রেরির লেটেস্ট স্থিতিশীল ভার্সনের ফিচার বা সমস্যার সমাধান অন্তর্ভুক্ত নাও থাকতে পারে।
গুরুত্বপূর্ণ: সাপোর্ট লাইব্রেরি এখন Google-এর Maven রিপোজিটরি থেকে উপলভ্য। আপনাকে SDK Manager থেকে support রেপোজিটরি ডাউনলোড করতে হবে না। আরও তথ্যের জন্য, সহায়তা লাইব্রেরি সেট-আপ দেখুন।
নতুন API
- নতুন
JobIntentServiceক্লাস, যা ডেভেলপারদের এমনভাবে টাস্ক শিডিউল করতে সাহায্য করে যা নতুন Android O ব্যাকগ্রাউন্ড এক্সিকিউশন সীমা মেনে চলে।
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:fontFamilyXML অ্যাট্রিবিউট ব্যবহার করে ফন্ট রিসোর্স বা 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.FadeView-এর প্রাথমিক আলফা ভার্সন উপেক্ষা করে (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[]রিটার্ন করে। mediacompatPlaybackStateCompat.Builder.setErrorMessage(CharSequence)বন্ধ করে দেওয়া হয়েছে। পরিবর্তে, নতুন পদ্ধতি ব্যবহার করুনsetErrorMessage(int, CharSequence), যেখানে একটি ত্রুটি কোড ও ঐচ্ছিক বিবরণ পাস করা হয়।EXTRA_SUGGESTION_KEYWORDSআর ব্যবহার করা যাবে না। এর পরিবর্তে,MediaBrowserCompatসার্চ কার্যকারিতা ব্যবহার করুন।v7.recyclerviewLinearLayoutManager.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()রেফারেন্স দেখুন।
সমাধান করা সমস্যা
StaggeredGridLayoutManagerthrowsIllegalArgumentException(AOSP issue 230295)RecyclerViewপ্রিফেচ, অ্যাটাচ করা আছে কিন্তু স্ক্রিনে নেই এমনRecyclerViewসঠিকভাবে ম্যানেজ করে নাLinearLayoutRobolectric-এর মাধ্যমে শনাক্ত করা যায়নিActivityধ্বংস হয়ে গেলে,onActivityCreated()-এর ফ্র্যাগমেন্টের জন্য ভুলভাবে কল করা হয়AppCompatImageViewকনস্ট্রাক্টর কারণArrayIndexOutOfBoundsExceptionCall.Detailsঅ্যাক্টিভিটি ট্রানজিশনে UI পারফর্ম্যান্স খারাপ
রিভিশন 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)-
RecyclerViewStaggeredGridLayoutManagerসহ ফুল-স্প্যান আইটেম সহ ক্র্যাশ (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ক্লাসের ফ্রেমওয়ার্কের সাথে সম্পর্কিত। RecyclerViewRecyclerView আইটেম প্রিফেচ করার ব্যাপারে উন্নতি:- নেস্টেড
RecyclerViewপ্রিফেচ অন্য স্ক্রল করাRecyclerView-এর মধ্যে থাকাRecyclerViewথেকে কন্টেন্ট প্রিফেচ করার সুবিধা চালু করে, এর সাথে কতখানি প্রিফেচ করা হবে তা কন্ট্রোল করার জন্য API থাকে: - স্ক্রল ও ফ্লিং করার সময় প্রিফেচিং চালু করতে কাস্টম
LayoutManagerঅবজেক্টের জন্য API যোগ করা হয়েছে - ফ্রেমের মধ্যে যতটা সম্ভব ক্রিয়েট/বাইন্ড কাজ করার জন্য প্রিফেচ করার ক্ষেত্রে উন্নতি
- নেস্টেড
সমাধান করা সমস্যা
- পাসওয়ার্ডের দৃশ্যমানতা টগল করার সুবিধা অ্যাক্সেসিবিলিটি পরীক্ষায় উত্তীর্ণ হতে পারেনি।
- প্রি-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()throwsIllegalArgumentException- অ্যানিমেট করা
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 থেকে কীভাবে মাইগ্রেট করবেন সেই বিষয়ে আরও তথ্য পেতে এর ডকুমেন্টেশন দেখুন।
-
android.support.design.widget -
android.support.v17.leanback.appBackgroundManager.getDefaultDimLayer()BackgroundManager.getDimLayer()BackgroundManager.setDimLayer()MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.getFragment()PlaybackControlGlue.getOnItemViewClickedListener()PlaybackControlGlue.onRowChanged()PlaybackControlGlue.pausePlayback()PlaybackControlGlue.skipToNext()PlaybackControlGlue.skipToPrevious()PlaybackControlGlue.startPlayback()PlaybackControlSupportGluePlaybackOverlayFragmentPlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget -
android.support.v4.appFragmentActivity.getSupportMediaController()FragmentActivity.setSupportMediaController()
রিভিশন 25.0.1
(নভেম্বর ২০১৬)
সমাধান করা সমস্যা
- ডেভেলপার-নির্দিষ্ট ড্রয়েবল যাতে অযথা ওভাররাইট না হয়ে যায়, সেই জন্য
TextInputLayoutপাসওয়ার্ড টগল এখন ডিফল্ট হিসেবে বন্ধ করা আছে। এটিpasswordToggleEnabledXML অ্যাট্রিবিউটের মাধ্যমে ম্যানুয়ালি চালু করা যেতে পারে। 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.BottomNavigationViewclass Material Design স্পেক থেকে bottom নেভিগেশন প্যাটার্ন ইমপ্লিমেন্ট করে। - নতুন
android.support.v13.view.inputmethodপ্যাকেজে ক্লাস অন্তর্ভুক্ত থাকে যা API লেভেল 13-এর পরে চালু করাandroid.view.inputmethod.InputConnectionফিচার অ্যাক্সেস করার জন্য ব্যবহার করা হয়। -
android.v7.widget.RecyclerView.DividerItemDecorationclass আইটেমগুলির মধ্যে উল্লম্ব বা অনুভূমিক ডিভাইডারের জন্য একটি বেস ইমপ্লিমেন্টেশন প্রদান করে। android.support.v7.app.NotificationCompat,DecoratedCustomViewStyleএবংDecoratedMediaCustomViewStyle-এ নতুন সাজানো স্টাইল, mirror ক্লাস platform API 24-এ যোগ করা হয়েছে।
সমাধান করা সমস্যা
AOSP ইস্যু ট্র্যাকারে সর্বজনীন বাগ ফিক্সের সম্পূর্ণ তালিকা উপলভ্য।
সংশোধন 24.2.1
সেপ্টেম্বর ২০১৬
সমাধান করা সমস্যা:
FloatingActionButtonআরCoordinatorLayout-এর ইনডাইরেক্ট চাইল্ডের সাথে অ্যাঙ্কর করা যাবে না। (AOSP সমস্যা 220250)fitsSystemWindows=true-এর সাথেCollapsingToolbarLayout-এর মধ্যে থাকা ছবি ঠিকমতো স্কেল হয় না। (AOSP সমস্যা 220389)CoordinatorLayout,IndexOutOfBoundsExceptionথ্রো করে যখনSnackbarদেখানো হয় এবং বাতিল করা হয়। (AOSP issue 220762)TextInputLayoutসমস্যার সমাধান করতে পারেনি টেক্সটের রঙ সংক্রান্ত সমস্যা। (AOSP সমস্যা 220305)BatchedCallback.onMoved(),BatchedCallback.onInserted()-কে কল করে। (AOSP সংক্রান্ত সমস্যা 220309)TextInputLayoutডানদিকের কম্পাউন্ড ড্রয়েবলকে ওভাররাইড করে। (AOSP সমস্যা 220728)
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()ব্যবহার করা হয়, যা সঠিকভাবে স্থানীয়কৃত বিবরণ প্রদান করে। - আপনাকে সরাসরি
ActivityCompatclass ইনস্ট্যানশিয়েট করা উচিত নয়। আসন্ন রিলিজে নন-স্ট্যাটিকgetReferrer(Activity)পদ্ধতিকে স্ট্যাটিক করা হবে। CoordinatorLayout.Behavior.isDirty()বন্ধ করে দেওয়া হয়েছে এবংCoordinatorLayoutআর এটি কল করে না। এই পদ্ধতির যেকোনও ইমপ্লিমেন্টেশন, সেইসাথে এই পদ্ধতিতে করা যেকোনও কল সরিয়ে দিতে হবে।MediaSessionCompat.obtain()পদ্ধতিটি বন্ধ করে দেওয়া হয়েছে এবং এর পরিবর্তে আরও উপযুক্ত নামযুক্ত পদ্ধতিfromMediaSession()ব্যবহার করা হচ্ছে।MediaSessionCompat.QueueItem.obtain()বন্ধ করে দেওয়া হয়েছে এবং এর পরিবর্তে আরও উপযুক্ত নামযুক্ত পদ্ধতিfromQueueItem()ব্যবহার করা হচ্ছে।- অনেক অ্যাবস্ট্র্যাক্ট ক্লাস বাতিল করা হয়েছে এবং সেগুলির পরিবর্তে
এমন ইন্টারফেস ব্যবহার করা হয়েছে যেগুলি সেগুলির ফ্রেমওয়ার্ক ইকুইভ্যালেন্টকে আরও ভালভাবে রিফ্লেক্ট করে।
AccessibilityStateChangeListenerCompatপরিবর্তন করেAccessibilityManagerCompat.AccessibilityStateChangeListenerইন্টারফেস করা হয়েছে।OnCloseListenerCompat-এর পরিবর্তেSearchViewCompat.OnCloseListenerইন্টারফেস ব্যবহার করা হচ্ছে।OnQueryTextListenerCompatপরিবর্তেSearchViewCompat.OnQueryTextListenerইন্টারফেস ব্যবহার করা হচ্ছে।
CustomTabsSession.setToolbarItem()বন্ধ করে দেওয়া হয়েছে এবং এর পরিবর্তে RemoteViews-ভিত্তিকsetSecondaryToolbarViews()ব্যবহার করা হচ্ছে।
সমস্যার সমাধান
রিলিজ 24.2.0-এর মাধ্যমে নিম্নলিখিত পরিচিত সমস্যাগুলি সমাধান করা হয়েছে:
- নিশ্চিত করুন যে প্রথম পরিমাপ পাসের আগে
setRefreshing(true)কল করা হলেSwipeRefreshLayoutইন্ডিকেটর দেখানো হয় (AOSP issue 77712) - পৃষ্ঠা পরিবর্তন করার সময়
TabLayoutযাতে ফ্লিকার না করে তা দেখা (AOSP issue 180454) - API লেভেল 11 ও তার নিচের ভার্সনে আনমার্শালিং করার সময়
ClassNotFoundExceptionSavedStateএড়িয়ে চলুন (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অবজেক্ট রেফারেন্স করার জন্য সহায়তা যোগ করা হয়েছে
- XML থেকে থিমযুক্ত
- ডিজাইন সহায়তা লাইব্রেরি সংক্রান্ত পরিবর্তন:
-
AppBarLayout-এ উন্নতিStateListAnimatorব্যবহার করে উচ্চতা সংক্রান্ত ডেটা ম্যানেজ করা
- v17 Leanback লাইব্রেরিতে হওয়া পরিবর্তন:
-
- প্রথমবার স্বাগত জানানোর জন্য
OnboardingFragmentযোগ করা হয়েছে এবং সেট-আপ ফ্লো
- প্রথমবার স্বাগত জানানোর জন্য
- কাস্টম ট্যাবের জন্য পরিবর্তন:
-
- সেকেন্ডারি টুলবারের জন্য
RemoteViewsহায়রার্কি প্রদান করার সুবিধা যোগ করা হয়েছে - এক-লাইনের ওয়ার্ম-আপের জন্য
CustomTabsClient.connectAndInitialize()যোগ করা হয়েছে
- সেকেন্ডারি টুলবারের জন্য
রিভিশন 23.4.0
মে ২০১৬
- v4 সাপোর্ট লাইব্রেরি সংক্রান্ত পরিবর্তন:
-
- ভুল ক্রমে ফ্র্যাগমেন্ট যোগ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 206901)
- স্ক্রল করে অফস্ক্রিন করার পরে অ্যাপ বার ড্র না করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে । (সমস্যা 178037)
- v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
-
- Android 4.4 (API লেভেল 19) ও এর আগের যেকোনও ভার্সনে চলা ডিভাইসে
DrawableContainerঅবজেক্টে ভেক্টর ড্রয়েবল ব্যবহার করার সুবিধা আবার চালু করারAppCompatDelegate.setCompatVectorFromResourcesEnabled()পদ্ধতি যোগ করা হয়েছে। আরও তথ্যের জন্য AppCompat v23.2 — Age of the vectors দেখুন। - API 23-এ
AppCompatDelegate.setDefaultNightMode()না API লেভেল 23-এ সঠিক রিসোর্স লোড করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 206573) NullPointerExceptionহতে পারে এমন সমস্যার সমাধান করা হয়েছে। (সমস্যা 207638)
- Android 4.4 (API লেভেল 19) ও এর আগের যেকোনও ভার্সনে চলা ডিভাইসে
- ডিজাইন সহায়তা লাইব্রেরি সংক্রান্ত পরিবর্তন:
-
- API লেভেল 21 - 22-এ
setErrorEnabled(false)-এর পরেTextInputLayoutসমস্যার টিন্ট মুছে দেয় না (সমস্যা 202829) এমন একটি সমস্যার সমাধান করা হয়েছে - অ্যানিমেশন বন্ধ করা থাকলে
FloatingActionButtonরিটার্ন না করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 206416) স্ক্রল ফ্ল্যাগের সাথে ব্যবহার করা হলেscroll|enterAlways|enterAlwaysCollapsed|snapAppBarLayoutস্ন্যাপ ফাংশনালিটিতে হওয়া সমস্যার সমাধান করা হয়েছে। (সমস্যা 207398)
- API লেভেল 21 - 22-এ
- Vector Drawable লাইব্রেরিতে করা পরিবর্তন:
-
- API লেভেল 23-এ
VectorDrawableCompatসঠিকভাবে রেন্ডার না হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।TextView(সমস্যা 206227)
- API লেভেল 23-এ
রিভিশন 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)
- API লেভেল ১৭ থেকে ১৯-এ
- 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)
- ভেক্টর অ্যাসেটের উপর নির্ভরতা ফিরিয়ে আনা হয়েছে যাতে
appcompat
লাইব্রেরি ব্যবহার করা ডেভেলপারদের
- v7 cardview লাইব্রেরিতে হওয়া পরিবর্তন:
-
CardView-এর জন্য নাইট মোড কাজ করবে। (সমস্যা 194497)
- v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
-
- বিভিন্ন পরিমাপ-নির্দিষ্ট পদ্ধতি সম্পর্কিত সমস্যার সমাধান করা হয়েছে। (সমস্যা 201856)
- লকডাউন পিরিয়ড কমানো হয়েছে, যার মধ্যে লেআউট বা স্ক্রল গণনা করার সময়
RecyclerViewঅ্যাডাপ্টার পরিবর্তন করার অনুমতি দেয় না। (সমস্যা 202046) - দৃশ্যমান নয় এমন আইটেমে
notifyItemChanged()কল করার সময় ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে। (সমস্যা 202136) - একই পরিমাপ পাসে
RecyclerView.LayoutManagerভিউ যোগ ও সরানোর সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা 193958)
- v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
-
- API লেভেল 17-এ
MediaRouter.getInstance()কল করার সময় ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে। (সমস্যা 180654)
- API লেভেল 17-এ
- 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_AUTOMODE_NIGHT_NOMODE_NIGHT_YESMODE_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 সাপোর্ট লাইব্রেরি যোগ করা হয়েছে:
-
- যোগ করা ক্লাস:
-
VectorDrawableCompatAnimatedVectorDrawableCompat
- API লেভেল ৭ বা তার পরের যেকোনও ভার্সনে চলে এমন
অ্যাপে
VectorDrawableঅ্যাসেট যোগ করার সুবিধা।AnimatedVectorDrawableঅ্যাসেট API লেভেল 11 বা তার পরবর্তী যেকোনও ভার্সনেও কাজ করে। ভেক্টর অ্যাসেট, ইমেজ অ্যাসেটের তুলনায় অনেক ছোট হতে পারে এবং একাধিক ডিভাইস স্ক্রিন সাপোর্ট করার জন্য প্রয়োজনীয় অ্যাসেটের সংখ্যা কমিয়ে অ্যাপের সাইজ কমাতে সাহায্য করে। - এই লাইব্রেরি এখন v7 AppCompat লাইব্রেরির উপর নির্ভরশীল, এর ফলে
ডেভেলপার ও AppCompat
সহজেই ভেক্টর ড্রয়েবল ব্যবহার করতে পারবেন।
ImageButtonবাImageView-এর মধ্যেVectorDrawableCompatব্যবহার করতে,app:srcCompatXML অ্যাট্রিবিউট বা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 } }
- আপনি যদি Android Plugin for Gradle 1.5.0 বা
এর আগের যেকোনও ভার্সন ব্যবহার করে তৈরি করেন, তাহলে আপনার
- 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”। অথবা,datePickerFormatXML অ্যাট্রিবিউট ব্যবহার করুন।
- 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 পছন্দ লাইব্রেরিতে হওয়া পরিবর্তন:
-
- ProGuard ব্যবহার সংক্রান্ত সমস্যার সমাধান করা হয়েছে। (সমস্যা ১৮৩২৬১)
- 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ক্লাসে স্ট্যাগার্ড স্লাইড ট্রানজিশন সংক্রান্ত সুবিধা যোগ করা হয়েছে।
- Support লাইব্রেরির জন্য
- ডিজাইন সহায়তা লাইব্রেরির জন্য পরিবর্তন:
-
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)
- Android 4.1 (API লেভেল 16) ও তার পরের যেকোনও ভার্সনে হার্ডওয়্যার লেয়ারের ব্যবহার সীমিত করে
- ডিজাইন সহায়তা লাইব্রেরির জন্য পরিবর্তন:
-
-
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 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- অ্যাক্সেসিবিলিটি ইভেন্ট হ্যান্ডেল করার জন্য
getContentChangeTypes()এবংsetContentChangeTypes()মেথড ও সংশ্লিষ্ট পরিবর্তন সংক্রান্ত ধরন ফিল্ডকেAccessibilityEventCompatক্লাসে যোগ করা হয়েছে। - কিউ থেকে কাস্টম অ্যাকশন
পাওয়ার জন্য
PlaybackStateCompatক্লাসে সম্পর্কিত স্টেট ফিল্ড সহgetActiveQueueItemId(),getCustomActions(), এবংgetExtras()মেথড যোগ করা হয়েছে। - প্লেব্যাক স্টেটে
কাস্টম অ্যাকশন যোগ করার জন্য
PlaybackStateCompat.Builderক্লাসেaddCustomAction(),setActiveQueueItemId(), এবংsetExtras()মেথড যোগ করা হয়েছে। - সারিতে থাকা কাস্টম অ্যাকশন পেতে
PlaybackStateCompat.CustomActionক্লাসেfromCustomAction()ওgetCustomAction()পদ্ধতি যোগ করা হয়েছে। - ভিউ নিয়ে কাজ করার জন্য
ViewCompatক্লাসেisAttachedToWindow(),offsetLeftAndRight()এবংoffsetTopAndBottom()মেথড যোগ করা হয়েছে। - পৃষ্ঠায়
পরিবর্তনের উত্তর দেওয়ার জন্য
ViewPagerক্লাসেaddOnPageChangeListener(),clearOnPageChangeListeners()এবংremoveOnPageChangeListener()মেথড যোগ করা হয়েছে।ViewPager.setOnPageChangeListener()পদ্ধতি অবচিত করা হয়েছে। - ভিউ প্যারেন্টকে
জানানোর জন্য
ViewParentCompatক্লাসেnotifySubtreeAccessibilityStateChanged()পদ্ধতি যোগ করা হয়েছে যে এর ডিসেন্ড্যান্টের অ্যাক্সেসিবিলিটি স্ট্যাটাস পরিবর্তন হয়েছে। - অ্যানিমেশন যোগ করার জন্য
ViewPropertyAnimatorCompatক্লাসেtranslationZ(),translationZBy(),z()এবংzBy()মেথড যোগ করা হয়েছে।
- অ্যাক্সেসিবিলিটি ইভেন্ট হ্যান্ডেল করার জন্য
- v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
-
- বর্তমান উইন্ডো থেকে শুরু হওয়া অ্যাকশন মোড
হ্যান্ডেল করার জন্য
AppCompatActivity,AppCompatCallbackএবংAppCompatDialogক্লাসেonWindowStartingSupportActionMode()মেথড যোগ করা হয়েছে। - নেটিভ অ্যাকশন মোড ম্যানেজ করার জন্য
isHandleNativeActionModesEnabled()এবংsetHandleNativeActionModesEnabled()মেথডগুলিAppCompatDelegateক্লাসে যোগ করা হয়েছে।
- বর্তমান উইন্ডো থেকে শুরু হওয়া অ্যাকশন মোড
হ্যান্ডেল করার জন্য
Support Library-তে হওয়া পরিবর্তনের সম্পূর্ণ তালিকা দেখতে, Support Library API-তে পার্থক্য সংক্রান্ত রিপোর্ট দেখুন।
রিভিশন 22.1.0
এপ্রিল ২০১৫
- অ্যানোটেশন লাইব্রেরিতে পরিবর্তন:
-
- উন্নত কোড পরিদর্শন সংক্রান্ত সহায়তা প্রদান করতে Annotations লাইব্রেরি যোগ করা হয়েছে। অ্যানোটেশনকে মেটাডেটা ট্যাগ হিসেবে যোগ করা হয় যা আপনি ভেরিয়েবল, প্যারামিটার, এবং রিটার্ন ভ্যালুর সাথে অ্যাটাচ করেন যাতে মেথড রিটার্ন ভ্যালু, পাস করা প্যারামিটার এবং লোকাল ভেরিয়েবল ও ফিল্ড চেক করা যায়।
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- রঙ সম্পর্কিত ইউটিলিটি পদ্ধতির একটি সেট প্রদান করতে
ColorUtilsক্লাস যোগ করা হয়েছে। unwrap()এবংwrap()পদ্ধতিকেDrawableCompatক্লাসে যোগ করা হয়েছে , এর ফলে আপনিsetTint(),setTintList(), এবংsetTintMode()ব্যবহার করতে পারবেন। এটি API লেভেল ৪ বা তার পরের যেকোনও ডিভাইসে কাজ করে।- সিস্টেম ট্রেস বাফারে ট্রেস ইভেন্ট লেখার জন্য
TraceCompatক্লাস যোগ করা হয়েছে। এটি পরে Systrace টুল ব্যবহার করে সংগ্রহ ও ভিজ্যুয়ালাইজ করা যেতে পারে। - বৃত্তাকার পূর্ণসংখ্যা অ্যারে ডেটা স্ট্রাকচার তৈরি করতে
CircularIntArrayclass যোগ করা হয়েছে। CircularArrayক্লাসেclear(),removeFromStart(), এবংremoveFromEnd()মেথড যোগ করা হয়েছে। এছাড়াও, এই ক্লাসে আগে থেকে থাকা পদ্ধতি পরিবর্তন করে সেগুলিকে নন-ফাইনাল করা হয়েছে।InputDeviceCompat-কেInputDeviceCompatক্লাসে ডেটা অ্যাক্সেস করার জন্য হেল্পার ক্লাস হিসেবে যোগ করা হয়েছে।LayoutInflaterCompatক্লাসকেLayoutInflaterCompatক্লাসে ডেটা অ্যাক্সেস করার জন্য হেল্পার ক্লাস হিসেবে যোগ করা হয়েছে এবংLayoutInflaterFactoryইন্টারফেস যোগ করা হয়েছে।- নেস্টেড স্ক্রলিংয়ের জন্য ক্লাস, পদ্ধতি ও ইন্টারফেস যোগ করা হয়েছে।
- নেস্টেড স্ক্রলিং পেরেন্ট ও চাইল্ড ভিউ প্রয়োগ করার জন্য
NestedScrollingChildHelperওNestedScrollingParentHelperসহায়ক ক্লাস যোগ করা হয়েছে। Viewসাবক্লাস দ্বারা প্রয়োগ করার জন্যNestedScrollingChildইন্টারফেস যোগ করা হয়েছে।- স্ক্রল অপারেশন কাজ করে
এবং স্ক্রল সম্পর্কিত API প্রদান করে তা নিশ্চিত করতে
NestedScrollingParentওScrollingViewইন্টারফেস যোগ করা হয়েছে। ViewGroupCompatক্লাসেgetNestedScrollAxes()মেথড যোগ করা হয়েছে।- নেস্টেড স্ক্রলিং কাজ করানোর জন্য
ViewParentCompatক্লাসে পদ্ধতি যোগ করা হয়েছে। NestedScrollViewAndroid-এর নতুন ও পুরনো, উভয় ভার্সনে নেস্টেড স্ক্রল করা প্যারেন্ট ও চাইল্ডকে সাপোর্ট করার জন্য ক্লাস যোগ করা হয়েছে।
- নেস্টেড স্ক্রলিং পেরেন্ট ও চাইল্ড ভিউ প্রয়োগ করার জন্য
- অক্ষীয় মান ও ইভেন্ট সোর্স পাওয়ার জন্য
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 লিনব্যাক লাইব্রেরিতে হওয়া পরিবর্তন:
-
- একাধিক ধাপের সিদ্ধান্ত প্রবাহ তৈরি করার
সুবিধা দিতে
GuidedStepFragment,GuidanceStylistএবংGuidedActionsStylistযোগ করা হয়েছে।
- একাধিক ধাপের সিদ্ধান্ত প্রবাহ তৈরি করার
সুবিধা দিতে
- v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
-
- তালিকা ক্রম অনুযায়ী আইটেম দেখাতে এবং
তালিকায় হওয়া পরিবর্তন সম্পর্কে বিজ্ঞপ্তি দিতে
SortedListক্লাস যোগ করা হয়েছে। SortedListAdapterCallbackclass যোগ করা হয়েছে যাRecyclerView.Adapterclass-এর সাথে সাজানো তালিকা বাইন্ড করতে পারে।
- তালিকা ক্রম অনুযায়ী আইটেম দেখাতে এবং
তালিকায় হওয়া পরিবর্তন সম্পর্কে বিজ্ঞপ্তি দিতে
- v8 renderscript লাইব্রেরিতে হওয়া পরিবর্তন:
-
- হিস্টোগ্রাম ফিল্টার হিসেবে
ব্যবহার করার জন্য
ScriptIntrinsicHistogramক্লাস যোগ করা হয়েছে। - 2D অ্যালোকেশন রিসাইজ করার জন্য
ScriptIntrinsicResizeক্লাস যোগ করা হয়েছে।
- হিস্টোগ্রাম ফিল্টার হিসেবে
ব্যবহার করার জন্য
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- নির্দিষ্ট রিসোর্স আইডি,
স্ক্রিন ডেনসিটি ও থিমের জন্য ড্রয়েবল অবজেক্ট রিটার্ন করতে
getDrawable()মেথড আপডেট করা হয়েছে। setImportantForAccessibility()পদ্ধতি যোগ করা হয়েছে যাতে কোনও ভিউ অ্যাক্সেসিবিলিটি ইভেন্ট ট্রিগার করবে কিনা তা আপনি জানাতে পারেন।getStatusBarBackgroundDrawable()পদ্ধতি যোগ করা হয়েছে যাতে আপনি স্ট্যাটাস বার ব্যাকগ্রাউন্ড ড্রয়েবল পেতে পারেন।-
NotificationCompat.CarExtender.UnreadConversationক্লাসে পদ্ধতি যোগ করা হয়েছে যাতে Android Auto মেসেজিং অ্যাপ অতিরিক্ত বিজ্ঞপ্তি ডেটা রিট্রিভ করতে পারে। - সার্কেল লেআউটের ব্যাস রিটার্ন করার জন্য
getProgressCircleDiameter()পদ্ধতি যোগ করা হয়েছে। - ডিফল্ট
DrawerLayoutস্ট্যাটাস বার কালার পরিবর্তন করেcolorPrimaryDarkকরা হয়েছে।
- নির্দিষ্ট রিসোর্স আইডি,
স্ক্রিন ডেনসিটি ও থিমের জন্য ড্রয়েবল অবজেক্ট রিটার্ন করতে
- v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
-
- স্পিনার স্টাইল যোগ করা হয়েছে
Base_Widget_AppCompat_Spinner_Underlined। -
Widget_AppCompat_AutoCompleteTextView,MultiAutoCompleteTextView,TextAppearance_AppCompat_ButtonএবংBase_Widget_AppCompat_RatingBar-এর সাথে টিংট করা উইজেট স্টাইল যোগ করা হয়েছে।
- স্পিনার স্টাইল যোগ করা হয়েছে
- v17 লিনব্যাক লাইব্রেরিতে হওয়া পরিবর্তন:
-
- কাস্টমাইজ করা রিসাইকেল পুল সাইজের অনুমতি দিতে
getRecycledPoolSize()এবংsetRecycledPoolSize()পদ্ধতি যোগ করা হয়েছে। - টাইটেল আইকনের জন্য র্যাপ করা কন্টেন্ট কাজ করানোর জন্য লেআউট উইডথ সেটিংয়ে
WRAP_CONTENTঅ্যাট্রিবিউট যোগ করা হয়েছে। - ট্রানজিশন আপডেট উন্নত করতে
R.transitionXML-এ সংজ্ঞায়িত করা হয়েছে। - ডানদিক থেকে বাঁদিকে লেআউটের জন্য সহায়তা চালু করা হয়েছে।
-
PlaybackOverlayFragmentক্লাসে মিডিয়া কী ইভেন্ট প্লে ও পজ করার সুবিধা যোগ করা হয়েছে। -
BrowseFragmentক্লাস ওDetailsFragmentক্লাসে এন্টার ও রিটার্ন ট্রানজিশন যোগ করা হয়েছে। - অবজেক্টের অ্যাডাপ্টার অ্যারেতে আইটেম রিপ্লেস করার জন্য
replace()পদ্ধতি যোগ করা হয়েছে।
- কাস্টমাইজ করা রিসাইকেল পুল সাইজের অনুমতি দিতে
- v7 mediarouter লাইব্রেরিতে হওয়া পরিবর্তন:
-
- Google Cast আইকন আপডেট করে মেটেরিয়াল ডিজাইন স্টাইল ব্যবহার করা হয়েছে।
MediaRouterডায়ালগে ব্যবহৃত সব আইকন আপডেট করে ম্যাটেরিয়াল ডিজাইন স্টাইল ব্যবহার করা হয়েছে।
- v7 recyclerview লাইব্রেরিতে হওয়া পরিবর্তন:
-
RecyclerViewক্লাসেgetlayoutPosition()ওgetadapterPosition()পদ্ধতি যোগ করা হয়েছে।classgetChildPosition()এবংfindViewHolderForPosition()পদ্ধতিকেRecyclerViewক্লাসে অবচিত করা হয়েছে।RecyclerView.ViewHolderক্লাসেgetPosition()পদ্ধতিকে অবচিত করা হয়েছে।RecyclerView.LayoutParamsক্লাসেgetViewPosition()পদ্ধতি অবচিত করা হয়েছে।
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- ওয়্যারেবল ডিভাইসে বিজ্ঞপ্তিতে বারকোড ডিসপ্লে উন্নত করতে একাধিক
NotificationCompat.WearableExtenderপদ্ধতি যোগ করা হয়েছে।
- ওয়্যারেবল ডিভাইসে বিজ্ঞপ্তিতে বারকোড ডিসপ্লে উন্নত করতে একাধিক
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- বিজ্ঞপ্তিতে Android Auto এক্সটেনশন কাজ করার জন্য
NotificationCompat.CarExtenderক্লাস যোগ করা হয়েছে।
- বিজ্ঞপ্তিতে Android Auto এক্সটেনশন কাজ করার জন্য
- 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-এ সেকেন্ডারি টেক্সটের রঙ পরিবর্তন করা হয়েছে।
- Android 5.0-এর আগের ভার্সনে একাধিক Dalvik এক্সিকিউটেবল (DEX) ফাইল সাপোর্ট করার জন্য মাল্টিডেক্স সাপোর্ট লাইব্রেরি যোগ করা হয়েছে।
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- Android 5.0 (API লেভেল 21) ভার্সনে চলে এমন ডিভাইসের জন্য
Fragmentট্রানজিশনের সহায়তা যোগ করা হয়েছে। মনে রাখবেন, ট্রানজিশন Android 4.4 ও এর আগের যেকোনও ভার্সনে চলছে এমন ডিভাইসে কোনও প্রভাব ফেলে না। - ডকুমেন্ট ট্রি নিয়ে কাজ করার সময়
Fileথেকে ট্রানজিশন সহজ করতেDocumentFileযোগ করা হয়েছে। তবে, এই ক্লাসে প্ল্যাটফর্মেরDocumentsContractAndroid 4.4 (API লেভেল 19)-এ যোগ করা API-এর তুলনায় আরও বেশি প্রসেসিং ওভারহেড প্রয়োজন। তাই, Android 4.4 ও তার পরের যেকোনও ভার্সনে রান করার সময় আপনাকেDocumentsContractব্যবহার করতে হবে।
- Android 5.0 (API লেভেল 21) ভার্সনে চলে এমন ডিভাইসের জন্য
- v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
-
- ম্যাটেরিয়াল ডিজাইন ইউজার ইন্টারফেসের জন্য সহায়তা যোগ করা হয়েছে।
Toolbarযোগ করা হয়েছে, যা অ্যাপ লেআউটের মধ্যে ব্যবহারের জন্যActionBar-এর কার্যকারিতাকে সাধারণীকরণ করে।- আপডেট করা
ActionBarDrawerToggle, যেটিতে মেনু-থেকে-তীরচিহ্ন অ্যানিমেশন আছে - প্রি-Android 5.0 ডিভাইসে চালানোর সময় থিম অ্যাট্রিবিউট ব্যবহার করে টিং করার অনুমতি দিতে আপডেট করা সাধারণ ইউজার ইন্টারফেস উইজেট
SwitchCompatযোগ করা হয়েছে, এটি হলSwitchউইজেটের ব্যাকপোর্ট যা Android 4.0 (API লেভেল 14)-এ যোগ করা হয়েছিল।
- নতুন v7 cardview লাইব্রেরি:
-
CardViewউইজেট যোগ করা হয়েছে, যা ডেটা আইটেম দেখানোর জন্য মেটেরিয়াল ডিজাইন-মানানসই ইমপ্লিমেন্টেশন প্রদান করে।
- নতুন v7 recyclerview লাইব্রেরি:
-
RecyclerViewউইজেট যোগ করা হয়েছে, যা বড় ডেটা সেটের মধ্যে সীমিত উইন্ডো প্রদান করার জন্য একটি নমনীয় তালিকা ভিউ প্রদান করে।
- নতুন v7 প্যালেট লাইব্রেরি:
-
Paletteক্লাস যোগ করা হয়েছে, যা আপনাকে কোনও ছবি থেকে বিশিষ্ট রঙ এক্সট্র্যাক্ট করতে দেয়।
- নতুন v17 লিনব্যাক লাইব্রেরি:
-
- এর মধ্যে
BrowseFragment,DetailsFragmentওPlaybackOverlayFragmentসহ টিভি ব্যবহারকারী ইন্টারফেস তৈরি করার জন্য সহায়তা যোগ করা হয়েছে। এইসব ইউজার ইন্টারফেস উইজেট ব্যবহার করা সম্পর্কে আরও জানতে, টিভি প্লেব্যাক অ্যাপ তৈরি করা দেখুন।
- এর মধ্যে
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- Android Wear-এর জন্য বর্ধিত বিজ্ঞপ্তি সংক্রান্ত সহায়তা যোগ করা হয়েছে
NotificationCompat.WearableExtender, যা আপনাকে বিজ্ঞপ্তিতে পরিধানযোগ্য ডিভাইস-নির্দিষ্ট ফিচার উল্লেখ করতে দেয়। NotificationCompat.Action.WearableExtenderযোগ করা হয়েছে, যা পরিধানযোগ্য ডিভাইসের বিজ্ঞপ্তিতে অ্যাকশন যোগ করার অনুমতি দেয়।NotificationManagerCompatযোগ করা হয়েছে, যা আপনাকে এমন বিজ্ঞপ্তি ইস্যু করতে দেয় যা পরিধানযোগ্য ফিচারে সঠিকভাবে কাজ করে।RemoteInputযোগ করা হয়েছে, যা হ্যান্ডহেল্ড ডিভাইসকে ওয়্যারেবল ডিভাইসে দেখানো বিজ্ঞপ্তি থেকে ভয়েস ইনপুট পেতে দেয়।-
SwipeRefreshLayout-এ টাচ ফিডব্যাক ম্যানেজ করার বিষয়টি উন্নত করা হয়েছে।
- Android Wear-এর জন্য বর্ধিত বিজ্ঞপ্তি সংক্রান্ত সহায়তা যোগ করা হয়েছে
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
SwipeRefreshLayoutক্লাস যোগ করা হয়েছে, যা ব্যবহারকারীদের উল্লম্ব সোয়াইপ জেসচারের মাধ্যমে ভিউয়ের কন্টেন্ট রিফ্রেশ করতে দেয়।- নেভিগেশন ড্রয়ারে অ্যাক্সেসিবিলিটি সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
- v7 appcompat লাইব্রেরিতে হওয়া পরিবর্তন:
-
- অ্যাকশন বারে ব্যাকগ্রাউন্ড সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
- 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ক্লাস এক্সটেন্ড করে অ্যাক্টিভিটি প্রয়োগ করতে হবে।
- Android 2.1 (API লেভেল 7) ও তার পরবর্তী যেকোনও ভার্সনে
অ্যাকশন বার ইউজার ইন্টারফেস ডিজাইন
প্যাটার্ন প্রয়োগ করার অনুমতি দিতে
- নতুন 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-এ নতুন ফিচার যোগ করা হয়েছে এবং সমস্যার সমাধান করা হয়েছে। - বর্তমানে ব্যবহার করা হচ্ছে এমন
PagerAdapterPagerTitleStripসঠিকভাবে ট্র্যাক করার জন্য ঠিক করা হয়েছে। - ডিসপ্লে ফ্লিকার করা, পজিশনিং ও টেক্সট ক্লিপিং সংক্রান্ত সমস্যাগুলি
PagerTitleStrip-এর মাধ্যমে সমাধান করা হয়েছে। - আন্ডারলাইন আঁকার সময়
PagerTabStripপ্যাডিং সঠিকভাবে মেনে চলার সমস্যা সমাধান করা হয়েছে।
- নেস্টেড
- অ্যাক্সেসিবিলিটি
-
AccessibilityEventCompat-এ নতুন অ্যাক্সেসিবিলিটি জেসচার ও টাচ ইভেন্টের জন্য সহায়তা যোগ করা হয়েছে। -
ViewCompat-এ নতুন অ্যাক্সেসিবিলিটি API-এর জন্য সহায়তা যোগ করা হয়েছে। ViewCompat-এperformAccessibilityAction()পদ্ধতির জন্য সহায়তা যোগ করা হয়েছে।
-
GestureDetectorCompat-এর সাথে জেসচার ব্যবহারের সুবিধা যোগ করা হয়েছে।- নতুন
AtomicFileক্লাস ব্যবহার করে ফাইলে অ্যাটমিক অপারেশন পারফর্ম করার জন্য সহায়তা যোগ করা হয়েছে। make-এর সম্পূর্ণ সেটের জন্য সহায়তা যোগ করা হয়েছেIntentCompat।trimToSize()পদ্ধতিটিLruCacheইউটিলিটি ক্লাসে যোগ করা হয়েছে।ConnectivityManagerCompatআপডেট করেCONNECTIVITY_ACTIONব্রডকাস্ট থেকে NetworkInfo পেতে হবে।
- ইউজার ইন্টারফেস
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- Android 4.1 (API লেভেল 16)-এ চালু করা বিজ্ঞপ্তি ফিচারের জন্য সহায়তা যোগ করা হয়েছে, এর সাথে
NotificationCompat-এ কিছু যোগ করা হয়েছে।
- Android 4.1 (API লেভেল 16)-এ চালু করা বিজ্ঞপ্তি ফিচারের জন্য সহায়তা যোগ করা হয়েছে, এর সাথে
- 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)-এ করা সমস্যার সমাধান অনুসরণ করতে,
- সামগ্রিক উন্নতি
- Android 4.1 (API লেভেল 16)-এ API পরিবর্তনগুলি
প্রতিফলিত করতে
TaskStackBuilderআপডেট করা হয়েছে। - পরিষেবা থেকে ব্যবহার করার অনুমতি দেওয়ার জন্য
TaskStackBuilderউন্নত করা হয়েছে। ShareCompat-এEXTRA_HTML_TEXTএর জন্য সহায়তা যোগ করা হয়েছে।setNumber()পদ্ধতি কাজ করে এমনNotificationCompat.Builderআপডেট করা হয়েছে।ConnectivityManagerCompat-এisActiveNetworkMetered()পদ্ধতির জন্য সহায়তা যোগ করা হয়েছে।
- Android 4.1 (API লেভেল 16)-এ API পরিবর্তনগুলি
প্রতিফলিত করতে
- ইউজার ইন্টারফেস সংক্রান্ত সহায়তা
- 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যোগ করা হয়েছে।
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- ViewPager-এ পরিবর্তন:
ViewPager-এর জন্য অতিরিক্ত সাজসজ্জামূলক ভিউ সংক্রান্ত সহায়তা যোগ করা হয়েছে। XML লেআউটে পেজারের চাইল্ড ভিউ হিসেবে সাজসজ্জামূলক ভিউ প্রদান করা হতে পারে।- পৃষ্ঠার জন্য টাইটেল স্ট্রিং প্রদান করতে
PagerAdapter.getPageTitle()যোগ করা হয়েছে, যা প্রতিটি পৃষ্ঠার জন্য ডিফল্ট হিসেবে কোনও টাইটেল থাকে না। - যোগ করা হয়েছে
PagerTitleStrip, একটি নন-ইন্টার্যাক্টিভ টাইটেল স্ট্রিপ, যা ViewPager-এর চাইল্ড হিসেবে যোগ করা যেতে পারে। ডেভেলপাররা টেক্সট দেখানো ও রঙ, সেইসাথে লেআউটের সাইজিং ও গ্র্যাভিটি সংক্রান্ত তথ্য দিতে পারেন। - অ্যাডাপ্টার ইমপ্লিমেন্টেশনে ক্লাস কাস্টিং এড়াতে, View-এর পরিবর্তে
PagerAdapterViewGroup অবজেক্ট নেওয়ার পদ্ধতি আপডেট করা হয়েছে। - Launcher-স্টাইল
ফ্লিং আচরণ ব্যবহার করতে
ViewPagerআপডেট করা হয়েছে। - ব্যবহারকারীর ইন্টারফেস ইন্টার্যাকশন ও টেস্ট অটোমেশন সংক্রান্ত সমস্যার সমাধান।
- ফ্র্যাগমেন্টের জন্য সহায়তা:
setStartDeferred()পদ্ধতি পরিবর্তন করেsetUserVisibleHint(boolean)করা হয়েছে।- পারফর্ম্যান্স উন্নত করতে অফ-স্ক্রিন পৃষ্ঠার জন্য ডিফার্ড স্টার্ট যোগ করা হয়েছে।
- অ্যাক্সেসিবিলিটি API-এর জন্য সহায়তা:
- নাল রিটার্ন করার পরিবর্তে খালি তালিকা রিটার্ন করতে
AccessibilityDelegateCompatপদ্ধতি আপডেট করা হয়েছে। - v4 স্যাম্পেলের জন্য প্রয়োজনীয় নতুন API যোগ করা হয়েছে।
- নাল রিটার্ন করার পরিবর্তে খালি তালিকা রিটার্ন করতে
- ViewPager-এ পরিবর্তন:
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- অ্যাক্সেসিবিলিটি API-এর জন্য সহায়তা:
View.AccessibilityDelegate-এ সহায়তা করার জন্যAccessibilityDelegateCompatযোগ করা হয়েছে।AccessibilityEvent-এ সহায়তা করার জন্যAccessibilityEventCompatযোগ করা হয়েছে।AccessibilityManager-এ সহায়তা করার জন্যAccessibilityManagerCompatযোগ করা হয়েছে।AccessibilityNodeInfo-এ সহায়তা করার জন্যAccessibilityNodeInfoCompatযোগ করা হয়েছে।AccessibilityRecord-এ সহায়তা করার জন্যAccessibilityRecordCompatযোগ করা হয়েছে।AccessibilityServiceInfo-এ সহায়তা করার জন্যAccessibilityServiceInfoCompatযোগ করা হয়েছে।ViewGroupCompatযোগ করা হয়েছে যাতেViewGroup-এ অ্যাক্সেসিবিলিটি ফিচার কাজ করে।View-এ অ্যাক্সেসিবিলিটি ফিচার কাজ করার জন্যViewCompatপরিবর্তন করা হয়েছে।
- ViewPager-এ পরিবর্তন:
- দুটি পৃষ্ঠার মধ্যে মার্জিন যোগ করার সুবিধা যোগ করা হয়েছে।
মার্জিন পূরণ করার জন্য একটি ঐচ্ছিক
Drawableদেওয়া যেতে পারে । EdgeEffect-এর জন্য সহায়তা যোগ করা হয়েছে।- কীবোর্ড নেভিগেশনের জন্য সহায়তা যোগ করা হয়েছে
- বর্তমান পৃষ্ঠার দু'দিকে কতগুলি পৃষ্ঠা রাখা হবে তা নিয়ন্ত্রণ করার জন্য সাপোর্ট যোগ করা হয়েছে।
- উন্নত টাচ ফিজিক্স।
- ইউজার ইন্টারফেসের আচরণ সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
- দুটি পৃষ্ঠার মধ্যে মার্জিন যোগ করার সুবিধা যোগ করা হয়েছে।
মার্জিন পূরণ করার জন্য একটি ঐচ্ছিক
- অ্যাক্সেসিবিলিটি API-এর জন্য সহায়তা:
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
- সহায়তা
EdgeEffect-এEdgeEffectCompatযোগ করা হয়েছে। LocalBroadcastManagerযোগ করা হয়েছে যাতে অ্যাপ্লিকেশন সহজে রেজিস্টার করতে এবং গ্লোবালি ব্রডকাস্ট না করেই একটি অ্যাপ্লিকেশনের মধ্যে ইনটেন্ট পেতে পারে।- Android 2.3 ও তার পরবর্তী যেকোনও ভার্সনে
View-এর জন্য ওভারস্ক্রল মোড চেক ও সেট করতেViewCompat-এ সহায়তা যোগ করা হয়েছে। - Fragment API-তে পরিবর্তন:
- নতুন মেনুর দৃশ্যমানতা নিয়ন্ত্রণ করতে নতুন API যোগ করা হয়েছে।
- কাস্টম অ্যানিমেশন API যোগ করা হয়েছে।
- কাস্টম,
নন-কনফিগারেশন ইনস্ট্যান্স ডেটা ধরে রাখতে
FragmentActivity-এ API যোগ করা হয়েছে। - বিভিন্ন ধরনের সমস্যার সমাধান।
- Froyo ও প্ল্যাটফর্মের পুরনো ভার্সনে
AsyncTaskবাতিল করার সময় সমস্যা হওয়া সংক্রান্তLoaderবাগ ঠিক করা হয়েছে। সাপোর্ট কোড এখন সব প্ল্যাটফর্ম ভার্সনে একই বিহেভিয়ার বজায় রাখতেAsyncTask-এর নিজস্ব ভার্সন ব্যবহার করে।
- সহায়তা
- v4 সাপোর্ট লাইব্রেরিতে হওয়া পরিবর্তন:
-
Fragment.SavedState-এর জন্য সহায়তা যোগ করে- নতুন
MotionEventAPI-তে কাজ করার জন্যMotionEventCompatযোগ করে - নতুন
VelocityTrackerAPI-তে কাজ করার জন্যVelocityTrackerCompatযোগ করে - নতুন
ViewConfigurationAPI-তে কাজ করার জন্য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()সমস্যার সমাধান করা
সংশোধন ২২
মার্চ ২০১৫
রিভিশন 21.0.3
ডিসেম্বর ২০১৪
রিভিশন 21.0.2
নভেম্বর ২০১৪
রিভিশন 21.0.1
নভেম্বর ২০১৪
সংশোধন ২১
অক্টোবর ২০১৪
রিভিশন ২০
জুলাই ২০১৪
রিভিশন 19.1.0
মার্চ ২০১৪
রিভিশন 19.0.1
ডিসেম্বর ২০১৩
রিভিশন ১৯
অক্টোবর ২০১৩
সংশোধন ১৮
জুলাই ২০১৩
সংশোধন ১৩
মে ২০১৩
রিভিশন ১২
ফেব্রুয়ারি ২০১৩
রিভিশন ১১
নভেম্বর ২০১২
রিভিশন ১০
আগস্ট ২০১২
সংশোধন ৯
জুন ২০১২
রিভিশন ৮
এপ্রিল ২০১২
রিভিশন ৭
মার্চ ২০১২
রিভিশন ৬
ডিসেম্বর ২০১১
মনে রাখবেন: সাপোর্ট লাইব্রেরি API-এর রেফারেন্স এখন
ফ্রেমওয়ার্ক রেফারেন্সের সাথে উপলভ্য, যেমন: android.support.v4.app।
রিভিশন ৫
ডিসেম্বর ২০১১
রিভিশন ৪
অক্টোবর ২০১১
রিভিশন ৩
জুলাই ২০১১
সংশোধন ২
মে ২০১১
রিভিশন ১
মার্চ ২০১১
v4 লাইব্রেরি সহ প্রাথমিক রিলিজ।