Android 2.3.4 के लिए API

एपीआई लेवल: 10

Android 2.3.4 (GINGERBREAD_MR1) एक रखरखाव रिलीज़ है. इसमें Android 2.3 प्लैटफ़ॉर्म में कई गड़बड़ियों को ठीक किया गया है और पैच जोड़े गए हैं. हालांकि, इसमें Android 2.3.3 के एपीआई में कोई बदलाव नहीं किया गया है. इसके अलावा, Android 2.3.4, मोबाइल डिवाइसों के लिए Open Accessory API का इस्तेमाल करता है, ओपन ऐक्सेसरी लाइब्रेरी का इस्तेमाल करके, अपनी वेबसाइट को और बेहतर बनाएं.

डेवलपर के लिए, Android 2.3.4 प्लेटफ़ॉर्म Android SDK के लिए डाउनलोड किया जा सकने वाला कॉम्पोनेंट. डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में, Android लाइब्रेरी और सिस्टम इमेज के साथ-साथ, इम्यूलेटर स्किन का एक सेट और अन्य चीज़ें शामिल होती हैं. Android 2.3.4 के लिए ऐप्लिकेशन डेवलप करने या टेस्ट करने के लिए, Android SDK मैनेजर का इस्तेमाल करके, अपने SDK टूल में प्लैटफ़ॉर्म डाउनलोड करें.

एपीआई की खास जानकारी

Android 2.3.4, ऐप्लिकेशन के लिए Android 2.3.3 जैसा ही फ़्रेमवर्क एपीआई उपलब्ध कराता है (एपीआई लेवल 10). एपीआई की खास जानकारी के लिए, Android 2.3.3 वर्शन के नोट देखें.

ऐक्सेसरी लाइब्रेरी खोलें

ओपन ऐक्सेसरी, प्लैटफ़ॉर्म पर चल रहे ऐप्लिकेशन के साथ कनेक्ट किए गए डिवाइसों को इंटिग्रेट करने की नई सुविधा है. यह सुविधा, प्लैटफ़ॉर्म में पहले से मौजूद यूएसबी (यूनिवर्सल सीरियल बस) स्टैक और ऐप्लिकेशन के लिए उपलब्ध एपीआई पर आधारित है. Android डिवाइसों से ऐक्सेसरी के तौर पर जुड़े सहायक डिवाइस, यूएसबी होस्ट के तौर पर कनेक्ट होते हैं.

Open Accessory को Android 3.1 (एपीआई लेवल 12) में पेश किया गया है, लेकिन Android 2.3.4 वर्शन वाले डिवाइसों को, वैकल्पिक बाहरी टूल के ज़रिए उपलब्ध कराया जाता है लाइब्रेरी, ओपन ऐक्सेसरी लाइब्रेरी. लाइब्रेरी में एक फ़्रेमवर्क एपीआई होता है. इसकी मदद से, ऐप्लिकेशन यूएसबी से कनेक्ट किए गए अलग-अलग तरह के डिवाइसों को खोज सकते हैं, उनसे संपर्क कर सकते हैं, और उन्हें मैनेज कर सकते हैं. यह Android प्लैटफ़ॉर्म के उन हिस्सों के लिए भी एपीआई लागू करता है जो Android 2.3.4 में ऐप्लिकेशन के लिए सीधे तौर पर उपलब्ध नहीं हैं.

किसी भी डिवाइस पर, ओपन ऐक्सेसरी लाइब्रेरी का इस्तेमाल करना ज़रूरी नहीं है. डिवाइस बनाने वाली कंपनियां यह चुन सकती हैं कि उन्हें अपने प्रॉडक्ट में ओपन ऐक्सेसरी लाइब्रेरी को शामिल करना है या नहीं. लाइब्रेरी Android 3.1 के साथ आगे संगत है, इसलिए Android 2.3.4 के हिसाब से डेवलप किए गए ऐप्लिकेशन, डिवाइसों पर ठीक से चलेंगे अगर वे Android 3.1 वर्शन वाले डिवाइस पर काम करते हैं, तो उन पर यूएसबी ऐक्सेसरी काम करती हैं.

