Android 1.1 वर्शन नोट

तारीख: फ़रवरी 2009
एपीआई लेवल: 2

इस दस्तावेज़ में, SDK में शामिल Android 1.1 सिस्टम इमेज के वर्शन के बारे में जानकारी दी गई है.

खास जानकारी

SDK टूल में डिलीवर की गई Android 1.1 सिस्टम इमेज, Android 1.1 प्रोडक्शन सिस्टम इमेज के डेवलपमेंट वर्शन के तौर पर काम करती है. इसे फ़रवरी 2009 से, Android वाले हैंडसेट में डिप्लॉय किया जा सकता है.

Android 1.1 सिस्टम इमेज, फ़्रेमवर्क का अपडेट किया गया वर्शन डिलीवर करती है एपीआई. Android 1.0 API की तरह ही, Android 1.1 API को एक पूर्णांक आइडेंटिफ़ायर असाइन किया जाता है — 2 — जो सेव किया जाता है. इस आइडेंटिफ़ायर को "एपीआई लेवल" कहा जाता है. इससे सिस्टम को यह पता लगाने में मदद मिलती है कि कोई ऐप्लिकेशन, सिस्टम के साथ काम करता है या नहीं.

ऐप्लिकेशन, सिस्टम के उस सबसे निचले एपीआई लेवल को दिखाते हैं जिसके साथ वे काम कर सकते हैं. इसके लिए, android:minSdkVersion एट्रिब्यूट के लिए एक वैल्यू दी गई है. एट्रिब्यूट की वैल्यू, एपीआई लेवल के आइडेंटिफ़ायर से जुड़ा एक पूर्णांक होता है. किसी ऐप्लिकेशन को इंस्टॉल करने से पहले, सिस्टम android:minSdkVersion की वैल्यू की जांच करता है. साथ ही, सिर्फ़ तब इंस्टॉल करने की अनुमति देता है, जब रेफ़रंस वाला इंटगर, सिस्टम में सेव किए गए एपीआई लेवल के इंटगर से कम या उसके बराबर हो.

अगर ऐप्लिकेशन बनाने के लिए, Android 1.1 सिस्टम इमेज का इस्तेमाल किया जाता है Android 1.1 वर्शन वाले Android डिवाइस के साथ काम करता है तो आपको यह सेट करना होगा "2" के लिए android:minSdkVersion एट्रिब्यूट कि आपका ऐप्लिकेशन केवल Android 1.1 (या उसके बाद के वर्शन) सिस्टम इमेज का उपयोग करने वाले डिवाइस के साथ संगत है.

खास तौर पर, आपने android:minSdkVersion तय किया है इसके चाइल्ड के रूप में <uses-sdk> एलिमेंट में एट्रिब्यूट <manifest> मेनिफ़ेस्ट फ़ाइल में मौजूद है. सेट किए जाने पर, एट्रिब्यूट इस तरह दिखता है:

<manifest>
  ...
  <uses-sdk android:minSdkVersion="2" />
  ...
</manifest>

android:minSdkVersion को इस तरह सेट करने का मतलब है कि आप पक्का करते हैं कि उपयोगकर्ता आपका ऐप्लिकेशन केवल तभी इंस्टॉल कर पाएंगे, जब डिवाइस Android 1.1 प्लेटफ़ॉर्म पर चल रहे हों. इससे यह पक्का होता है कि आपका ऐप्लिकेशन उनके डिवाइसों पर सही तरीके से काम करेगा. खास तौर पर, अगर वह Android 1.1 में लॉन्च किए गए एपीआई का इस्तेमाल करता है.

अगर आपका ऐप्लिकेशन, Android 1.1 में लॉन्च किए गए एपीआई का इस्तेमाल करता है, लेकिन <uses-sdk android:minSdkVersion="2" /> का एलान नहीं करता है, तो वह Android 1.1 डिवाइसों पर ठीक से काम करेगा, लेकिन Android 1.0 डिवाइसों पर नहीं. दूसरे मामले में, ऐप्लिकेशन रनटाइम के दौरान क्रैश हो जाएगा, जब वह Android 1.1 एपीआई का इस्तेमाल करने की कोशिश करेगा.

अगर आपका ऐप्लिकेशन Android में पेश किए गए किसी भी नए एपीआई का इस्तेमाल नहीं करता वर्शन 1.1 है, तो आप android:minSdkVersion या एट्रिब्यूट को "1" पर सेट करें. हालांकि, ऐप्लिकेशन पब्लिश करने से पहले, आपको यह पक्का करना होगा कि आपने अपने ऐप्लिकेशन को Android 1.0 सिस्टम इमेज (Android 1.0 SDK में उपलब्ध) के हिसाब से कंपाइल किया हो. इससे यह पक्का किया जा सकेगा कि ऐप्लिकेशन, Android 1.0 डिवाइसों के लिए सही तरीके से काम करता है और बिल्ड होता है. आपको सिस्टम के हिसाब से ऐप्लिकेशन की जांच करनी चाहिए ऐप्लिकेशन के डिज़ाइन किए गए एपीआई लेवल से जुड़ी इमेज ताकि वे साथ काम कर सकें.

