Android 12-এ ডেভেলপারদের জন্য দারুণ নতুন ফিচার ও API নিয়ে আসা হয়েছে। নিচের বিভাগগুলি থেকে আপনার অ্যাপের ফিচার সম্পর্কে জানতে পারবেন এবং সংশ্লিষ্ট API ব্যবহার করা শুরু করতে পারবেন।
নতুন, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API diff রিপোর্ট পড়ুন। নতুন API সম্পর্কে বিস্তারিত জানতে Android API রেফারেন্স দেখুন — নতুন API হাইলাইট করা হয়েছে যাতে সহজেই দেখতে পাওয়া যায়। এছাড়াও, প্ল্যাটফর্মে পরিবর্তন আপনার অ্যাপকে প্রভাবিত করতে পারে এমন ক্ষেত্রগুলি সম্পর্কে জানতে, Android 12-এর আচরণগত পরিবর্তনগুলি চেক করতে ভুলবেন না Android 12-কে টার্গেট করা অ্যাপের জন্য এবং সব অ্যাপের জন্য।
ব্যবহারকারীর অভিজ্ঞতা
Material You
Android 12-এ Material You নামে একটি নতুন ডিজাইন ল্যাঙ্গুয়েজ নিয়ে আসা হয়েছে, যা আপনাকে আরও পছন্দমতো, সুন্দর অ্যাপ তৈরি করতে সাহায্য করে। আপনার অ্যাপে লেটেস্ট Material Design 3-এর সব আপডেট নিয়ে আসতে, Material Design Components-এর আলফা ভার্সন ব্যবহার করে দেখুন।

