প্রতিটি রিলিজের সাথে, নির্দিষ্ট Android API বাতিল হয়ে যেতে পারে বা আরও ভালো ডেভেলপার অভিজ্ঞতা প্রদান করতে বা নতুন প্ল্যাটফর্মের ক্ষমতাকে সাপোর্ট করতে রিফ্যাক্টর করার প্রয়োজন হতে পারে। এইসব ক্ষেত্রে, Android আনুষ্ঠানিকভাবে পুরনো API-এর ব্যবহার বন্ধ করে দেবে এবং ডেভেলপারদের পরিবর্তে নতুন API ব্যবহার করার নির্দেশ দেবে।
বন্ধ করে দেওয়ার অর্থ হল, আমরা API-এর জন্য অফিসিয়াল সহায়তা বন্ধ করে দিয়েছি, তবে সেগুলি ডেভেলপারদের জন্য উপলভ্য থাকবে। এই পৃষ্ঠায় Android-এর এই রিলিজে বন্ধ হয়ে যাওয়া কিছু ফিচার হাইলাইট করা হয়েছে। অন্যান্য ডেপ্রিকেশন দেখতে, API ডিফারেন্স রিপোর্ট দেখুন।
RenderScript
Android 12 থেকে শুরু করে, RenderScript API বন্ধ করা হয়েছে। এগুলি কাজ করা চালিয়ে যাবে, তবে আমরা আশা করি যে ডিভাইস এবং কম্পোনেন্ট প্রস্তুতকারকরা সময়ের সাথে সাথে হার্ডওয়্যার অ্যাক্সিলারেশন সহায়তা প্রদান করা বন্ধ করে দেবে। GPU অ্যাক্সিলারেশনের সম্পূর্ণ সুবিধা নিতে, আমরা RenderScript থেকে মাইগ্রেট করার সাজেশন দিই।
Android প্লেলিস্ট
Android প্লেলিস্ট বন্ধ হয়ে গেছে। API আর বজায় রাখা হয় না তবে বর্তমান কার্যকারিতা মানানসই হওয়ার জন্য থেকে যায়।
আমরা সাজেস্ট করি যে আপনি প্লেলিস্ট m3u ফাইল হিসেবে পড়ুন ও সেভ করুন।
API বন্ধ হয়ে যাওয়া সংক্রান্ত তথ্য দেখুন
Android ডিভাইসগুলি বিভিন্ন ফর্ম ফ্যাক্টরে উপলভ্য হচ্ছে, যেমন
বড় স্ক্রিন, ট্যাবলেট এবং ফোল্ডেবল। প্রতিটি ডিভাইসের জন্য কন্টেন্ট সঠিকভাবে রেন্ডার করতে, আপনার অ্যাপকে স্ক্রিন বা ডিসপ্লে সাইজ নির্ধারণ করতে হবে। সময়ের
সাথে সাথে Android এই তথ্য পাওয়ার জন্য বিভিন্ন API প্রদান করেছে। Android 11-এ
আমরা
WindowMetrics API নিয়ে এসেছি এবং
এইসব পদ্ধতি বন্ধ করে দিয়েছি:
Android 12-এ আমরা WindowMetrics
ব্যবহার করার সাজেশন দেওয়া চালিয়ে যাব এবং এইসব পদ্ধতি বন্ধ করে দিচ্ছি:
অ্যাপের উইন্ডোর বাউন্ডারি কোয়েরি করতে WindowMetrics API ব্যবহার করা উচিত, অথবা
Configuration.densityDpi
বর্তমান ডেনসিটি কোয়েরি করতে।
মনে রাখবেন যে Jetpack WindowManager
লাইব্রেরিতে একটি WindowMetrics
ক্লাস অন্তর্ভুক্ত আছে যা Android 4.0.1 (API লেভেল 14) এবং তার পরবর্তী যেকোনও ভার্সনে কাজ করে।
উদাহরণ
WindowMetrics কীভাবে ব্যবহার করবেন তার কিছু উদাহরণ এখানে দেওয়া হল।
প্রথমে, আপনার অ্যাপ যাতে তার অ্যাক্টিভিটি সম্পূর্ণরূপে ছোট বড় করতে পারে তা নিশ্চিত করুন।
UI-সম্পর্কিত যেকোনও কাজের জন্য, বিশেষ করে
WindowManager.getCurrentWindowMetrics()-এর জন্য,
অ্যাক্টিভিটি কনটেক্সট থেকে অ্যাক্টিভিটি WindowMetrics-এর উপর নির্ভর করা উচিত।
আপনার অ্যাপ MediaProjection তৈরি করলে, বাউন্ডের সাইজ সঠিক হতে হবে
কারণ প্রোজেকশন ডিসপ্লে ক্যাপচার করে। অ্যাপের সাইজ সম্পূর্ণভাবে পরিবর্তন করা গেলে, অ্যাক্টিভিটি কনটেক্সট সঠিক বাউন্ড রিটার্ন করে।
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
জাভা
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
অ্যাপটি সম্পূর্ণভাবে রিসাইজ করা না গেলে, এটি অবশ্যই একটি
WindowContext ইনস্ট্যান্স থেকে বাউন্ড কোয়েরি করবে এবং
WindowManager.getMaximumWindowMetrics() ব্যবহার করে অ্যাপ্লিকেশনের জন্য উপলভ্য সর্বাধিক ডিসপ্লে এরিয়ার WindowMetrics ফিরিয়ে আনবে।
Kotlin
val windowContext = context.createWindowContext(mContext.display!!, WindowManager.LayoutParams.TYPE_APPLICATION, null) val projectionMetrics = windowContext.getSystemService(WindowManager::class.java) .maximumWindowMetrics
জাভা
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), WindowManager.LayoutParams.TYPE_APPLICATION, null; WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();