यदि आप सुनिश्चित हैं कि आपका ऐप्लिकेशन Android 1.1 API का उपयोग नहीं कर रहा है और इस्तेमाल करने की कोई ज़रूरत नहीं है, तो हो सकता है कि आपको अपना काम जारी रखने में ज़्यादा आसानी हो होने के बजाय, Android 1.1 SDK पर माइग्रेट करने और ताकि अतिरिक्त टेस्ट किए जा सकें.

बाहरी लाइब्रेरी

सिस्टम इमेज में ये बाहरी लाइब्रेरी शामिल होती हैं, जिन्हें आप अपने ऐप्लिकेशन से ऐक्सेस करने के लिए <uses-library> से संपर्क कर सकते हैं.

  • com.google.android.maps — की मदद से ऐप्लिकेशन को Google Maps डेटा का ऐक्सेस मिलता है. ध्यान दें कि Google Maps का इस्तेमाल करने के लिए डेटा के लिए, Maps API कुंजी आवश्यक है.

इन डिवाइसों पर काम करता है

Android 1.1 सिस्टम इमेज की जांच, यहां दिए गए Android डिवाइसों के साथ काम करने के लिए की गई थी:

  • टी-मोबाइल जी1

पहले से मौजूद ऐप्लिकेशन

सिस्टम इमेज में ये पहले से मौजूद ऐप्लिकेशन शामिल होते हैं:

  • अलार्म क्लॉक
  • एपीआई के डेमो
  • ब्राउज़र
  • कैल्कुलेटर
  • कैमरा
  • संपर्क
  • Dev Tools
  • Dialer
  • ईमेल
  • Maps (और Street View)
  • मैसेज सेवा
  • संगीत
  • पिक्चर
  • सेटिंग

स्थानीय भाषा के हिसाब से यूज़र इंटरफ़ेस (यूआई)

सिस्टम इमेज में, यहां दी गई भाषाओं के लिए, लोकलाइज़ की गई यूज़र इंटरफ़ेस (यूआई) स्ट्रिंग दी गई हैं.

  • अंग्रेज़ी, अमेरिका (en_US)
  • जर्मन (de)

स्थानीय जगह के अनुसार बनाई गई यूज़र इंटरफ़ेस (यूआई) स्ट्रिंग, उन स्थान-भाषाओं से मेल खाती हैं जिनमें डिसप्ले किया जा सकता है एम्युलेटर को डिवाइस के सेटिंग ऐप्लिकेशन से ऐक्सेस किया जा सकता है.

हल की गई समस्याएं

  • AlarmClock सूचना, अब AlarmManager के ज़रिए बजने के बजाय, सीधे ऑडियो/वाइब्रेशन बजती है. अलार्मClock अलर्ट इस डिवाइस में ऑडियो/वाइब चलाना शुरू करता है इंटेंट रिसीवर पर क्लिक करें. ये बदलाव ऐसे होने चाहिए मोडल डायलॉग की मदद से अलार्म को ब्लॉक होने से रोकें.
  • डिवाइस स्लीप मोड में सुधार करता है.
  • अब कॉल के दौरान डायलपैड खोलने के लिए, एक बार टैप करने की ज़रूरत नहीं है. इसके लिए, उपयोगकर्ताओं को अब डायलपैड को छूकर खींचकर छोड़ना होगा.
  • एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, भेजे गए फ़ोल्डर में ट्रांसफ़र किए जाने पर, 25 में से करीब एक आउटबाउंड मैसेज, आईएमएपी कनेक्शन (Gmail पर आधारित सर्वर से) को फ़्रीज़ कर देता था.
  • अपने-आप खाता सेटअप होने की उन एंट्री को हटाता है जो काम नहीं कर रही थीं या नहीं हुई थीं जिसे टेस्ट किया जा सकता है. बाकी कुछ एंट्री में छोटे सुधार जोड़े गए हैं. कुछ खास मामलों में इस्तेमाल होने वाली चेतावनी वाले डायलॉग को बेहतर बनाता है.
  • मेल की जांच करने के डिफ़ॉल्ट इंटरवल को "कभी नहीं" के बजाय, हर 15 मिनट पर सेट करता है.
  • आईएमएपी में पासवर्ड को कोट करने से जुड़ी गड़बड़ियों को ठीक करता है, ताकि उपयोगकर्ता पासवर्ड में खास वर्ण (जैसे, स्पेस) शामिल कर सकें.
  • अपने-आप होने वाले और मैन्युअल खाते के सेटअप की अलग-अलग गड़बड़ियों को ठीक करता है
  • कनेक्शन की अलग-अलग गड़बड़ियों के लिए रिपोर्टिंग को बेहतर बनाता है, जिससे यह आसान हो जाता है सेटअप में गड़बड़ी की जानकारी मिलती है.
  • POP3 खातों के लिए नई-मेल सूचनाओं को ठीक करता है.
  • "कभी नहीं" के तौर पर मार्क किए गए खातों की अपने-आप जांच होने की सुविधा चालू की गई है सही का निशान लगाकर चुनें".
  • अब उपयोगकर्ता की पसंद (जैसे कि 24 घंटे बनाम AM/PM).
  • अब मैसेज व्यू में कॉपी फ़ील्ड भी दिखता है.
  • POP3 कनेक्शन विफलताओं से होने वाली रिकवरी को बेहतर बनाता है.
  • POP3 पार्सर नियमों में बदलाव किया गया है, ताकि ऐप्लिकेशन इनके साथ काम कर सके का पालन नहीं करने वाले ईमेल सर्वर पर.

