एपीआई लेवल: 10
Android 2.3.3 (GINGERBREAD_MR1
) एक छोटी रिलीज़ है. इसमें Android 2.3 प्लैटफ़ॉर्म में कई सुधार और एपीआई जोड़े गए हैं.
डेवलपर के लिए, Android 2.3.3 प्लैटफ़ॉर्म, Android SDK टूल के लिए डाउनलोड किए जा सकने वाले कॉम्पोनेंट के तौर पर उपलब्ध है. डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में, Android लाइब्रेरी और सिस्टम इमेज के साथ-साथ, इम्यूलेटर स्किन का एक सेट और अन्य चीज़ें शामिल होती हैं. Android 2.3.3 के लिए ऐप्लिकेशन डेवलप करने या टेस्ट करने के लिए, Android SDK मैनेजर का इस्तेमाल करके, अपने SDK टूल में प्लैटफ़ॉर्म डाउनलोड करें.
एपीआई की खास जानकारी
यहां दिए गए सेक्शन में, डेवलपर के लिए 2.3.3 में जो नई चीज़ें हैं उनके बारे में तकनीकी जानकारी दी गई है. इसमें, पिछले वर्शन के मुकाबले फ़्रेमवर्क एपीआई में हुई नई सुविधाओं और बदलावों के बारे में भी बताया गया है.
नियर फ़ील्ड कम्यूनिकेशन (एनएफ़सी)
Android 2.3.3 में एनएफ़सी के लिए बेहतर और ज़्यादा सहायता मिलती है. इससे ऐप्लिकेशन, नए तरीकों से अलग-अलग तरह के टैग के साथ इंटरैक्ट कर सकते हैं.
एपीआई का नया और बेहतर सेट, ऐप्लिकेशन को स्टैंडर्ड टैग टेक्नोलॉजी की एक बड़ी रेंज को पढ़ने और उसमें बदलाव करने का ऐक्सेस देता है. इनमें ये शामिल हैं:
- NFC-A (ISO 14443-3A)
- NFC-B (ISO 14443-3B)
- NFC-F (JIS 6319-4)
- एनएफ़सी-वी (ISO 15693)
- ISO-DEP (ISO 14443-4)
- MIFARE Classic
- MIFARE Ultralight
- NFC Forum के NDEF टैग
यह प्लैटफ़ॉर्म, सीमित पीयर-टू-पीयर कम्यूनिकेशन प्रोटोकॉल और एपीआई भी उपलब्ध कराता है. फ़ोरग्राउंड गतिविधियां, एपीआई का इस्तेमाल करके NDEF मैसेज को रजिस्टर कर सकती हैं. यह मैसेज, कनेक्ट होने पर अन्य एनएफ़सी डिवाइसों पर भेजा जाएगा.
ऐडवांस टैग डिस्पैचिंग की सुविधा की मदद से, ऐप्लिकेशन को एनएफ़सी टैग का पता चलने पर, उन्हें लॉन्च करने के तरीके और समय पर ज़्यादा कंट्रोल मिलता है. पहले, प्लैटफ़ॉर्म ने दिलचस्पी रखने वाले ऐप्लिकेशन को यह सूचना देने के लिए, एक चरण वाले इंटेंट डिस्पैच का इस्तेमाल किया था कि कोई टैग ढूंढा गया है. प्लैटफ़ॉर्म अब चार चरणों की प्रोसेस का इस्तेमाल करता है. इससे, किसी भी दूसरे ऐप्लिकेशन (android.nfc.NfcAdapter.enableForegroundDispatch()
) को भेजे जाने से पहले, फ़ोरग्राउंड ऐप्लिकेशन, टैग इवेंट को कंट्रोल कर सकता है.
नई डिस्पैच प्रोसेस की मदद से, ऐप्लिकेशन दो नए इंटेंट ऐक्शन —
android.nfc.action.NDEF_DISCOVERED
और
android.nfc.action.TECH_DISCOVERED
के आधार पर, खास टैग कॉन्टेंट और टैग टेक्नोलॉजी को भी सुन सकते हैं.
NFC API, android.nfc
और
android.nfc.tech
पैकेज में उपलब्ध है. मुख्य क्लास ये हैं:
NfcAdapter
, जो डिवाइस पर मौजूद एनएफ़सी हार्डवेयर को दिखाता है.NdefMessage
, जो NDEF डेटा मैसेज दिखाता है. यह एक स्टैंडर्ड फ़ॉर्मैट है, जिसमें डिवाइसों और टैग के बीच डेटा वाले "रिकॉर्ड" ट्रांसमिट किए जाते हैं. एनडीएफ़ मैसेज में, अलग-अलग तरह के कई एनडीएफ़ रिकॉर्ड होते हैं. ऐप्लिकेशन को ये मैसेज,NDEF_DISCOVERED
,TECH_DISCOVERED
याTAG_DISCOVERED
इंटेंट से मिल सकते हैं.NdefRecord
,NdefMessage
में डिलीवर किया जाता है. इसमें, शेयर किए जा रहे डेटा के टाइप के बारे में बताया जाता है और डेटा को खुद से भेजा जाता है.Tag
, जो डिवाइस से स्कैन किए गए टैग को दिखाता है. टैग की टेक्नोलॉजी के आधार पर, कई तरह के टैग इस्तेमाल किए जा सकते हैं.TagTechnology
, एक इंटरफ़ेस है जो ऐप्लिकेशन को टैग में मौजूद टेक्नोलॉजी के आधार पर, टैग प्रॉपर्टी और I/O ऑपरेशन का ऐक्सेस देता है. Android 2.3.3 में काम करने वाली टैग टेक्नोलॉजी की पूरी सूची देखने के लिए,android.nfc.tech
देखें.
एनएफ़सी कम्यूनिकेशन, डिवाइस के हार्डवेयर में मौजूद वायरलेस टेक्नोलॉजी पर निर्भर करता है. यह सुविधा सभी Android डिवाइसों में मौजूद नहीं होती. एनएफ़सी की सुविधा के बिना काम करने वाले Android डिवाइसों पर, getDefaultAdapter(Context)
को कॉल करने पर कोई ऑब्जेक्ट नहीं मिलेगा. वहीं, context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
को कॉल करने पर false
मिलेगा. एनएफ़सी एपीआई हमेशा मौजूद होता है. भले ही, डिवाइस में एनएफ़सी की सुविधा काम करती हो या नहीं.
एनएफ़सी एपीआई का इस्तेमाल करने के लिए, ऐप्लिकेशन को अपनी मेनिफ़ेस्ट फ़ाइलों में <uses-permission
android:name="android.permission.NFC">
का एलान करके, उपयोगकर्ता से अनुमति का अनुरोध करना होगा.
इसके अलावा, डेवलपर Google Play पर फ़िल्टर करने का अनुरोध कर सकते हैं, ताकि उनके ऐप्लिकेशन उन उपयोगकर्ताओं को न दिखें जिनके डिवाइसों पर एनएफ़सी काम नहीं करता. फ़िल्टर करने का अनुरोध करने के लिए, ऐप्लिकेशन के मेनिफ़ेस्ट में
<uses-feature android:name="android.hardware.nfc"
android:required="true">
जोड़ें.
ज़्यादा जानकारी के लिए, एनएफ़सी डेवलपर गाइड पढ़ें.
ब्लूटूथ
Android 2.3.3 में, ब्लूटूथ के ऐसे सॉकेट कनेक्शन के लिए प्लैटफ़ॉर्म और एपीआई की सुविधा जोड़ी गई है जो सुरक्षित नहीं हैं. इससे ऐप्लिकेशन, ऐसे आसान डिवाइसों के साथ काम कर सकते हैं जिनमें पुष्टि करने के लिए यूज़र इंटरफ़ेस (यूआई) नहीं हो सकता. ज़्यादा जानकारी के लिए,
createInsecureRfcommSocketToServiceRecord(java.util.UUID)
और
listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
पर जाएं.
ग्राफ़िक्स
- नई
BitmapRegionDecoder
क्लास की मदद से, ऐप्लिकेशन किसी इमेज से रेक्टैंगल क्षेत्र को डिकोड कर सकते हैं. एपीआई खास तौर पर तब फ़ायदेमंद होता है, जब ओरिजनल इमेज बड़ी हो और ऐप्लिकेशन को सिर्फ़ इमेज के कुछ हिस्सों की ज़रूरत हो. BitmapFactory.Options
में मौजूद नएinPreferQualityOverSpeed
फ़ील्ड की मदद से, ऐप्लिकेशन JPEG डिकोड में ज़्यादा सटीक, लेकिन थोड़ा धीमा आईडीसीटी तरीका इस्तेमाल कर सकते हैं. इससे, फिर से बनाई गई इमेज की क्वालिटी बेहतर हो जाती है.
मीडिया फ़्रेमवर्क
- नई
MediaMetadataRetriever
क्लास, इनपुट मीडिया फ़ाइल से फ़्रेम और मेटाडेटा को वापस पाने के लिए एक यूनिफ़ाइड इंटरफ़ेस उपलब्ध कराती है. MediaRecorder.AudioEncoder
औरMediaRecorder.OutputFormat
में AMR Wideband और AAC फ़ॉर्मैट की जानकारी देने के लिए नए फ़ील्ड शामिल किए गए हैं.
बोली पहचानने की सुविधा
बोली पहचानने वाले एपीआई में नए कॉन्स्टेंट शामिल हैं, ताकि आप वॉइस सर्च के नतीजों को नए तरीकों से मैनेज कर सकें. हालांकि, बोली पहचानने की सुविधा के सामान्य इस्तेमाल के लिए, नए कॉन्स्टेंट की ज़रूरत नहीं होती, लेकिन इनका इस्तेमाल करके अपने ऐप्लिकेशन में, वॉइस सर्च के नतीजों को अलग तरीके से दिखाया जा सकता है. ज़्यादा जानकारी के लिए, RecognizerResultsIntent
देखें.
एपीआई लेवल
Android 2.3.3 प्लैटफ़ॉर्म, फ़्रेमवर्क एपीआई का अपडेट किया गया वर्शन उपलब्ध कराता है. Android 2.3.3 एपीआई को एक पूर्णांक आइडेंटिफ़ायर — 10 — असाइन किया गया है. इसे सिस्टम में ही सेव किया जाता है. इस आइडेंटिफ़ायर को "एपीआई लेवल" कहा जाता है. इससे सिस्टम को यह पता लगाने में मदद मिलती है कि कोई ऐप्लिकेशन, सिस्टम के साथ काम करता है या नहीं.
अपने ऐप्लिकेशन में Android 2.3.3 में लॉन्च किए गए एपीआई का इस्तेमाल करने के लिए, आपको ऐप्लिकेशन को Android 2.3.3 SDK प्लैटफ़ॉर्म में दी गई Android लाइब्रेरी के हिसाब से कंपाइल करना होगा. अपनी ज़रूरतों के हिसाब से, आपको ऐप्लिकेशन के मेनिफ़ेस्ट में <uses-sdk>
एलिमेंट में android:minSdkVersion="10"
एट्रिब्यूट भी जोड़ना पड़ सकता है. अगर आपके ऐप्लिकेशन को सिर्फ़ Android 2.3 और उसके बाद के वर्शन पर चलाने के लिए डिज़ाइन किया गया है, तो एट्रिब्यूट का एलान करने से, ऐप्लिकेशन को प्लैटफ़ॉर्म के पुराने वर्शन पर इंस्टॉल होने से रोका जा सकता है.
ज़्यादा जानकारी के लिए, एपीआई लेवल क्या है? लेख पढ़ें.