API স্তর: 10
Android 2.3.4 ( GINGERBREAD_MR1
) হল একটি রক্ষণাবেক্ষণ রিলিজ যা Android 2.3 প্ল্যাটফর্মে বেশ কিছু বাগ ফিক্স এবং প্যাচ যোগ করে, Android 2.3.3 থেকে কোনো API পরিবর্তন ছাড়াই। অতিরিক্তভাবে, অ্যান্ড্রয়েড 2.3.4 ঐচ্ছিক ওপেন অ্যাকসেসরি লাইব্রেরির মাধ্যমে মোবাইল ডিভাইসে ওপেন অ্যাকসেসরি API-এর জন্য সমর্থন নিয়ে আসে।
বিকাশকারীদের জন্য, Android 2.3.4 প্ল্যাটফর্মটি Android SDK-এর জন্য একটি ডাউনলোডযোগ্য উপাদান হিসাবে উপলব্ধ। ডাউনলোডযোগ্য প্ল্যাটফর্মটিতে একটি অ্যান্ড্রয়েড লাইব্রেরি এবং সিস্টেম ইমেজ, সেইসাথে এমুলেটর স্কিন এবং আরও অনেক কিছু রয়েছে। অ্যান্ড্রয়েড 2.3.4 এর বিপরীতে বিকাশ বা পরীক্ষা শুরু করতে, আপনার SDK-এ প্ল্যাটফর্মটি ডাউনলোড করতে Android SDK ম্যানেজার ব্যবহার করুন৷
API ওভারভিউ
অ্যান্ড্রয়েড 2.3.4 অ্যাপ্লিকেশানগুলিকে Android 2.3.3 (API স্তর 10) হিসাবে একই ফ্রেমওয়ার্ক API প্রদান করে। API-এর সারাংশের জন্য, Android 2.3.3 সংস্করণের নোটগুলি দেখুন।
অ্যাক্সেসরি লাইব্রেরি খুলুন
প্ল্যাটফর্মে চলমান অ্যাপ্লিকেশনগুলির সাথে সংযুক্ত পেরিফেরালগুলিকে একীভূত করার জন্য ওপেন অ্যাকসেসরি হল একটি নতুন ক্ষমতা৷ ক্ষমতাটি প্ল্যাটফর্মে নির্মিত ইউএসবি (ইউনিভার্সাল সিরিয়াল বাস) স্ট্যাকের উপর ভিত্তি করে এবং অ্যাপ্লিকেশনগুলিতে উন্মুক্ত একটি API। আনুষাঙ্গিক হিসাবে Android-চালিত ডিভাইসের সাথে সংযুক্ত পেরিফেরালগুলি USB হোস্ট হিসাবে সংযুক্ত।
ওপেন অ্যাকসেসরি অ্যান্ড্রয়েড 3.1 (এপিআই লেভেল 12) এ চালু করা হয়েছে, কিন্তু একটি ঐচ্ছিক বহিরাগত লাইব্রেরি, ওপেন অ্যাকসেসরি লাইব্রেরির মাধ্যমে অ্যান্ড্রয়েড 2.3.4 চালিত ডিভাইসগুলিতে উপলব্ধ করা হয়েছে। লাইব্রেরি একটি ফ্রেমওয়ার্ক API প্রকাশ করে যা অ্যাপ্লিকেশনগুলিকে USB-এর মাধ্যমে সংযুক্ত বিভিন্ন ধরণের ডিভাইস আবিষ্কার করতে, যোগাযোগ করতে এবং পরিচালনা করতে দেয়৷ এটি অ্যান্ড্রয়েড প্ল্যাটফর্মের এমন অংশগুলির বিরুদ্ধে API-এর বাস্তবায়নও প্রদান করে যেগুলি Android 2.3.4-এ অ্যাপ্লিকেশনগুলির সাথে সরাসরি প্রকাশিত হয় না।
যে কোনো ডিভাইসে ওপেন অ্যাকসেসরি লাইব্রেরি ঐচ্ছিক। ডিভাইস নির্মাতারা তাদের পণ্যগুলিতে ওপেন অ্যাকসেসরি লাইব্রেরি অন্তর্ভুক্ত করবেন নাকি বাদ দেবেন তা চয়ন করতে পারেন৷ লাইব্রেরিটি Android 3.1 এর সাথে ফরওয়ার্ড-সামঞ্জস্যপূর্ণ, তাই Android 2.3.4 এর বিপরীতে তৈরি করা অ্যাপ্লিকেশনগুলি Android 3.1 চালিত ডিভাইসগুলিতে সঠিকভাবে চলবে, যদি সেই ডিভাইসগুলি USB আনুষাঙ্গিকগুলি সমর্থন করে৷
ওপেন অ্যাকসেসরি লাইব্রেরি দ্বারা প্রদত্ত API Android 3.1-এ প্রদত্ত ওপেন অ্যাকসেসরি API-এর উপর ভিত্তি করে তৈরি। বেশিরভাগ ক্ষেত্রে, আপনি একই কৌশল এবং API ব্যবহার করতে পারেন। যাইহোক, অ্যান্ড্রয়েড 2.3.4 এ ওপেন অ্যাকসেসরি লাইব্রেরির জন্য বিকাশ করা স্ট্যান্ডার্ড USB API থেকে এই উপায়ে আলাদা:
- একটি
UsbManager
অবজেক্ট প্রাপ্ত করা — অ্যাড-অন লাইব্রেরি ব্যবহার করার সময় একটিUsbManager
অবজেক্ট পেতে,getSystemService()
এর পরিবর্তে helper পদ্ধতিgetInstance()
ব্যবহার করুন উদাহরণস্বরূপ:কোটলিন
val manager = UsbManager.getInstance(this)
জাভা
UsbManager manager = UsbManager.getInstance(this);
- একটি ফিল্টার করা অভিপ্রায় থেকে একটি
UsbAccessory
প্রাপ্ত করা — আপনি যখন একটি সংযুক্ত ডিভাইস বা আনুষঙ্গিক একটি অভিপ্রায় ফিল্টার দিয়ে ফিল্টার করেন, তখনUsbAccessory
অবজেক্টটি আপনার অ্যাপ্লিকেশনে পাঠানো অভিপ্রায়ের ভিতরে থাকে। আপনি যদি অ্যাড-অন লাইব্রেরি ব্যবহার করেন তবে আপনি নিম্নলিখিত পদ্ধতিতেUsbAccessory
অবজেক্ট পেতে পারেন:কোটলিন
val accessory = UsbManager.getAccessory(intent)
জাভা
UsbAccessory accessory = UsbManager.getAccessory(intent)
- কোন USB হোস্ট সমর্থন নেই — Android 2.3.4 এবং Open Accessory Library USB হোস্ট মোড সমর্থন করে না (উদাহরণস্বরূপ,
UsbDevice
মাধ্যমে), যদিও USB হোস্ট মোড Android 3.1-এ সমর্থিত। Android 2.3.4 চালিত একটি Android-চালিত ডিভাইস একটি USB হোস্ট হিসাবে কাজ করতে পারে না৷ লাইব্রেরি Android-চালিত ডিভাইসটিকে শুধুমাত্র একটি পেরিফেরাল হিসাবে কাজ করতে সক্ষম করে, সংযুক্ত আনুষঙ্গিকগুলি USB হোস্ট হিসাবে কাজ করে (UsbAccessory
এর মাধ্যমে)।
ওপেন অ্যাকসেসরি লাইব্রেরি ব্যবহার করে অ্যাপস ডেভেলপ করতে আপনার প্রয়োজন:
- অ্যান্ড্রয়েড SDK টুলের সর্বশেষ সংস্করণ
- Google APIs অ্যাড-অনের সর্বশেষ সংস্করণ, যা লাইব্রেরি নিজেই অন্তর্ভুক্ত করে (লিঙ্ক করার জন্য)
- সংযুক্ত ডিভাইসের বিরুদ্ধে রানটাইম পরীক্ষার জন্য USB আনুষাঙ্গিক সমর্থন সহ Android 2.3.4 (বা Android 3.1) চালিত একটি প্রকৃত হার্ডওয়্যার ডিভাইস
USB আনুষাঙ্গিকগুলির সাথে ইন্টারঅ্যাক্ট করে এমন অ্যাপ্লিকেশনগুলি কীভাবে বিকাশ করা যায় তার সম্পূর্ণ আলোচনার জন্য, অনুগ্রহ করে সংশ্লিষ্ট বিকাশকারী ডকুমেন্টেশন দেখুন৷
উপরন্তু, বিকাশকারীরা Google Play-তে ফিল্টার করার অনুরোধ করতে পারে, যেমন তাদের অ্যাপ্লিকেশনগুলি ব্যবহারকারীদের কাছে উপলব্ধ নয় যাদের ডিভাইসগুলি উপযুক্ত আনুষঙ্গিক সহায়তা প্রদান করে না। ফিল্টারিংয়ের অনুরোধ করতে, অ্যাপ্লিকেশন ম্যানিফেস্টে নীচের উপাদানটি যুক্ত করুন:
<uses-feature android:name="android.hardware.usb.accessory" android:required="true">
API স্তর
অ্যান্ড্রয়েড 2.3.4 প্ল্যাটফর্ম API স্তর বৃদ্ধি করে না - এটি Android 2.3.3, API স্তর 10 এর মতো একই API স্তর ব্যবহার করে।
আপনার অ্যাপ্লিকেশানে API লেভেল 10-এ প্রবর্তিত APIগুলি ব্যবহার করার জন্য, আপনাকে Android লাইব্রেরির বিপরীতে অ্যাপ্লিকেশনটি কম্পাইল করতে হবে যা Google APIs অ্যাড-অনের সর্বশেষ সংস্করণে সরবরাহ করা হয়েছে, যার মধ্যে ওপেন অ্যাকসেসরি লাইব্রেরিও রয়েছে৷
আপনার প্রয়োজনের উপর নির্ভর করে, আপনাকে অ্যাপ্লিকেশনের ম্যানিফেস্টে <uses-sdk>
উপাদানটিতে একটি android:minSdkVersion="10"
অ্যাট্রিবিউট যোগ করতে হতে পারে। যদি আপনার অ্যাপ্লিকেশানটি শুধুমাত্র Android 2.3.3 এবং উচ্চতর সংস্করণে চালানোর জন্য ডিজাইন করা হয়, তাহলে অ্যাট্রিবিউট ঘোষণা করলে প্ল্যাটফর্মের পূর্ববর্তী সংস্করণগুলিতে অ্যাপ্লিকেশনটিকে ইনস্টল হতে বাধা দেয়৷
আরও তথ্যের জন্য, পড়ুন API স্তর কী?