नई सुविधाएं

  • Maps: जब कोई उपयोगकर्ता Maps पर खोज करता है और किसी कारोबार की जानकारी देखने के लिए उस पर क्लिक करता है, तो जानकारी और समीक्षाएं जोड़ता है.
  • डायलर: कॉल के दौरान स्क्रीन बंद होने की डिफ़ॉल्ट सुविधा, अब स्पीकरफ़ोन.
  • डायलर: कॉल के दौरान दिखने वाले मेन्यू में, "डायलपैड दिखाएं" / "डायलपैड छिपाएं" आइटम जोड़ता है. इससे डीटीएमएफ़ डायलपैड को आसानी से ढूंढा जा सकता है.
  • मल्टीमीडिया मैसेज (एमएमएस) से अटैचमेंट सेव करने की सुविधा जोड़ी गई
  • लेआउट में मार्की के साथ काम करता है.

एपीआई के बदलाव

खास जानकारी

  • टेस्ट सिस्टम के लिए एनोटेशन जोड़ता है. इसमें असल (नॉन-टेस्ट) एपीआई में कोई बदलाव नहीं होता.
  • किसी प्रोसेस का यूआईडी आसानी से तय करने के लिए, एक तरीका जोड़ता है.
  • लेआउट में मार्की के साथ काम करता है.
  • व्यू में पैडिंग तय करने के लिए नए तरीके जोड़ता है. अगर आपको View के लिए खुद के सबक्लास लिखने हैं, तो यह सुविधा काम की है.
  • नई अनुमतियां जोड़ता है, ताकि ऐप्लिकेशन एसएमएस या WAP पुश मैसेज ब्रॉडकास्ट कर सके.
  • एपीआई क्लीनअप: यह कंस्ट्रक्टर को हटाता है SDK टूल पर लागू होने वाली सिस्टम इमेज.

एपीआई में किए गए बदलाव की जानकारी

मॉड्यूल या फ़ीचरब्यौरा बदलें
टेस्ट सिस्टम के लिए एनोटेशन
LargeTest एनोटेशन जोड़ा गया.
MediumTest एनोटेशन जोड़ा गया.
SmallTest एनोटेशन जोड़ा गया.
किसी प्रोसेस को आसानी से उसका यूआईडी पता करने की अनुमति दें.
क्लास android.os.Process में पब्लिक मेथड myUid() जोड़ा गया
व्यू में पैडिंग (जगह)
क्लास android.view.View में पब्लिक मेथड getBottomPaddingOffset() जोड़ा गया.
क्लास android.view.View में पब्लिक मेथड getLeftPaddingOffset() जोड़ा गया.
android.view.View क्लास में getRightPaddingOffset() तरीका जोड़ा गया.
android.view.View क्लास में getTopPaddingOffset() तरीका जोड़ा गया.
android.view.View क्लास में isPaddingOffsetRequired() तरीका जोड़ा गया.
मार्की के साथ काम करना
setMarqueeRepeatLimit(int) क्लास में TextView का सार्वजनिक तरीका जोड़ा गया
android.R.attr.marqueeRepeatLimit सार्वजनिक फ़ील्ड जोड़ा गया
नई अनुमतियां
android.Manifest.permission.BROADCAST_SMS सार्वजनिक फ़ील्ड जोड़ा गया
सार्वजनिक फ़ील्ड android.Manifest.permission.BROADCAST_WAP_PUSH जोड़ा गया
एपीआई क्लीनअप
सुरक्षित कंस्ट्रक्टर java.net.ServerSocket.ServerSocket(java.net.SocketImpl) को हटाया गया.