অ্যান্ড্রয়েডের সর্বশেষ সংস্করণগুলি প্রায়শই আপনার অ্যাপের জন্য দুর্দান্ত API সরবরাহ করে, যতক্ষণ না আরও ডিভাইস আপডেট হয় ততক্ষণ পর্যন্ত আপনার Android এর পুরানো সংস্করণগুলিকে সমর্থন করা চালিয়ে যাওয়া উচিত। এই পাঠটি আপনাকে দেখায় যে কীভাবে পুরানো সংস্করণগুলিকে সমর্থন করার পাশাপাশি সর্বশেষতম APIগুলির সুবিধা নিতে হয়৷
অ্যান্ড্রয়েড স্টুডিও নিউ প্রজেক্ট উইজার্ড ব্যবহার করুন অ্যান্ড্রয়েডের প্রতিটি সংস্করণে চলমান সক্রিয় ডিভাইসগুলির বিতরণ খুঁজে পেতে। এই বিতরণটি Google Play Store পরিদর্শনকারী ডিভাইসের সংখ্যার উপর ভিত্তি করে। সাধারণত, আমরা আপনার অ্যাপটিকে সর্বশেষ সংস্করণে লক্ষ্য করার সময় সক্রিয় ডিভাইসগুলির প্রায় 90% সমর্থন করার পরামর্শ দিই।
টিপ: বেশ কয়েকটি Android সংস্করণে সর্বোত্তম বৈশিষ্ট্য এবং কার্যকারিতা প্রদান করার জন্য, আপনার অ্যাপে Android সমর্থন লাইব্রেরি ব্যবহার করা উচিত, যা আপনাকে পুরানো সংস্করণগুলিতে সাম্প্রতিক প্ল্যাটফর্ম API ব্যবহার করতে দেয়৷
সর্বনিম্ন এবং লক্ষ্য API স্তর নির্দিষ্ট করুন
AndroidManifest.xml ফাইলটি আপনার অ্যাপ সম্পর্কে বিশদ বিবরণ বর্ণনা করে এবং Android এর কোন সংস্করণগুলি এটি সমর্থন করে তা শনাক্ত করে৷ বিশেষভাবে, <uses-sdk>
উপাদানের জন্য minSdkVersion
এবং targetSdkVersion
বৈশিষ্ট্যগুলি আপনার অ্যাপটি যে সর্বনিম্ন API স্তরের সাথে সামঞ্জস্যপূর্ণ এবং সর্বোচ্চ API স্তরটি সনাক্ত করে যার সাথে আপনি আপনার অ্যাপটি ডিজাইন করেছেন এবং পরীক্ষা করেছেন৷
যেমন:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> ... </manifest>
Android এর নতুন সংস্করণ প্রকাশিত হওয়ার সাথে সাথে কিছু স্টাইল এবং আচরণ পরিবর্তন হতে পারে। আপনার অ্যাপটিকে এই পরিবর্তনগুলির সুবিধা নিতে এবং আপনার অ্যাপটি প্রতিটি ব্যবহারকারীর ডিভাইসের স্টাইলের সাথে খাপ খায় তা নিশ্চিত করার জন্য, আপনার উপলব্ধ সর্বশেষ Android সংস্করণের সাথে মেলে targetSdkVersion
মান সেট করা উচিত।
যেহেতু ছোট SDK সংস্করণগুলি আচরণের পরিবর্তনের সাথে আবদ্ধ নয়, তাই একটি ছোট SDK সংস্করণ প্রতিফলিত করার জন্য targetSdkVersion
সংস্করণ সেট করা সম্ভব নয়৷ আপনি যদি একটি ছোট SDK সংস্করণে একটি API কল করতে চান যা আপনার minSdkVersion
থেকে সাম্প্রতিকতম, রানটাইমে সিস্টেম সংস্করণটি পরীক্ষা করুন৷
রানটাইমে সিস্টেম সংস্করণ পরীক্ষা করুন
Build
কনস্ট্যান্ট ক্লাসে প্রতিটি প্ল্যাটফর্ম সংস্করণের জন্য Android একটি অনন্য কোড প্রদান করে। আপনার অ্যাপের মধ্যে এই কোডগুলি ব্যবহার করুন এমন শর্ত তৈরি করতে যা নিশ্চিত করে যে কোডগুলি উচ্চ API স্তরের উপর নির্ভর করে শুধুমাত্র তখনই কার্যকর করা হয় যখন সেই APIগুলি সিস্টেমে উপলব্ধ থাকে।
কোটলিন
private fun setUpActionBar() { // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { actionBar.setDisplayHomeAsUpEnabled(true) } }
জাভা
private void setUpActionBar() { // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } }
আপনি একটি বড় বা ছোট SDK সংস্করণের উপস্থিতি পরীক্ষা করতে Build.VERSION.SDK_INT_FULL ব্যবহার করতে পারেন৷
কোটলিন
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) { // Use APIs introduced in a major or minor SDK release }
জাভা
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) { // Use APIs introduced in a major or minor SDK release }
দ্রষ্টব্য: XML সংস্থানগুলি পার্স করার সময়, Android XML বৈশিষ্ট্যগুলিকে উপেক্ষা করে যা বর্তমান ডিভাইস দ্বারা সমর্থিত নয়৷ সুতরাং আপনি নিরাপদে XML বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন যা শুধুমাত্র নতুন সংস্করণগুলির দ্বারা সমর্থিত হয় যখন তারা সেই কোডের মুখোমুখি হয় তখন পুরানো সংস্করণগুলি ভেঙে যাওয়ার বিষয়ে চিন্তা না করে৷ উদাহরণস্বরূপ, যদি আপনি targetSdkVersion="11"
সেট করেন, আপনার অ্যাপটি Android 3.0 এবং উচ্চতর সংস্করণে ডিফল্টরূপে ActionBar
অন্তর্ভুক্ত করে। তারপর অ্যাকশন বারে মেনু আইটেম যোগ করতে, আপনাকে আপনার মেনু রিসোর্স XML-এ android:showAsAction="ifRoom"
সেট করতে হবে। এটি একটি ক্রস-সংস্করণ XML ফাইলে করা নিরাপদ, কারণ অ্যান্ড্রয়েডের পুরানো সংস্করণগুলি কেবল showAsAction
বৈশিষ্ট্যটিকে উপেক্ষা করে (অর্থাৎ, আপনার res/menu-v11/
এ আলাদা সংস্করণের প্রয়োজন নেই )।
প্ল্যাটফর্ম শৈলী এবং থিম ব্যবহার করুন
অ্যান্ড্রয়েড ব্যবহারকারীর অভিজ্ঞতার থিম সরবরাহ করে যা অ্যাপগুলিকে অন্তর্নিহিত অপারেটিং সিস্টেমের চেহারা এবং অনুভূতি দেয়। এই থিমগুলি ম্যানিফেস্ট ফাইলের মধ্যে আপনার অ্যাপে প্রয়োগ করা যেতে পারে৷ শৈলী এবং থিমগুলিতে নির্মিত এইগুলি ব্যবহার করে, আপনার অ্যাপ স্বাভাবিকভাবেই প্রতিটি নতুন রিলিজের সাথে Android এর সর্বশেষ চেহারা এবং অনুভূতি অনুসরণ করবে।
আপনার ক্রিয়াকলাপটিকে একটি ডায়ালগ বক্সের মতো দেখাতে:
<activity android:theme="@android:style/Theme.Dialog">
আপনার ক্রিয়াকলাপকে স্বচ্ছ পটভূমি তৈরি করতে:
<activity android:theme="@android:style/Theme.Translucent">
/res/values/styles.xml
এ সংজ্ঞায়িত আপনার নিজস্ব কাস্টম থিম প্রয়োগ করতে:
<activity android:theme="@style/CustomTheme">
আপনার সম্পূর্ণ অ্যাপে একটি থিম প্রয়োগ করতে (সমস্ত কার্যকলাপ), <application>
উপাদানটিতে android:theme
অ্যাট্রিবিউট যোগ করুন:
<application android:theme="@style/CustomTheme">
থিম তৈরি এবং ব্যবহার সম্পর্কে আরও জানতে, শৈলী এবং থিম নির্দেশিকা পড়ুন।