एपीआई लेवल: 4
Android 1.6, प्लैटफ़ॉर्म का एक छोटा वर्शन है. इसे अक्टूबर 2009 से, Android वाले हैंडसेट पर डिप्लॉय किया जा सकता है. इस प्लैटफ़ॉर्म में उपयोगकर्ताओं और डेवलपर के लिए नई सुविधाएं शामिल हैं. साथ ही, इसमें Android फ़्रेमवर्क एपीआई में बदलाव भी किए गए हैं.
डेवलपर के लिए, Android 1.6 प्लैटफ़ॉर्म की नई रिलीज़, Android SDK टूल के लिए डाउनलोड किए जा सकने वाले कॉम्पोनेंट के तौर पर उपलब्ध है. इस प्लैटफ़ॉर्म — Android 1.6 r2 — में पूरी तरह से काम करने वाली Android लाइब्रेरी और सिस्टम इमेज के साथ-साथ, इम्यूलेटर स्किन, सैंपल ऐप्लिकेशन, और डेवलपमेंट से जुड़े छोटे अपडेट का एक सेट शामिल है. डाउनलोड किया जा सकने वाला प्लैटफ़ॉर्म, एपीआई लेवल 4 के मुताबिक हो और उसमें कोई बाहरी लाइब्रेरी शामिल न हो.
Android 1.6 प्लैटफ़ॉर्म पर ऐप्लिकेशन बनाना या टेस्ट करना शुरू करने के लिए, Android SDK और AVD मैनेजर टूल का इस्तेमाल करें. इससे, Android 1.6 या उसके बाद के वर्शन वाले SDK में, Android 1.6 का नया प्लैटफ़ॉर्म डाउनलोड किया जा सकता है.
प्लैटफ़ॉर्म की खास बातें
उपयोगकर्ताओं के लिए उपलब्ध नई सुविधाओं और प्लैटफ़ॉर्म की हाइलाइट की सूची के लिए, Android 1.6 प्लैटफ़ॉर्म की हाइलाइट दस्तावेज़ देखें.
एपीआई लेवल
Android 1.6 प्लैटफ़ॉर्म, फ़्रेमवर्क एपीआई का अपडेट किया गया वर्शन उपलब्ध कराता है. Android 1.6 एपीआई को एक पूर्णांक आइडेंटिफ़ायर — 4 — असाइन किया गया है. इसे सिस्टम में ही सेव किया जाता है. इस आइडेंटिफ़ायर को "एपीआई लेवल" कहा जाता है. इससे सिस्टम को यह पता लगाने में मदद मिलती है कि कोई ऐप्लिकेशन, सिस्टम के साथ काम करता है या नहीं.
अपने ऐप्लिकेशन में Android 1.6 में लॉन्च किए गए एपीआई का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन के मेनिफ़ेस्ट में <uses-sdk> एलिमेंट के android:minSdkVersion एट्रिब्यूट की सही वैल्यू, "4" सेट करनी होगी.
एपीआई लेवल का इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, एपीआई लेवल दस्तावेज़ देखें.
Framework API में हुए बदलाव
नीचे दिए गए सेक्शन में, Android 1.6 प्लैटफ़ॉर्म से मिलने वाले ऐप्लिकेशन फ़्रेमवर्क एपीआई के बारे में जानकारी दी गई है.
यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क
- ऐनिमेशन के व्यवहार को कंट्रोल करने के लिए,
android.view.animationमें नई क्लास:AnticipateInterpolatorAnticipateOvershootInterpolatorBounceInterpolatorOvershootInterpolator
- लेआउट फ़ाइल से किसी व्यू के View.OnClickListener के बारे में बताने के लिए, नया एक्सएमएल एट्रिब्यूट
android:onClick. - अलग-अलग स्क्रीन डेंसिटी (सघनता) के साथ काम करने के लिए नई सुविधा. सही स्केलिंग करने के लिए, बिटमैप और कैनवस के साथ घनत्व की जानकारी जुड़ी होती है. फ़्रेमवर्क, बिटमैप और नाइन-पैच को अपने-आप स्केल कर देगा. यह स्केलिंग, संसाधन के घनत्व और स्क्रीन के घनत्व वगैरह के आधार पर तय होगी.
अपने ऐप्लिकेशन में Android 1.6 में लॉन्च किए गए एपीआई का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन के मेनिफ़ेस्ट में <uses-sdk> एलिमेंट के एट्रिब्यूट में सही वैल्यू, "4" सेट करनी होगी.
Search Network में दिखने वाले विज्ञापनों के लिए फ़्रेमवर्क
- ऐप्लिकेशन अब उपयोगकर्ताओं को क्विक सर्च बॉक्स में, खोज के सुझावों के तौर पर काम का कॉन्टेंट दिखा सकते हैं. यह डिवाइस-वाइड खोज की एक नई सुविधा है, जिसे होम स्क्रीन से ऐक्सेस किया जा सकता है. इस सुविधा के साथ काम करने के लिए, खोज फ़्रेमवर्क, खोजी जा सकने वाली मेटाडेटा फ़ाइल में नए एट्रिब्यूट जोड़ता है. पूरी जानकारी के लिए,
SearchManagerदस्तावेज़ देखें.
सुलभता फ़्रेमवर्क
- नया
android.accessibilityपैकेज, जिसमें सुलभता इवेंट कैप्चर करने और उन्हेंAccessibilityServiceहैंडलर को फ़ॉरवर्ड करने के लिए क्लास शामिल हैं. - नया
AccessibilityServiceपैकेज, जिसकी मदद से आपका ऐप्लिकेशन उपयोगकर्ता इवेंट को ट्रैक कर सकता है. साथ ही, उपयोगकर्ता को विज़ुअल, ऑडियो या वाइब्रेशन वाला फ़ीडबैक दे सकता है.
जेस्चर इनपुट
- जेस्चर बनाने, पहचानने, लोड करने, और सेव करने के लिए नया
gestureएपीआई.
पाठ से वाक्
- नया
android.speech.ttsपैकेज, टेक्स्ट से बोली जनरेट करने के लिए क्लास उपलब्ध कराता है. इनकी मदद से, तुरंत ऑडियो चलाया जा सकता है या ऑडियो फ़ाइल बनाई जा सकती है.
ग्राफ़िक्स
android.graphicsमें मौजूद क्लास, अब अलग-अलग स्क्रीन डेंसिटी के लिए स्केलिंग की सुविधा के साथ काम करती हैं.
टेलीफ़ोनी
- एसएमएस मैसेज भेजने और पाने के लिए, नया
SmsManagerऔर अन्य क्लास.
काम की सेवाएं
- मौजूदा डिवाइस की स्क्रीन की डेंसिटी तय करने के लिए, नए
DisplayMetricsफ़ील्ड.
Android मेनिफ़ेस्ट के एलिमेंट
- नए
<supports-screens>एलिमेंट की मदद से, उन डिवाइस स्क्रीन के साइज़ की जानकारी दी जा सकती है जिन पर आपके ऐप्लिकेशन को डिज़ाइन और टेस्ट किया गया है. यहां "साइज़", रिज़ॉल्यूशन और डेंसिटी का कॉम्बिनेशन होता है. अगर आपका ऐप्लिकेशन ऐसे डिवाइस पर चलता है जिसकी स्क्रीन का साइज़<supports-screen>एलिमेंट में नहीं बताया गया है, तो सिस्टम ऐप्लिकेशन को कंपैटिबिलिटी मोड में दिखाता है. यह मोड, स्क्रीन के रिज़ॉल्यूशन और डेंसिटी के हिसाब से, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) को बेहतर तरीके से स्केल करता है.किसी ऐप्लिकेशन के स्क्रीन सपोर्ट की जानकारी देने के लिए, ये एट्रिब्यूट उपलब्ध हैं:
smallScreen: बूलियन वैल्यू, जो बताती है कि ऐप्लिकेशन को छोटी स्क्रीन वाले डिवाइसों पर चलाने के लिए डिज़ाइन किया गया है या नहीं. उदाहरण: QVGA लो डेंसिटी; VGA हाई डेंसिटी.normalScreens: बूलियन वैल्यू, जो यह बताती है कि ऐप्लिकेशन को सामान्य स्क्रीन वाले डिवाइसों पर चलाने के लिए डिज़ाइन किया गया है या नहीं. उदाहरण: WQVGA लो डेंसिटी; HVGA मीडियम डेंसिटी; WVGA हाई डेंसिटी.largeScreens: बूलियन वैल्यू, जो यह बताती है कि ऐप्लिकेशन को बड़ी स्क्रीन वाले डिवाइसों पर चलाने के लिए डिज़ाइन किया गया है या नहीं. ऐसा इसलिए, ताकि स्क्रीन के हिस्से का सही इस्तेमाल करने के लिए, ऐप्लिकेशन को खास ध्यान देने की ज़रूरत पड़े. उदाहरण: VGA मीडियम डेंसिटी; WVGA मीडियम डेंसिटी.anyDensity: बूलियन वैल्यू, जो यह बताती है कि ऐप्लिकेशन, स्क्रीन की किसी भी तरह की सघनता के साथ काम कर सकता है या नहीं.resizable: बूलियन वैल्यू, जो यह बताती है कि ऐप्लिकेशन, थोड़ी बड़ी स्क्रीन पर फ़िट होने के लिए अपना लेआउट बड़ा कर सकता है या नहीं.
- नए
<uses-feature>एलिमेंट की मदद से, ऐप्लिकेशन उन हार्डवेयर (या अन्य) सुविधाओं के बारे में बता सकता है जिनकी उसे सामान्य रूप से काम करने के लिए ज़रूरत होती है. जब कोई ऐप्लिकेशन ऐसी सुविधाओं के बारे में बताता है, तो सिस्टम उस ऐप्लिकेशन को सिर्फ़ उन डिवाइसों पर इंस्टॉल करने की अनुमति देता है जिनमें ज़रूरी सुविधाएं मौजूद होती हैं. इस एलिमेंट में ये एट्रिब्यूट इस्तेमाल किए जा सकते हैं:name: ऐप्लिकेशन के लिए ज़रूरी सुविधा का नाम. फ़िलहाल, "android.hardware.camera" और "android.hardware.camera.autofocus" वैल्यू स्वीकार की जाती हैं. इनसे पता चलता है कि कैमरे और कैमरे के ऑटोफ़ोकस की ज़रूरत है.glEsVersion: इससे पता चलता है कि ऐप्लिकेशन के लिए OpenGL ES का कम से कम कौनसा वर्शन ज़रूरी है.
<uses-sdk>एलिमेंट के लिए नए एट्रिब्यूट:targetSdkVersion: इससे उस एपीआई लेवल का पता चलता है जिसे ऐप्लिकेशन टारगेट कर रहा है. यह ऐप्लिकेशन, Android के पुराने वर्शन (minSdkVersion तक) पर चल सकता है. हालांकि, यहां बताए गए वर्शन के साथ काम करने के लिए, इसकी साफ़ तौर पर जांच की गई है. इस वर्शन की जानकारी देने से, प्लैटफ़ॉर्म को ऐसी सुविधाएं चालू करने में मदद मिलती है जो पुराने ऐप्लिकेशन के लिए उपलब्ध नहीं हैं. साथ ही, प्लैटफ़ॉर्म उन सुविधाओं को बंद कर सकता है जो ज़रूरी नहीं हैं.maxSdkVersion: इससे पता चलता है कि ऐप्लिकेशन को किस एपीआई लेवल पर चलाने के लिए डिज़ाइन किया गया है. अहम जानकारी: इस एट्रिब्यूट का इस्तेमाल करने से पहले, कृपया<uses-sdk>का दस्तावेज़ पढ़ें
नई अनुमतियां
CHANGE_WIFI_MULTICAST_STATE: ऐप्लिकेशन को वाई-फ़ाई के मल्टीकास्ट मोड में जाने की अनुमति देता है.GLOBAL_SEARCH: इससे ग्लोबल सर्च सिस्टम को, किसी कॉन्टेंट उपलब्ध कराने वाले की जानकारी ऐक्सेस करने की अनुमति मिलती है.INSTALL_LOCATION_PROVIDER: किसी ऐप्लिकेशन को Location Manager में जगह की जानकारी देने वाली सेवा देने वाली कंपनी को इंस्टॉल करने की अनुमति देता है.- READ_HISTORY_BOOKMARKS: इससे ऐप्लिकेशन को लोगों के ब्राउज़िंग इतिहास और बुकमार्क को पढ़ने की अनुमति मिलती है, लेकिन उन्हें लिखने की अनुमति नहीं मिलती.
- WRITE_HISTORY_BOOKMARKS: इससे ऐप्लिकेशन को लोगों के ब्राउज़िंग इतिहास और बुकमार्क को लिखने की अनुमति मिलती है, लेकिन उसे पढ़ने की अनुमति नहीं मिलती.
WRITE_EXTERNAL_STORAGE: इससे ऐप्लिकेशन को बाहरी स्टोरेज में लिखने की अनुमति मिलती है. एपीआई लेवल 3 और उससे पहले के वर्शन का इस्तेमाल करने वाले ऐप्लिकेशन को यह अनुमति अपने-आप मिल जाएगी. साथ ही, यह अनुमति उपयोगकर्ता को दिखेगी. एपीआई लेवल 4 या उसके बाद के वर्शन का इस्तेमाल करने वाले ऐप्लिकेशन को इस अनुमति का साफ़ तौर पर अनुरोध करना होगा.
एपीआई के बीच अंतर की रिपोर्ट
Android 1.6 (एपीआई लेवल 4) में, पिछले वर्शन की तुलना में एपीआई में हुए बदलावों के बारे में ज़्यादा जानने के लिए, एपीआई के अंतर की रिपोर्ट देखें.
पहले से मौजूद ऐप्लिकेशन
डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में शामिल सिस्टम इमेज में, ये पहले से मौजूद ऐप्लिकेशन होते हैं:
|
|
स्थान-भाषाएं
डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में शामिल सिस्टम इमेज में, कई तरह की पहले से मौजूद भाषाएं उपलब्ध होती हैं. कुछ मामलों में, इलाके के हिसाब से स्ट्रिंग, लोकेल के लिए उपलब्ध होती हैं. अन्य मामलों में, भाषा के डिफ़ॉल्ट वर्शन का इस्तेमाल किया जाता है. Android 1.6 की सिस्टम इमेज में उपलब्ध भाषाओं की सूची यहां दी गई है. साथ ही, language_country/region के लोकेल डिस्क्रिप्टर की जानकारी भी दी गई है.
|
|
स्थानीय भाषा में लिखी गई यूज़र इंटरफ़ेस (यूआई) स्ट्रिंग, उन भाषाओं से मेल खाती हैं जिन्हें सेटिंग में जाकर ऐक्सेस किया जा सकता है.
एम्युलेटर स्किन
डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में, एम्युलेटर स्किन का एक सेट शामिल होता है. इसका इस्तेमाल, अलग-अलग स्क्रीन साइज़ और रिज़ॉल्यूशन में अपने ऐप्लिकेशन को मॉडलिंग करने के लिए किया जा सकता है. एम्युलेटर स्किन ये हैं:
- QVGA (240x320, कम डेंसिटी, छोटी स्क्रीन)
- एचवीजीए (320x480, मीडियम डेंसिटी, सामान्य स्क्रीन)
- WVGA800 (480x800, हाई डेंसिटी, सामान्य स्क्रीन)
- WVGA854 (480x854 हाई डेंसिटी, सामान्य स्क्रीन)
Android वाले सभी डिवाइसों पर सही तरीके से दिखने और काम करने वाला ऐप्लिकेशन बनाने के तरीके के बारे में ज़्यादा जानने के लिए, एक से ज़्यादा स्क्रीन के साथ काम करने की सुविधा देखें.