Open Accessory Library से मिला एपीआई, ओपन ऐक्सेसरी पर आधारित है Android 3.1 में उपलब्ध कराया गया API. ज़्यादातर क्षेत्रों में, एक जैसी तकनीकों का इस्तेमाल किया जा सकता है और एपीआई. हालांकि, Android 2.3.4 पर Open Accessory Library के लिए डेवलप करना, स्टैंडर्ड यूएसबी एपीआई से इन तरीकों से अलग है:

  • UsbManager ऑब्जेक्ट पाना — ऐड-ऑन लाइब्रेरी का इस्तेमाल करते समय, UsbManager ऑब्जेक्ट पाने के लिए, getSystemService() के बजाय हेल्पर तरीके getInstance() का इस्तेमाल करें. उदाहरण के लिए:

    Kotlin

    val manager = UsbManager.getInstance(this)

    Java

    UsbManager manager = UsbManager.getInstance(this);
  • फ़िल्टर किए गए इंटेंट से UsbAccessory पाना — जब इंटेंट से कनेक्ट किए गए किसी डिवाइस या ऐक्सेसरी को फ़िल्टर किया जा रहा हो फ़िल्टर, UsbAccessory ऑब्जेक्ट शामिल है आपके ऐप्लिकेशन में पास किए जाने वाले इंटेंट के अंदर. अगर ऐड-ऑन लाइब्रेरी का इस्तेमाल किया जा रहा है, तो UsbAccessory ऑब्जेक्ट को इस तरह पाया जा सकता है:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
  • यूएसबी होस्ट मोड काम नहीं करता — Android 2.3.4 और Open Accessory Library, यूएसबी होस्ट मोड (उदाहरण के लिए, UsbDevice के ज़रिए) के साथ काम नहीं करती. हालांकि, Android 3.1 में यूएसबी होस्ट मोड काम करता है. Android 2.3.4 वर्शन पर काम करने वाला Android डिवाइस, यूएसबी होस्ट के तौर पर काम नहीं कर सकता. इस लाइब्रेरी की मदद से, Android डिवाइस को सिर्फ़ एक सहायक डिवाइस के तौर पर काम करने की सुविधा मिलती है. साथ ही, UsbAccessory की मदद से कनेक्ट की गई ऐक्सेसरी, यूएसबी होस्ट के तौर पर काम करती है.

ओपन ऐक्सेसरी लाइब्रेरी का इस्तेमाल करके ऐप्लिकेशन डेवलप करने के लिए, आपको इनकी ज़रूरत होगी:

  • Android SDK टूल का नया वर्शन
  • Google APIs ऐड-ऑन का नया वर्शन, जिसमें लाइब्रेरी भी शामिल है (लिंक करने के लिए)
  • ऐसा असल हार्डवेयर डिवाइस जिसमें यूएसबी की सुविधा वाला Android 2.3.4 (या Android 3.1) वर्शन हो ऐक्सेसरी, कनेक्ट किए गए डिवाइसों पर रनटाइम जांच के लिए काम करती हैं

यूएसबी से इंटरैक्ट करने वाले ऐप्लिकेशन डेवलप करने के तरीके के बारे में पूरी जानकारी पाएं ऐक्सेसरीज़ के साथ काम करता है, तो कृपया संबंधित डेवलपर दस्तावेज़ देखें.

इसके अलावा, डेवलपर Google Play पर फ़िल्टर करने का अनुरोध कर सकते हैं. जैसे, उनके ऐप्लिकेशन उन उपयोगकर्ताओं के लिए उपलब्ध नहीं हैं जिनके डिवाइस सही ऐक्सेसरी सपोर्ट लागू करें. फ़िल्टर करने का अनुरोध करने के लिए, ऐप्लिकेशन मेनिफ़ेस्ट में यह एलिमेंट जोड़ें:

<uses-feature
  android:name="android.hardware.usb.accessory"
  android:required="true">

एपीआई लेवल

Android 2.3.4 प्लैटफ़ॉर्म, एपीआई लेवल को बढ़ नहीं करता — यह Android 2.3.3 के एपीआई लेवल 10 का इस्तेमाल करता है.

अपने ऐप्लिकेशन में एपीआई लेवल 10 में जोड़े गए एपीआई का इस्तेमाल करने के लिए, आपको ऐप्लिकेशन को उस Android लाइब्रेरी के हिसाब से कंपाइल करना होगा जो Google API के ऐड-ऑन के नए वर्शन में दी गई है. इसमें Open Accessory Library भी शामिल है.

अपनी ज़रूरतों के हिसाब से, android:minSdkVersion="10" भी जोड़ना होगा ऐप्लिकेशन के <uses-sdk> एलिमेंट की विशेषता मेनिफ़ेस्ट. अगर आपके ऐप्लिकेशन को सिर्फ़ Android 2.3.3 और उसके बाद के वर्शन पर चलाने के लिए डिज़ाइन किया गया है, तो एट्रिब्यूट का एलान करने से, ऐप्लिकेशन को प्लैटफ़ॉर्म के पुराने वर्शन पर इंस्टॉल होने से रोका जा सकता है.

ज़्यादा जानकारी के लिए, एपीआई लेवल क्या है? लेख पढ़ें.