উইজেটের উন্নতি
Android 12, প্ল্যাটফর্ম ও লঞ্চারে ব্যবহারকারী ও ডেভেলপারের অভিজ্ঞতা উন্নত করতে আগে থেকে থাকা Widgets API-কে নতুন রূপ দেয়। আপনার উইজেট Android 12-এর সাথে মানানসই কিনা তা নিশ্চিত করতে এবং নতুন ফিচারের সাথে এটি রিফ্রেশ করতে আপনাকে সাহায্য করার জন্য আমরা একটি নির্দেশিকা তৈরি করেছি।
আরও তথ্যের জন্য Android 12 উইজেট সংক্রান্ত উন্নতি দেখুন।
রিচ কন্টেন্ট যোগ করা
Android 12-এ নতুন ইউনিফায়েড API চালু করা হয়েছে যা আপনার অ্যাপকে যেকোনও উপলভ্য সোর্স থেকে রিচ কন্টেন্ট গ্রহণ করতে দেয়: ক্লিপবোর্ড, কীবোর্ড বা টেনে নিয়ে রাখা।
আরও তথ্যের জন্য, রিচ কন্টেন্ট রিসিভ করুন।
অ্যাপ স্প্ল্যাশ স্ক্রিন API
Android 12-এ সব অ্যাপের জন্য নতুন অ্যাপ লঞ্চ অ্যানিমেশন চালু করা হয়েছে, যার মধ্যে লঞ্চের সময় থেকে অ্যাপের মধ্যে মোশন, অ্যাপ আইকন দেখানো স্প্ল্যাশ স্ক্রিন এবং অ্যাপে ট্রানজিশন অন্তর্ভুক্ত। আরও জানতে স্প্ল্যাশ স্ক্রিন ডেভেলপার গাইড দেখুন।
রাউন্ডেড কর্নার API
Android 12-এ RoundedCorner
এবং WindowInsets.getRoundedCorner(int
position)
পরিচয় করানো হয়েছে, যা গোলাকার কোণের জন্য ব্যাসার্ধ এবং কেন্দ্রবিন্দু প্রদান করে।
আরও তথ্যের জন্য, গোলাকার কোণ দেখুন।
উন্নত হ্যাপটিক অভিজ্ঞতা
Android 12-এ UI ইভেন্টের জন্য তথ্যপূর্ণ হ্যাপটিক ফিডব্যাক, গেমিংয়ের জন্য ইমারসিভ ও আনন্দদায়ক এফেক্ট এবং প্রোডাক্টিভিটির জন্য অ্যাটেনশনাল হ্যাপটিক্স তৈরি করার টুল আরও উন্নত করা হয়েছে।
অ্যাকচুয়েটর এফেক্ট
Android 12-এ লো টিক-এর মতো এক্সপ্রেসিভ এফেক্ট যোগ করা হয়েছে যা লেটেস্ট অ্যাকচুয়েটরের আরও বড় ফ্রিকোয়েন্সি ব্যান্ডউইথের সুবিধা নেয়। গেম ডেভেলপাররা এখন গেম কন্ট্রোলারে স্বাধীনভাবে একাধিক, বিভিন্ন অ্যাকচুয়েটর অ্যাক্সেস করতে পারবেন যাতে একাধিক অ্যাকচুয়েটরে একই প্রভাব সিঙ্ক্রোনাসভাবে বা বিভিন্ন হ্যাপটিক প্রভাব প্রদান করা যায়। ডেভেলপারদের জন্য, আমরা কনস্ট্যান্ট এবং প্রিমিটিভ ব্যবহার করার সাজেশন দিই রিচ হ্যাপটিক এফেক্টের জন্য বিল্ডিং ব্লক হিসেবে - UI ইভেন্ট উন্নত করার জন্য কনস্ট্যান্ট এবং আরও জটিল এফেক্টের জন্য প্রিমিটিভের সিকোয়েন্স করতে হ্যাপটিক কম্পোজার। এই APIগুলি Pixel 4 ডিভাইসে ব্যবহার করে দেখার জন্য উপলভ্য এবং আমরা ডিভাইস প্রস্তুতকারক পার্টনারদের সাথে কাজ করে চলেছি যাতে ইকোসিস্টেম জুড়ে ব্যবহারকারীদের জন্য হ্যাপটিক্স সাপোর্টের লেটেস্ট ভার্সন নিয়ে আসা যায়।
অডিও-কাপল্ড হ্যাপটিক এফেক্ট
Android 12 অ্যাপ, ফোনের ভাইব্রেটর ব্যবহার করে অডিও সেশন থেকে প্রাপ্ত হ্যাপটিক প্রতিক্রিয়া তৈরি করতে পারে। এটি আরও ইমারসিভ গেম ও অডিও অভিজ্ঞতার সুযোগ করে দেয়। যেমন, হ্যাপটিক-এনহ্যান্সড রিংটোন কলারকে শনাক্ত করতে সাহায্য করতে পারে অথবা ড্রাইভিং গেম রুক্ষ ভূখণ্ডের অনুভূতি সিমুলেট করতে পারে।
আরও তথ্যের জন্য HapticGenerator
রেফারেন্স ডকুমেন্টেশন দেখুন।
AppSearch
Android 12-এ AppSearch চালু করা হয়েছে, এটি হল একটি হাই-পারফর্ম্যান্স অন-ডিভাইস সার্চ ইঞ্জিন, যা সিস্টেম পরিষেবা হিসেবে কাজ করে। AppSearch অ্যাপ্লিকেশনকে স্ট্রাকচার্ড ডেটা ইন্ডেক্স করতে এবং বিল্ট-ইন সম্পূর্ণ টেক্সট সার্চ করার ক্ষমতার মাধ্যমে এটি সার্চ করতে দেয়। এছাড়াও, AppSearch-এ নেটিভ সার্চ ফিচার কাজ করে, যেমন অত্যন্ত দক্ষ ইন্ডেক্সিং ও রিট্রিভাল, মাল্টি-ল্যাঙ্গুয়েজ সাপোর্ট ও প্রাসঙ্গিকতা র্যাংকিং।
AppSearch-এর দুটি ধরন আছে: আপনার অ্যাপ্লিকেশনের ব্যবহারের জন্য একটি স্থানীয় ইনডেক্স যা Android-এর পুরনো ভার্সনের সাথে মানানসই, অথবা Android 12-এ সমগ্র সিস্টেমের জন্য রক্ষণাবেক্ষণ করা একটি কেন্দ্রীয় ইনডেক্স। সেন্ট্রাল ইন্ডেক্স ব্যবহার করে, আপনার অ্যাপ্লিকেশন সিস্টেমের প্রি-ইনস্টল করা ইন্টেলিজেন্স কম্পোনেন্টের মাধ্যমে সিস্টেম UI সারফেসে তার ডেটা দেখানোর অনুমতি দিতে পারে। সিস্টেম UI সারফেসে ঠিক কোন ডেটা দেখানো হবে তা OEM-এর উপর নির্ভর করে। এছাড়াও, আপনার অ্যাপ্লিকেশন অন্যান্য অ্যাপ্লিকেশনের সাথে নিরাপদে ডেটা শেয়ার করতে পারে, যাতে সেগুলিও সেই ডেটা সার্চ করতে পারে।
ডেভেলপার নির্দেশিকা থেকে AppSearch সম্পর্কে আরও জানুন এবং AppSearch Jetpack লাইব্রেরি-এর সাথে এটি ব্যবহার করা শুরু করুন, যা ডেভেলপার-বান্ধব API সারফেসের পাশাপাশি অ্যানোটেশন প্রসেসর সহায়তা প্রদান করে।
গেম মোড
গেম মোড API এবং গেম মোড ইন্টারভেনশন আপনাকে ব্যবহারকারীর সেটিংস বা গেম-নির্দিষ্ট কনফিগারেশনের উপর ভিত্তি করে পারফর্ম্যান্স বা ব্যাটারির আয়ুর মতো বৈশিষ্ট্যগুলিকে অগ্রাধিকার দিয়ে গেমপ্লে অপ্টিমাইজ করতে দেয়।
আরও তথ্যের জন্য, গেম মোড দেখুন।
ছবির-মধ্যে-ছবি (PiP) সংক্রান্ত সাজেশন ও উন্নতি
Android 12-এ PiP মোডের জন্য নিম্নলিখিত উন্নতি করা হয়েছে:
নতুন PiP জেসচারের জন্য সহায়তা
Android 12-এ এখন PiP উইন্ডোর জন্য স্ট্যাশিং ও পিঞ্চ-টু-জুম জেসচার কাজ করে:
উইন্ডো স্ট্যাশ করতে, ব্যবহারকারী উইন্ডোটি বাঁদিকে বা ডানদিকের প্রান্তে টেনে আনতে পারেন। উইন্ডোটি আনস্ট্যাশ করতে, ব্যবহারকারী স্ট্যাশ করা উইন্ডোর দৃশ্যমান অংশে ট্যাপ করতে পারেন অথবা এটি টেনে বের করতে পারেন।
ব্যবহারকারী এখন পিঞ্চ-টু-জুম ব্যবহার করে PiP উইন্ডোর সাইজ পরিবর্তন করতে পারবেন।
প্রস্তাবিত নতুন ফিচার যা একটি মসৃণ PiP ট্রানজিশন অভিজ্ঞতা প্রদান করে
Android 12-এ ফুলস্ক্রিন ও PiP উইন্ডোর মধ্যে অ্যানিমেটেড ট্রানজিশনে উল্লেখযোগ্য কসমেটিক উন্নতি যোগ করা হয়েছে। আমরা সব প্রযোজ্য পরিবর্তন প্রয়োগ করার জন্য বিশেষভাবে সাজেস্ট করি; আপনি একবার এটি করে নিলে, এইসব পরিবর্তন অটোমেটিক ফোল্ডেবল ও ট্যাবলেটের মতো বড় স্ক্রিনে স্কেল হয়ে যায় এবং এর জন্য আর কোনও কাজ করতে হয় না।
এইসব ফিচার হল:
জেসচার নেভিগেশনের মাধ্যমে PiP মোডে আরও মসৃণ ট্রানজিশনের জন্য একটি নতুন API ফ্ল্যাগ
জেসচার নেভিগেশন মোডে হোম স্ক্রিনে যাওয়ার জন্য সোয়াইপ আপ করার সময় PiP মোডে আরও মসৃণ ট্রানজিশন প্রদান করতে
setAutoEnterEnabledফ্ল্যাগ ব্যবহার করুন। আগে, PiP উইন্ডো ফেড-ইন করার আগে Android, সোয়াইপ-আপ-টু-হোম অ্যানিমেশন শেষ হওয়ার জন্য অপেক্ষা করত।PiP মোডে প্রবেশ ও বের হওয়ার সময় আরও মসৃণ অ্যানিমেশন
SourceRectHintফ্ল্যাগটি এখন PiP মোডে প্রবেশ এবং প্রস্থান করার সময় মসৃণ অ্যানিমেশন প্রয়োগ করতে পুনরায় ব্যবহার করা হয়।ভিডিও নয় এমন কন্টেন্টের জন্য নিরবচ্ছিন্নভাবে ছোট বড় করার সুবিধা বন্ধ করতে নতুন API ফ্ল্যাগ
SeamlessResizeEnabledফ্ল্যাগটি PiP উইন্ডোতে ভিডিও নয় এমন কন্টেন্টের সাইজ পরিবর্তন করার সময় অনেক বেশি স্মুথ ক্রস-ফেডিং অ্যানিমেশন প্রদান করে। আগে, PiP উইন্ডোতে ভিডিও নয় এমন কন্টেন্টের সাইজ পরিবর্তন করলে ভিজ্যুয়াল আর্টফ্যাক্ট তৈরি হতে পারত।
নতুন ফোন কল বিজ্ঞপ্তি যা ইনকামিং কলের গুরুত্বের র্যাঙ্কিং করার অনুমতি দেয়
Android 12-এ ফোন কলের জন্য নতুন বিজ্ঞপ্তি স্টাইল
Notification.CallStyle
যোগ করা হয়েছে। এই টেমপ্লেট ব্যবহার করলে, আপনার অ্যাপ স্ট্যাটাস বারে কলের সময় দেখানো একটি বিশিষ্ট চিপ ডিসপ্লে করার মাধ্যমে
অ্যাক্টিভ কলের গুরুত্ব নির্দেশ করতে পারে;
ব্যবহারকারী এই চিপে ট্যাপ করে তার কলে ফিরে যেতে পারেন।
ইনকামিং ও চলমান কল ব্যবহারকারীদের জন্য সবচেয়ে গুরুত্বপূর্ণ, তাই এই বিজ্ঞপ্তিগুলি শেডে সবচেয়ে উপরে দেখানো হয়। এই র্যাংকিংয়ের মাধ্যমে সিস্টেম অগ্রাধিকার দেওয়া এইসব কল অন্যান্য ডিভাইসেও ফরওয়ার্ড করতে পারে।
সব ধরনের কলের জন্য নিম্নলিখিত কোড প্রয়োগ করুন।
Kotlin
// Create a new call with the user as caller. val incoming_caller = Person.Builder() .setName("Jane Doe") .setImportant(true) .build()
জাভা
// Create a new call with the user as caller. Person incoming_caller = new Person.Builder() .setName("Jane Doe") .setImportant(true) .build();
ইনকামিং কলের জন্য কল স্টাইল বিজ্ঞপ্তি তৈরি করতে
forIncomingCall() ব্যবহার করুন।
Kotlin
// Create a call style notification for an incoming call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent)) .addPerson(incoming_caller)
জাভা
// Create a call style notification for an incoming call. Notification.Builder builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent)) .addPerson(incoming_caller);
forOngoingCall() ব্যবহার করুন
যাতে চালু থাকা কলের জন্য কল স্টাইল বিজ্ঞপ্তি তৈরি করা যায়।
Kotlin
// Create a call style notification for an ongoing call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forOnGoingCall(caller, hangupIntent)) .addPerson(second_caller)
জাভা
// Create a call style notification for an ongoing call. Notification.Builder builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forOnGoingCall(caller, hangupIntent)) .addPerson(second_caller);
কল স্ক্রিনিংয়ের জন্য কল স্টাইল বিজ্ঞপ্তি তৈরি করতে
forScreeningCall() ব্যবহার করুন।
Kotlin
// Create a call style notification for screening a call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent)) .addPerson(second_caller)
জাভা
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent)) .addPerson(second_caller);
বিজ্ঞপ্তির জন্য এনরিচড ইমেজ সাপোর্ট
Android 12-এ, আপনি এখন MessagingStyle()
এবং BigPictureStyle()
বিজ্ঞপ্তিতে অ্যানিমেটেড ছবি প্রদান করে আপনার অ্যাপের বিজ্ঞপ্তি সংক্রান্ত অভিজ্ঞতাকে আরও সমৃদ্ধ করতে পারবেন। এছাড়াও, আপনার অ্যাপ এখন ব্যবহারকারীদের ছবির মেসেজ পাঠানোর সুবিধা দিতে পারে যখন
তারা বিজ্ঞপ্তি শেড থেকে মেসেজের উত্তর দেয়।
জেসচার নেভিগেশনের জন্য ইমারসিভ মোডের উন্নতি
Android 12-এ বর্তমান আচরণকে একত্রিত করা হয়েছে যাতে ব্যবহারকারীরা সহজেই ইমারসিভ মোডে থাকাকালীন জেসচার নেভিগেশন কমান্ড পারফর্ম করতে পারেন। এছাড়াও, Android 12-এ স্টিকি ইমারসিভ মোডের জন্য ব্যাকওয়ার্ড কম্প্যাটিবিলিটি আচরণ প্রদান করা হয়।
সাম্প্রতিক URL শেয়ারিং (শুধুমাত্র Pixel)
Pixel ডিভাইসে, ব্যবহারকারীরা এখন সরাসরি 'সাম্প্রতিক' স্ক্রিন থেকে সম্প্রতি দেখা ওয়েব কন্টেন্টের লিঙ্ক শেয়ার করতে পারবেন। অ্যাপে কন্টেন্ট দেখার পরে, ব্যবহারকারী 'সাম্প্রতিক' স্ক্রিনে সোয়াইপ করে সেই অ্যাপটি খুঁজে পেতে পারেন যেখানে তিনি কন্টেন্টটি দেখেছেন, তারপর URL কপি বা শেয়ার করতে লিঙ্ক বোতামে ট্যাপ করতে পারেন।
আরও তথ্যের জন্য, সাম্প্রতিক URL শেয়ারিং চালু করুন।
নিরাপত্তা ও গোপনীয়তা
প্রাইভেসি ড্যাশবোর্ড
Android ১২ বা তার পরবর্তী যেকোনও ভার্সনে চলে এমন ডিভাইসে, সিস্টেম সেটিংসে প্রাইভেসি ড্যাশবোর্ড স্ক্রিন দেখা যায়। এই স্ক্রিনে, ব্যবহারকারীরা আলাদা আলাদা স্ক্রিন অ্যাক্সেস করতে পারবেন, যেখানে অ্যাপ কখন লোকেশন, ক্যামেরা এবং মাইক্রোফোন তথ্য অ্যাক্সেস করে তা দেখানো হয়। প্রতিটি স্ক্রিনে একটি টাইমলাইন দেখানো হয়, যেখানে বিভিন্ন অ্যাপ কখন নির্দিষ্ট ধরনের ডেটা অ্যাক্সেস করেছে তা দেখা যায়। ছবি ১-এ লোকেশন তথ্যের জন্য ডেটা অ্যাক্সেস টাইমলাইন দেখানো হয়েছে।
আপনার অ্যাপ কেন লোকেশন, ক্যামেরা বা মাইক্রোফোন তথ্য অ্যাক্সেস করে তা বুঝতে সাহায্য করার জন্য আপনার অ্যাপ ব্যবহারকারীদের জন্য একটি যুক্তি প্রদান করতে পারে। এই যুক্তি নতুন প্রাইভেসি ড্যাশবোর্ড স্ক্রিন, আপনার অ্যাপের অনুমতি স্ক্রিন অথবা দুটিতেই দেখা যেতে পারে।
ব্লুটুথ অ্যাক্সেস করার অনুমতি
Android 12-এ
BLUETOOTH_SCAN,
BLUETOOTH_ADVERTISE
এবং
BLUETOOTH_CONNECT
অনুমতি চালু করা হয়েছে। এইসব অনুমতি Android ১২-কে টার্গেট করা অ্যাপের জন্য ব্লুটুথ ডিভাইসের সাথে
ইন্টার্যাক্ট করা সহজ করে তোলে, বিশেষ করে সেইসব অ্যাপের জন্য যেগুলির
ডিভাইসের লোকেশন অ্যাক্সেস করার প্রয়োজন হয় না।
আপনার অ্যাপের ব্লুটুথ সংক্রান্ত অনুমতির ঘোষণা আপডেট করুন
Android 12 বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করার জন্য আপনার ডিভাইস প্রস্তুত করতে, আপনার অ্যাপের লজিক আপডেট করুন। ব্লুটুথ অনুমতির পুরনো সেট ঘোষণা করার পরিবর্তে, ব্লুটুথ অনুমতির আরও আধুনিক সেট ঘোষণা করুন।
অনুমতি গ্রুপ লুকআপ
Android 12 বা তার পরবর্তী ভার্সনে, সিস্টেম কীভাবে প্ল্যাটফর্ম-প্রদত্ত অনুমতি অনুমতি গ্রুপে সাজায়, আপনি সেই বিষয়ে কোয়েরি করতে পারবেন:
- সিস্টেম যে পারমিশন গ্রুপে প্ল্যাটফর্ম-নির্ধারিত পারমিশন রেখেছে, সেটি নির্ধারণ করতে
getGroupOfPlatformPermission()কল করুন। - সিস্টেম কোনও নির্দিষ্ট পারমিশন গ্রুপে যে প্ল্যাটফর্ম-নির্ধারিত পারমিশন রেখেছে তা নির্ধারণ করতে,
getPlatformPermissionsForGroup()-এ কল করুন।
অ্যাপ্লিকেশন ওভারলে উইন্ডো লুকান
ডেভেলপারের অ্যাপের সাথে ইন্টার্যাক্ট করার সময় ব্যবহারকারী কী দেখবেন তার উপর ডেভেলপারকে আরও নিয়ন্ত্রণ দিতে, Android 12-এ
ওভারলে উইন্ডো লুকানোর সুবিধা চালু করা হয়েছে।
SYSTEM_ALERT_WINDOW
অনুমতি আছে এমন অ্যাপের মাধ্যমে এই উইন্ডো তৈরি করা হয়।
HIDE_OVERLAY_WINDOWS
অনুমতি ঘোষণা করার পরে, অ্যাপের নিজস্ব উইন্ডো দেখা গেলে,
TYPE_APPLICATION_OVERLAY
ধরনের সব উইন্ডো লুকানো উচিত কিনা তা নির্দেশ করতে, কোনও অ্যাপ
setHideOverlayWindows()
কল করতে পারে। অ্যাপগুলি সংবেদনশীল স্ক্রিন দেখানোর সময় এটি করতে বেছে নিতে পারে, যেমন ট্রানজ্যাকশন কনফার্মেশন ফ্লো।
যেসব অ্যাপ TYPE_APPLICATION_OVERLAY ধরনের উইন্ডো দেখায়, সেগুলির ক্ষেত্রে
বিকল্পের কথা বিবেচনা করা উচিত যা তাদের ব্যবহারের ক্ষেত্রে আরও উপযুক্ত হতে পারে, যেমন
ছবির-মধ্যে-ছবি বা
বাবল।
পরিচিত স্বাক্ষরকারীর অনুমতি সুরক্ষা ফ্ল্যাগ
Android ১২ থেকে শুরু করে, স্বাক্ষর-লেভেল অনুমতির জন্য
knownCerts অ্যাট্রিবিউট
আপনাকে ঘোষণার সময় পরিচিত স্বাক্ষর
সার্টিফিকেটের ডাইজেস্ট রেফার করার
অনুমতি দেয়।
আপনার অ্যাপ এই অ্যাট্রিবিউট ঘোষণা করতে পারে এবং knownSigner ফ্ল্যাগ ব্যবহার করে
ডিভাইস ও অ্যাপকে অন্যান্য অ্যাপকে স্বাক্ষর সংক্রান্ত অনুমতি প্রদান করার
অনুমতি দিতে পারে, ডিভাইস তৈরি ও শিপমেন্টের সময় অ্যাপে স্বাক্ষর করার প্রয়োজন হয় না।
ডিভাইস প্রপার্টি অ্যাটেস্টেশন
Android 12 সেইসব অ্যাপের সেটকে আরও বড় করে যা ডিভাইসের প্রপার্টি যাচাই করতে পারে। এইসব অ্যাপ নতুন 'কী' তৈরি করার সময় অ্যাটাস্টেশন সার্টিফিকেট-এ এই প্রপার্টি থাকে।
Android 9 (API লেভেল 28) থেকে, ডিভাইস নীতি
মালিক (DPO) যারা
Keymaster 4.0 বা তার পরবর্তী যেকোনও ভার্সন ব্যবহার করেন তারা
এইসব অ্যাটেস্টেশন সার্টিফিকেটে ডিভাইসের প্রপার্টি যাচাই করতে পারবেন। Android 12
থেকে শুরু করে, Android 12 (API লেভেল ৩১) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন যেকোনও অ্যাপ
setDevicePropertiesAttestationIncluded()
পদ্ধতি ব্যবহার করে এই যাচাইকরণ
করতে পারে।
তৈরি করা ডিভাইসের প্রপার্টিতে নিম্নলিখিত
Build ফিল্ড অন্তর্ভুক্ত থাকে:
BRANDDEVICEMANUFACTURERMODELPRODUCT
সুরক্ষিত লকস্ক্রিন বিজ্ঞপ্তি অ্যাকশন
Android 12 থেকে শুরু করে, Notification.Action.Builder ক্লাস
setAuthenticationRequired()
পদ্ধতিকে সাপোর্ট করে, যা আপনার অ্যাপকে কোনও নির্দিষ্ট বিজ্ঞপ্তি অ্যাকশন চালু করার আগে ডিভাইস আনলক করার
প্রয়োজনীয়তা
সম্পর্কে জানাতে দেয়। এই পদ্ধতি লক করা ডিভাইসে বিজ্ঞপ্তির জন্য
অতিরিক্ত সুরক্ষার স্তর যোগ করতে সাহায্য করে।
BiometricPrompt-এর জন্য লোকালাইজ করা যায় এমন স্ট্রিং
Android 12 নতুন API নিয়ে এসেছে যা আপনার অ্যাপের বায়োমেট্রিক
অথেন্টিকেশন ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সাহায্য করে। নতুন BiometricManager.Strings
নেস্টেড ক্লাসে getButtonLabel(),
getPromptMessage(),
এবং getSettingName()
পদ্ধতি অন্তর্ভুক্ত থাকে, যা আপনার অ্যাপকে ব্যবহারকারীর পাঠযোগ্য এবং স্থানীয়করণ করা বোতামের লেবেল,
প্রম্পট মেসেজ বা অ্যাপ সেটিংয়ের নাম ফিরিয়ে আনতে দেয়। এইসব লেবেল ব্যবহার করে ব্যবহারকারী নিজে ইন্টার্যাক্ট করতে পারেন এমন আরও সুনির্দিষ্ট নির্দেশাবলী তৈরি করুন যা ব্যবহৃত বায়োমেট্রিক যাচাইকরণ পদ্ধতির জন্য নির্দিষ্ট, যেমন "ফেস আনলক ব্যবহার করুন" বা "চালিয়ে যেতে আপনার ফিঙ্গারপ্রিন্ট ব্যবহার করুন"।
মিডিয়া
মানানসই মিডিয়া ট্রান্সকোডিং
Android 12 (API লেভেল 31) থেকে শুরু করে, সিস্টেমে ডিভাইসে রেকর্ড করা HEVC(H.265) এবং HDR (HDR10 এবং HDR10+) ভিডিও AVC (H.264)-তে অটোমেটিক ট্রান্সকোড করতে পারে, এটি এমন একটি ফর্ম্যাট যা স্ট্যান্ডার্ড প্লেয়ারের সাথে ব্যাপকভাবে মানানসই। পুরনো অ্যাপ্লিকেশনের সাথে সামঞ্জস্য বজায় রেখে আধুনিক কোডেক উপলভ্য হলে এটি তার সুবিধা নেয়।
আরও তথ্যের জন্য মানানসই মিডিয়া ট্রান্সকোডিং দেখুন।
পারফর্ম্যান্স ক্লাস
Android 12-এ পারফর্ম্যান্স ক্লাস নামে একটি স্ট্যান্ডার্ড চালু করা হয়েছে। পারফর্ম্যান্স ক্লাস Android-এর বেসলাইন প্রয়োজনীয়তার বাইরে হার্ডওয়্যার ক্ষমতা নির্দিষ্ট করে। প্রতিটি Android ডিভাইস তার পারফর্ম্যান্স ক্লাস ঘোষণা করে যা এটি সাপোর্ট করে। ডেভেলপাররা রানটাইমে ডিভাইসের পারফর্ম্যান্স ক্লাস চেক করতে পারেন এবং আপগ্রেড করা অভিজ্ঞতা প্রদান করতে পারেন যা ডিভাইসের ক্ষমতার সম্পূর্ণ সুবিধা গ্রহণ করে।
আরও তথ্যের জন্য পারফর্ম্যান্স ক্লাস দেখুন।
ভিডিও এনকোডিং সংক্রান্ত উন্নতি
Android 12 ভিডিও এনকোডিংয়ের জন্য কোয়ান্টাইজেশন প্যারামিটার (QP) ভ্যালু নিয়ন্ত্রণ করতে 'কী'-এর স্ট্যান্ডার্ড সেট নির্ধারণ করে, যা ডেভেলপারদের ভেন্ডর-নির্দিষ্ট কোড এড়িয়ে যেতে দেয়।
নতুন কীগুলি
MediaFormat API
এবং
NDK মিডিয়া লাইব্রেরিতে উপলভ্য।
Android 12 থেকে শুরু করে ভিডিও এনকোডার ন্যূনতম কোয়ালিটি থ্রেশহোল্ড এনফোর্স করে। এটি নিশ্চিত করে যে ব্যবহারকারীরা অত্যন্ত নিম্ন মানের অভিজ্ঞতা পান না যখন উচ্চ দৃশ্য জটিলতার সাথে ভিডিও এনকোড করা হয়।
অডিও ফোকাস
Android 12 (API লেভেল ৩১) থেকে শুরু করে, অন্য কোনও অ্যাপ ফোকাসে থাকা এবং চালানোর সময় কোনও অ্যাপ অডিও ফোকাসের অনুরোধ করলে, সিস্টেমটি চলমান অ্যাপটিকে ফেড আউট করে দেয়।
আরও জানতে Android 12 ও তার পরবর্তী ভার্সনে অডিও ফোকাস দেখুন।
MediaDrm আপডেট
বর্তমান MediaDrm API-এর সাথে সুরক্ষিত ডিকোডার কম্পোনেন্ট প্রয়োজন কিনা তা নির্ধারণ করতে, আপনাকে অবশ্যই এইসব ধাপ অনুসরণ করতে হবে:
MediaDrmতৈরি করুন।- সেশন আইডি পেতে সেশন খুলুন।
- সেশন আইডি ব্যবহার করে
MediaCryptoতৈরি করুন। MediaCrypto.requiresSecureDecoderComponent(mimeType)-এ কল করুন।
নতুন পদ্ধতি requiresSecureDecoder(@NonNull String mime) এবং
requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level)-এর মাধ্যমে
আপনি MediaDrm তৈরি করার সাথে সাথেই এটি নির্ধারণ করতে পারবেন।
ক্যামেরা
Camera2 ভেন্ডর এক্সটেনশন
আমাদের অনেক ডিভাইস প্রস্তুতকারক পার্টনার কাস্টম ক্যামেরা এক্সটেনশন তৈরি করেছেন—যেমন Bokeh, HDR, নাইট মোড এবং আরও অনেক কিছু—তারা চান যে অ্যাপগুলি তাদের ডিভাইসে আলাদা অভিজ্ঞতা তৈরি করতে ব্যবহার করুক। CameraX লাইব্রেরি আগে থেকেই এইসব কাস্টম ভেন্ডর এক্সটেনশন সাপোর্ট করে। Android 12-এ, এইসব ভেন্ডর এক্সটেনশন এখন সরাসরি প্ল্যাটফর্মে দেখানো হয়।
এই সংযোজনটি এমন অ্যাপগুলিকে সাহায্য করে যেগুলির জটিল
Camera2
ইমপ্লিমেন্টেশন রয়েছে, যাতে লিগ্যাসি কোডে উল্লেখযোগ্য পরিবর্তন না করেই ভেন্ডর এক্সটেনশনের সুবিধা নেওয়া যায়। Camera2 এক্সটেনশন API ঠিক
CameraX-এর মতো একই ধরনের
এক্সটেনশন দেখায় এবং
সেগুলি আগে থেকেই অনেক ধরনের
ডিভাইসে কাজ করে, তাই আপনি কোনও
অতিরিক্ত কনফিগারেশন ছাড়াই সেগুলি ব্যবহার করতে পারবেন।
আরও তথ্যের জন্য, CameraExtensionCharacteristics দেখুন।
কোয়াড বায়ের ক্যামেরা সেন্সর সাপোর্ট
আজকাল অনেক Android ডিভাইসে আল্ট্রা হাই-রেজোলিউশন ক্যামেরা সেন্সর থাকে, সাধারণত Quad বা Nona Bayer প্যাটার্ন সহ এবং এগুলি ছবির কোয়ালিটি ও কম আলোতে পারফর্ম্যান্সের ক্ষেত্রে দারুণ নমনীয়তা অফার করে। Android 12-এ নতুন প্ল্যাটফর্ম API রিলিজ করা হয়েছে যা থার্ড-পার্টি অ্যাপকে এই বহুমুখী সেন্সরগুলির সম্পূর্ণ সুবিধা নিতে দেয়। নতুন API এইসব সেন্সরের অনন্য আচরণকে সাপোর্ট করে এবং এটি বিবেচনা করে যে, ফুল রেজোলিউশন বা 'সর্বাধিক রেজোলিউশন' মোড বনাম 'ডিফল্ট' মোডে কাজ করার সময় এগুলি বিভিন্ন স্ট্রিম কনফিগারেশন এবং কম্বিনেশনকে সাপোর্ট করতে পারে।
গ্রাফিক্স ও ছবি
অ্যাপকে টুম্বস্টোন ট্রেসে সরাসরি অ্যাক্সেস প্রদান করুন
Android 12 থেকে শুরু করে, আপনি
ApplicationExitInfo.getTraceInputStream()
পদ্ধতির মাধ্যমে
প্রোটোকল বাফার হিসেবে আপনার অ্যাপের নেটিভ ক্র্যাশ টুম্বস্টোন অ্যাক্সেস করতে পারবেন। প্রোটোকল বাফার এই স্কিমা ব্যবহার করে সিরিয়ালাইজ করা হয়।
আগে, এই তথ্য অ্যাক্সেস করার একমাত্র উপায় ছিল
Android ডিবাগ ব্রিজ (adb)।
আরও তথ্যের জন্য, টুম্বস্টোন ট্রেসে অ্যাপকে সরাসরি অ্যাক্সেস দিন দেখুন
AVIF ছবি সংক্রান্ত সহায়তা
Android 12-এ AV1 ইমেজ ফাইল ফর্ম্যাট (AVIF) ব্যবহার করা ছবির জন্য সহায়তা চালু করা হয়েছে। AVIF হল AV1 ব্যবহার করে এনকোড করা ছবি এবং ছবির সিকোয়েন্সের জন্য একটি কন্টেনার ফর্ম্যাট। ভিডিও কম্প্রেশন থেকে ইন্ট্রা-ফ্রেম এনকোড করা কন্টেন্টের সুবিধা AVIF নেয়। এটি JPEG-এর মতো পুরনো ইমেজ ফর্ম্যাটের তুলনায় একই ফাইল সাইজের জন্য ইমেজের কোয়ালিটি নাটকীয়ভাবে উন্নত করে। এই ফর্ম্যাটের সুবিধাগুলি সম্পর্কে বিস্তারিত জানতে, Jake Archibald-এর ব্লগ পোস্ট দেখুন।
আরও সহজে ব্লার, কালার ফিল্টার ও অন্যান্য এফেক্ট ব্যবহার করা
Android 12-এ নতুন RenderEffect যোগ করা হয়েছে
যা View ও রেন্ডারিং হায়ারার্কিতে
ব্লার, কালার ফিল্টার, Android শেডার এফেক্ট
এবং আরও অনেক কিছুর মতো সাধারণ গ্রাফিক্স এফেক্ট প্রয়োগ করে। এফেক্টগুলিকে চেইন এফেক্ট (যা একটি অভ্যন্তরীণ এবং বাহ্যিক এফেক্ট রচনা করে) বা ব্লেন্ডেড এফেক্ট হিসাবে একত্রিত করা যেতে পারে। সীমিত প্রসেসিং ক্ষমতার কারণে বিভিন্ন Android
ডিভাইসে এই ফিচার কাজ করতে পারে বা নাও করতে পারে।
View.setRenderEffect(RenderEffect) কল করে View-এর জন্য
অন্তর্নিহিত RenderNode-এও এফেক্ট প্রয়োগ করা যেতে পারে।
RenderEffect প্রয়োগ করতে:
view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))
নেটিভ অ্যানিমেটেড ছবি ডিকোড করা
Android 12-এ, NDK
ImageDecoder API-কে আরও উন্নত করা হয়েছে
যাতে অ্যানিমেটেড GIF এবং
অ্যানিমেটেড WebP ফাইল ফর্ম্যাট ব্যবহার করা
ছবি থেকে সব ফ্রেম ও টাইমিং ডেটা ডিকোড করা যায়। Android 11-এ যখন এটি
প্রথম চালু করা হয়, তখন এই API এইসব ফর্ম্যাটে অ্যানিমেশন থেকে
শুধুমাত্র প্রথম ছবিটি ডিকোড করত।
APK সাইজ
কমাতে এবং নিরাপত্তা ও পারফর্ম্যান্স সম্পর্কিত ভবিষ্যতের আপডেট থেকে সুবিধা পেতে থার্ড-পার্টি লাইব্রেরির পরিবর্তে ImageDecoder ব্যবহার করুন।
API সম্পর্কে আরও জানতে, API রেফারেন্স এবং GitHub-এ স্যাম্পেল দেখুন।
কানেক্টিভিটি
কম্প্যানিয়ন অ্যাপ চালু রাখা
ডিভাইস ম্যানেজ করার জন্য কম্প্যানিয়ন অ্যাপ যাতে চালু থাকে সেই প্রয়োজনকে সাপোর্ট করতে, Android 12 এমন API নিয়ে এসেছে যা নিম্নলিখিত কাজ করে:
- কম্প্যানিয়ন ডিভাইস রেঞ্জের মধ্যে থাকলে আপনাকে অ্যাপ চালু করার অনুমতি দেয়।
- ডিভাইস রেঞ্জের মধ্যে থাকলে প্রসেসটি চলতে থাকবে বলে গ্যারান্টি দেওয়া।
API ব্যবহার করতে, আপনার ডিভাইস অবশ্যই কম্প্যানিয়ন ডিভাইস
ম্যানেজার ব্যবহার করে কানেক্ট করতে হবে। আরও তথ্যের জন্য, CompanionDeviceManager.startObservingDevicePresence()
এবং
CompanionDeviceService.onDeviceAppeared() দেখুন।
কম্প্যানিয়ন ডিভাইস ম্যানেজার প্রোফাইল
Android 12 (API লেভেল ৩১) এবং তার পরবর্তী ভার্সনে পার্টনার অ্যাপ, কোনও স্মার্টওয়াচের সাথে কানেক্ট করার সময় কম্প্যানিয়ন ডিভাইস প্রোফাইল ব্যবহার করতে পারে। প্রোফাইল ব্যবহার করলে, ডিভাইস-টাইপ-নির্দিষ্ট সেট সংক্রান্ত অনুমতি দেওয়ার প্রক্রিয়াকে একটি ধাপে একত্রিত করে এনরোলমেন্ট প্রক্রিয়াকে সহজ করে তোলে।
ডিভাইস কানেক্ট হয়ে গেলে, কম্প্যানিয়ন অ্যাপকে বান্ডেল করা অনুমতি দেওয়া হয় এবং ডিভাইসটি অ্যাসোসিয়েট থাকাকালীনই শুধু এটি কাজ করে। অ্যাপ মুছে দিলে বা অ্যাসোসিয়েশন সরিয়ে দিলে অনুমতি মুছে যায়।
আরও তথ্যের জন্য, AssociationRequest.Builder.setDeviceProfile() দেখুন।
ব্যান্ডউইথ অনুমান সংক্রান্ত উন্নতি
Android ১২-এ, ওয়াই-ফাই ও মোবাইল কানেক্টিভিটি, উভয়ের জন্যই
getLinkDownstreamBandwidthKbps()
এবং
getLinkUpstreamBandwidthKbps()
দ্বারা প্রদত্ত ব্যান্ডউইথ অনুমান করার ক্ষমতা উন্নত করা হয়েছে। এখন দেখানো ভ্যালু
ডিভাইসের সব অ্যাপ্লিকেশন জুড়ে, প্রতিটি ক্যারিয়ার বা ওয়াই-ফাই SSID, নেটওয়ার্কের ধরন ও সিগন্যাল লেভেল অনুযায়ী
ব্যবহারকারীর সর্বকালীন ওয়েটেড অ্যাভারেজ থ্রুপুট দেখায়।
এটি প্রত্যাশিত থ্রুপুটের আরও সঠিক এবং বাস্তবসম্মত অনুমান প্রদান করতে পারে,
আপনার অ্যাপ্লিকেশনের কোল্ড স্টার্টের অনুমান প্রদান করে এবং অন্যান্য থ্রুপুট অনুমান পদ্ধতি ব্যবহার করার তুলনায়
কম সাইকেলের প্রয়োজন হয়।
Wi-Fi Aware (NAN) সংক্রান্ত উন্নতি
Android 12-এ Wi-Fi Aware-এর জন্য কিছু উন্নতি করা হয়েছে:
- Android 12 (API লেভেল 31) ও তার পরবর্তী ভার্সন চলছে এমন ডিভাইসে, আপনি
onServiceLost()কলব্যাক ব্যবহার করতে পারবেন যাতে পরিষেবা বন্ধ হয়ে যাওয়া বা রেঞ্জের বাইরে চলে যাওয়ার কারণে আপনার অ্যাপ কোনও খুঁজে পাওয়া পরিষেবা হারিয়ে ফেললে আপনাকে সতর্ক করা যায়। - একাধিক ডেটা-পাথ (NAN ডেটা পাথ) সেট-আপ করার পদ্ধতি আরও দক্ষ হওয়ার জন্য পরিবর্তিত হচ্ছে। আগের ভার্সনে ইনিশিয়েটরের পিয়ার তথ্য এক্সচেঞ্জ করার জন্য L2 মেসেজিং ব্যবহার করা হত, যার ফলে লেটেন্সি হত। Android 12 ও তার পরবর্তী ভার্সন চালানো ডিভাইসে, যেকোনও পিয়ার গ্রহণ করার জন্য রেসপন্ডার (সার্ভার) কনফিগার করা যেতে পারে—অর্থাৎ, এটি আগে থেকে ইনিশিয়েটর তথ্য জানার প্রয়োজন হয় না। এটি ডেটাপাথ ব্রিংআপের গতি বাড়ায় এবং শুধুমাত্র একটি নেটওয়ার্ক অনুরোধের মাধ্যমে একাধিক পয়েন্ট-টু-পয়েন্ট লিঙ্ক চালু করে।
- রিসোর্স শেষ হয়ে যাওয়ার কারণে ফ্রেমওয়ার্ক যাতে ডিসকভারি বা কানেকশন অনুরোধ বাতিল না করে, তার জন্য Android ১২ ও
তার পরবর্তী ভার্সন চলছে এমন ডিভাইসে আপনি
WifiAwareManager.getAvailableAwareResources()কল করতে পারেন। এই পদ্ধতির রিটার্ন ভ্যালু আপনাকে উপলভ্য ডেটা পাথের সংখ্যা, উপলভ্য প্রকাশনা সেশনের সংখ্যা এবং উপলভ্য সাবস্ক্রাইব সেশনের সংখ্যা পেতে দেয়।
কনকারেন্ট পিয়ার-টু-পিয়ার + ইন্টারনেট কানেকশন
Android 12 (API লেভেল 31) এবং তার পরবর্তী ভার্সন টার্গেট করা ডিভাইসগুলি যখন হার্ডওয়্যার সাপোর্ট সহ ডিভাইসে চলে, তখন পিয়ার-টু-পিয়ার
কানেকশন ব্যবহার করলে পিয়ার ডিভাইসের সাথে কানেকশন তৈরি করার সময় আপনার
বিদ্যমান ওয়াই-ফাই কানেকশন ডিসকানেক্ট হবে না। এই ফিচার কাজ করে কিনা তা চেক করতে, WifiManager.isMultiStaConcurrencySupported() ব্যবহার করুন।
NFC পেমেন্টের জন্য স্ক্রিন বন্ধ করার সুবিধা চালু করুন
Android ১২ ও তার পরবর্তী ভার্সন টার্গেট করে এমন অ্যাপে, আপনি ডিভাইসের স্ক্রিন চালু না করেই NFC পেমেন্ট চালু করতে পারবেন। এর জন্য
requireDeviceScreenOn-কে
false-এ সেট করতে হবে। স্ক্রিন বন্ধ বা লক করা অবস্থায় NFC পেমেন্ট সম্পর্কে আরও জানতে, স্ক্রিন বন্ধ ও লক-স্ক্রিন
আচরণ দেখুন।
স্টোরেজ
Android ১২-এ নিম্নলিখিত স্টোরেজ ম্যানেজমেন্ট ক্ষমতা আছে:
- আপনার অ্যাপ প্রদত্ত ডকুমেন্ট প্রদানকারীর URI-এর সমতুল্য
মিডিয়া URI ফিরিয়ে আনলে,
MediaDocumentsProvider-এর জন্য মিডিয়া স্টোর সহায়তা। - ভয়েস রেকর্ডিংয়ের জন্য ডিরেক্টরি।
MANAGE_MEDIAঅনুমতি, যা কোনও অ্যাপকে প্রতিটি অপারেশনের জন্য ব্যবহারকারীকে কনফার্মেশন ডায়ালগ না দেখিয়েই মিডিয়া ম্যানেজমেন্ট অপারেশন করার অনুমতি দেয়।- যেসব অ্যাপের কাছে
MANAGE_EXTERNAL_STORAGEঅনুমতি এবংQUERY_ALL_PACKAGESঅনুমতি—যেমন ফাইল ম্যানেজমেন্ট অ্যাপ—উভয়ই আছে, সেগুলি অন্য অ্যাপের স্টোরেজ স্পেস ম্যানেজ করার জন্য কাস্টম অ্যাক্টিভিটি ইনভোক করতে পারে, তবে অন্য অ্যাপকে কাস্টম অ্যাক্টিভিটি তৈরি করতে হবে।
মূল কার্যকারিতা
অটোমেটিক অ্যাপ আপডেট
Android 12-এ
setRequireUserAction()
পদ্ধতি চালু করা হয়েছে, যা
PackageInstaller API ব্যবহার করে এমন অ্যাপের জন্য প্রযোজ্য।
এই পদ্ধতি ব্যবহার করে ইনস্টলার অ্যাপ, ব্যবহারকারীর থেকে অ্যাকশন কনফার্ম করার অনুমতি না নিয়েই
অ্যাপ আপডেট করতে পারে।
ডিভাইস চিপসেট সংক্রান্ত তথ্য
Android 12, android.os.Build-এ দুটি কনস্ট্যান্ট যোগ করে যা
SDK-এর মাধ্যমে SoC চিপসেট ভেন্ডর ও মডেলের তথ্য প্রকাশ করে। আপনি যথাক্রমে Build.SOC_MANUFACTURER এবং Build.SOC_MODEL নম্বরে কল করে এই তথ্য
পুনরুদ্ধার করতে পারবেন।
মূল Java API-তে আপডেট
অনুরোধ এবং ডেভেলপারদের সাথে সহযোগিতার ভিত্তিতে, আমরা Android 12-এ নিম্নলিখিত কোর লাইব্রেরি যোগ করেছি:
| ক্লাস | API |
|---|---|
java.lang.Deprecated
|
|
java.lang.Byte
|
|
java.lang.Short
|
|
java.lang.Math
|
|
java.lang.StrictMath
|
|
java.util.Set
|
copyOf()
|
java.util.Map
|
copyOf()
|
java.util.List
|
copyOf()
|
java.time.Duration
|
|
java.time.LocalTime
|