Android 2.0, रिलीज़ 1

एपीआई लेवल: 5

Android 2.0 एक बड़ा प्लैटफ़ॉर्म है जिन्हें नवंबर 2009 से Android-पावर्ड हैंडसेट पर डिप्लॉय किया जा सकेगा. इस रिलीज़ में उपयोगकर्ताओं और डेवलपर के लिए नई सुविधाओं के साथ-साथ कुछ बदलाव भी शामिल हैं .

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

Android पर डेवलप करना या उसकी जांच करना शुरू करने के लिए 2.0 प्लैटफ़ॉर्म, Android SDK और AVD Manager टूल का इस्तेमाल इन कामों के लिए करें अपने SDK टूल में प्लैटफ़ॉर्म डाउनलोड करें.

प्लेटफ़ॉर्म हाइलाइट

नई उपयोगकर्ता सुविधाओं और प्लैटफ़ॉर्म हाइलाइट की सूची के लिए, Android 2.0 प्लैटफ़ॉर्म हाइलाइट दस्तावेज़.

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

डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में शामिल सिस्टम इमेज से, ये जानकारी मिलती है पहले से मौजूद ऐप्लिकेशन:

  • अलार्म क्लॉक
  • ब्राउज़र
  • कैल्कुलेटर
  • कैमकॉर्डर
  • कैमरा
  • संपर्क
  • पसंद के मुताबिक स्थान-भाषा (डेवलपर ऐप्लिकेशन)
  • डेवलपर टूल (डेवलपर ऐप्लिकेशन)
  • Dialer
  • ईमेल
  • गैलरी में देखें
  • जेस्चर बिल्डर
  • जैपनीज़ टेक्स्ट इनपुट के लिए IME
  • मैसेज सेवा
  • संगीत
  • सेटिंग
  • स्पेयर पार्ट्स (डेवलपर ऐप्लिकेशन)

स्थान-भाषाएं

डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में शामिल सिस्टम इमेज, Google News पर पहले से मौजूद स्थान-भाषाएँ. कुछ मामलों में, स्थान-भाषाएं. अन्य मामलों में, भाषा के डिफ़ॉल्ट वर्शन का इस्तेमाल किया जाता है. कॉन्टेंट बनाने Android 2.0 सिस्टम में उपलब्ध भाषाएं इमेज नीचे दी गई हैं (language_country/region स्थान-भाषा के साथ) डिस्क्रिप्टर).

  • चीनी, PRC (zh_CN)
  • चाइनीज़, ताइवान (zh_TW)
  • चेक (cs_CZ)
  • डच, नीदरलैंड्स (nl_NL)
  • डच, बेल्जियम (nl_BE)
  • अंग्रेज़ी, US (en_US)
  • अंग्रेज़ी, ब्रिटेन (en_GB)
  • अंग्रेज़ी, कनाडा (en_CA)
  • अंग्रेज़ी, ऑस्ट्रेलिया (en_AU)
  • अंग्रेज़ी, न्यूज़ीलैंड (en_NZ)
  • अंग्रेज़ी, सिंगापुर(hi_SG)
  • फ़्रेंच, फ़्रांस (fr_FR)
  • फ़्रेंच, बेल्जियम (fr_BE)
  • फ़्रेंच, कनाडा (fr_CA)
  • फ़्रेंच, स्विट्ज़रलैंड (fr_CH)
  • जर्मन, जर्मनी (de_DE)
  • जर्मन, ऑस्ट्रिया (de_AT)
  • जर्मन, स्विट्ज़रलैंड (de_CH)
  • जर्मन, लिख्तेंस्ताइन (de_LI)
  • इतालवी, इटली (it_IT)
  • इटैलियन, स्विट्ज़रलैंड (it_CH)
  • जैपनीज़ (ja_JP)
  • कोरियन (ko_KR)
  • पोलिश (pl_PL)
  • रशियन (ru_RU)
  • स्पैनिश (es_ES)
  • स्थानीय जगह के अनुसार बनाई गई यूज़र इंटरफ़ेस (यूआई) स्ट्रिंग उन स्थान-भाषाओं से मेल खाती हैं जिन्हें ऐक्सेस किया जा सकता है सेटिंग में जाकर.

    एम्युलेटर स्किन

    डाउनलोड किए जा सकने वाले प्लैटफ़ॉर्म में एम्युलेटर स्किन का एक सेट होता है. इसका इस्तेमाल अपने ऐप्लिकेशन की मॉडलिंग को अलग-अलग साइज़ और रिज़ॉल्यूशन में करने के लिए किया जा सकता है. एम्युलेटर स्किन ये हैं:

    • QVGA (240x320, लो डेंसिटी, छोटी स्क्रीन)
    • WQVGA (240x400, कम सघनता, सामान्य स्क्रीन)
    • FWQVGA (240x432, कम डेंसिटी, सामान्य स्क्रीन)
    • HVGA (320x480, मध्यम सघनता, सामान्य स्क्रीन)
    • WVGA800 (480x800, उच्च सघनता, सामान्य स्क्रीन)
    • WVGA854 (480x854 उच्च सघनता, सामान्य स्क्रीन)

    Android के साथ काम करने वाले सभी डिवाइसों पर ठीक से दिखने और काम करने वाले ऐप्लिकेशन को डेवलप करने के तरीके के बारे में ज़्यादा जानकारी के लिए, एक से ज़्यादा स्क्रीन का इस्तेमाल करना देखें.

    डेवलपर के लिए सुविधाएं

    नीचे दिए गए सेक्शन, डेवलपर के लिए डाउनलोड की जा सकने वाली Android 2.0 प्लैटफ़ॉर्म कॉम्पोनेंट से मिलने वाली नई सुविधाओं के बारे में जानकारी देते हैं.

    चींटी सहायता

    • डीबग- और रिलीज़-मोड ऐप्लिकेशन साइनिंग. रिलीज़-मोड साइनिंग में zipalign को ऑप्टिमाइज़ करने के लिए, इंटिग्रेट की गई सहायता शामिल है. ज़्यादा जानकारी के लिए, अपने ऐप्लिकेशन साइन करना देखें.
    • एमा इंस्ट्रुमेंटेशन प्रोजेक्ट (कोड कवरेज) के लिए सहायता के साथ नया Ant बिल्ड सिस्टम जोड़ता है.

    फ़्रेमवर्क एपीआई

    नीचे दिए गए सेक्शन Android 2.0 प्लैटफ़ॉर्म से मिले ऐप्लिकेशन फ़्रेमवर्क एपीआई के बारे में जानकारी देते हैं.

    API स्तर

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

    अपने ऐप्लिकेशन में Android 2.0 में बताए गए API का उपयोग करने के लिए, आपको <uses-sdk> के एट्रिब्यूट में सही वैल्यू "5" सेट करें तत्व के साथ भी उपलब्ध है.

    एपीआई लेवल को इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, एपीआई लेवल वाला दस्तावेज़ देखें.

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

    ब्लूटूथ

    • ब्लूटूथ चालू/बंद करें
    • डिवाइस और सेवा खोजना
    • RFCOMM का इस्तेमाल करके रिमोट डिवाइस से कनेक्ट करें और डेटा भेजें/पाएं
    • RFCOMM सेवाओं का विज्ञापन दें और आने वाले RFCOMM कनेक्शन को सुनें

    अडैप्टर सिंक करें

    • किसी भी बैकएंड से कनेक्ट करने के लिए, सिंक अडैप्टर के लिए नए एपीआई

    खाता मैनेजर

    • पुष्टि करने वाले टोकन/पासवर्ड को सुरक्षित तरीके से सेव और ऐक्सेस करने के लिए, एक ही जगह से मैनेज होने वाला खाता मैनेजर एपीआई

    संपर्क

    • नए संपर्क एपीआई, जो कई खातों से डेटा इकट्ठा करने की अनुमति देते हैं
    • नए Quick Contacts फ़्रेमवर्क के एपीआई, डेवलपर को अपने ऐप्लिकेशन में संपर्क बैज बनाने की सुविधा देते हैं. बैज पर क्लिक करने से एक विंडो खुलती है. इसमें बस एक क्लिक में किसी व्यक्ति से संपर्क करने के तरीकों की सूची होती है.

    WebView

    • काम नहीं करने वाली क्लास: UrlInterceptHandler, प्लग इन, प्लगिनडेटा, प्लगिनलिस्ट, UrlInterceptRegistry.

    कैमरा

    • कलर इफ़ेक्ट, सीन मोड, फ़्लैश मोड, फ़ोकस मोड, व्हाइट बैलेंस, रोटेशन, और अन्य सेटिंग के लिए नए पैरामीटर.
    • ज़ूम लेवल बदलने पर कार्रवाइयां करने के लिए, नया ZoomCallback इंटरफ़ेस.

    मीडिया

    • MediaScanner अब सभी इमेज के लिए थंबनेल जनरेट करता है. ऐसा तब होता है, जब उन्हें MediaStore में डाला जाता है.
    • मांग पर इमेज और वीडियो के थंबनेल वापस पाने के लिए नया थंबनेल एपीआई.

    अन्य फ़्रेमवर्क

    • गतिविधियों को आसानी से मौजूदा सिस्टम वॉलपेपर के ऊपर दिखाने या पिछली गतिविधि को बैकग्राउंड में दिखाने के लिए, android.R.style में नई सिस्टम थीम इस्तेमाल की गई हैं.
    • नया वॉलपेपर मैनेजर एपीआई, उन वॉलपेपर एपीआई को बदलता है जो पहले कॉन्टेक्स्ट में थे. ऐसा करने से, ऐप्लिकेशन, सिस्टम वॉलपेपर के लिए अनुरोध कर सकते हैं और उसे सेट कर सकते हैं.
    • नए सेवा एपीआई, सेवा की लाइफ़साइकल को सही तरीके से मैनेज करने में ऐप्लिकेशन की मदद करते हैं. खास तौर पर, कम मेमोरी वाली स्थितियों में सेवा के चलते समय सेवा बंद हो सकती है.
      • Service.setForeground() को बंद कर दिया गया है और अब यह कोई कार्रवाई नहीं करता है. इसे एक नए एपीआई, startForeground() से बदल दिया गया है, जो फ़ोरग्राउंड स्थिति के साथ चल रही सूचना को जोड़ने में मदद (और ज़रूरी) करता है.
    • MotionEvent अब उन सभी डिवाइसों से, एक साथ होने वाले टच की जानकारी रिपोर्ट कर सकता है जिन पर यह सुविधा काम करती है. एक साथ ज़्यादा से ज़्यादा तीन पॉइंटर ट्रैक किए जा सकते हैं.
    • KeyEvent में कुंजी भेजने वाले नए एपीआई हैं, जो ऊपर बताई गई कार्रवाई और लंबे समय तक दबाए जाने वाले व्यवहार को लागू करने में मदद करते हैं. साथ ही, बटन दबाने पर कार्रवाई को रद्द करने का नया तरीका भी है (वर्चुअल कुंजियों के लिए).
    • WindowManager.LayoutParams में नए कॉन्सटेंट हैं, जो स्क्रीन के दिखने पर विंडो को चालू कर देते हैं और स्क्रीन लॉक होने पर भी विंडो दिखाते हैं. इससे ऐप्लिकेशन, डिवाइस को सक्रिय करने वाली अलार्म घड़ियों जैसी चीज़ों को ज़्यादा अच्छी तरह से लागू कर सकते हैं.
    • नए इंटेंट एपीआई, जो डिवाइस की डॉकिंग स्थिति को ब्रॉडकास्ट करते हैं और डिवाइस को डेस्कटॉप या कार डॉक में रखे जाने पर ऐप्लिकेशन को खास गतिविधियां लॉन्च करने की अनुमति देते हैं.

    की-अप के बाद चलाए गए मुख्य इवेंट

    Android 2.0 को उन डिवाइसों पर चलाने के लिए डिज़ाइन किया गया है जो HOME के लिए, वर्चुअल बटन इस्तेमाल करते हैं असली चाबियों के बजाय मेन्यू, वापस जाएं, और खोज के नतीजे दिखाएं. बेहतरीन उपयोगकर्ता की मदद करने के लिए अनुभव प्राप्त कर रहे हैं, तो Android प्लेटफ़ॉर्म अब इन बटन को की-डाउन का विकल्प होता है. इससे इन समस्याओं को रोकने में मदद मिलती है अनजाने में होने वाले बटन इवेंट. इस सुविधा से, लोग बटन वाले हिस्से को दबाकर, उसे खींचने और छोड़ने की सुविधा इस्तेमाल कर सकते हैं और बिना कोई इवेंट जनरेट किए ही आसानी से खर्च किया जा सकता है.

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

    आम तौर पर, किसी ऐप्लिकेशन में BACK कुंजी को रोकने की सलाह नहीं दी जाती है, हालांकि, अगर आपका ऐप्लिकेशन ऐसा कर रहा है और वह की-डाउन पर क्लिक करें, न कि बटन-अप, तो आपको अपने कोड में बदलाव करना चाहिए.

    अगर आपका ऐप्लिकेशन, Android 2.0 (एपीआई लेवल 5) में उपलब्ध एपीआई का इस्तेमाल करता है, तो मुख्य इवेंट पेयर को मैनेज करने के लिए, नए एपीआई का इस्तेमाल किया जा सकता है:

    • अगर आप किसी गतिविधि या डायलॉग में BACK कुंजी को इंटरसेप्ट कर रहे हैं, तो बस नया onBackPressed() तरीका लागू करें.
    • अगर आप किसी व्यू में BACK कुंजी को इंटरसेप्ट कर रहे हैं, तो आपको कुंजी को ट्रैक करना चाहिए की-डाउन पर इवेंट (नए startTracking() से तरीका) को शुरू करें, फिर की अप पर कार्रवाई शुरू करें. यहां दिया गया पैटर्न इस्तेमाल किया जा सकता है:
    • Kotlin

      override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
          return when (keyCode) {
              KeyEvent.KEYCODE_BACK -> {
                  if (event.repeatCount == 0) {
                      event.startTracking()
                      true
                  } else {
                      false
                  }
              }
              ...
              else -> super.onKeyDown(keyCode, event)
          }
      }
      
      override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
          return when (keyCode) {
              KeyEvent.KEYCODE_BACK -> {
                  if (event.isTracking && !event.isCanceled) {
                      // *** DO ACTION HERE ***
                      true
                  } else {
                      false
                  }
              }
              ...
              else -> super.onKeyUp(keyCode, event)
          }
      }
      

      Java

      public boolean onKeyDown(int keyCode, KeyEvent event) {
              if (keyCode == KeyEvent.KEYCODE_BACK
                      && event.getRepeatCount() == 0) {
                  event.startTracking();
                  return true;
              }
              return super.onKeyDown(keyCode, event);
          }
      
          public boolean onKeyUp(int keyCode, KeyEvent event) {
              if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()
                      && !event.isCanceled()) {
                  // *** DO ACTION HERE ***
                  return true;
              }
              return super.onKeyUp(keyCode, event);
          }
      

    अगर आप किसी लेगसी ऐप्लिकेशन को अपडेट करना चाहते हैं, ताकि वह BACK को हैंडल करे कुंजी Android 2.0 और पुराने प्लेटफ़ॉर्म, दोनों वर्शन के लिए ठीक से काम करती है, तो ऊपर बताए गए तरीके का इस्तेमाल कर सकते हैं. आपका कोड की-डाउन पर टारगेट बटन इवेंट सेट अप करें, मुख्य इवेंट को ट्रैक करने के लिए फ़्लैग सेट करें, और के बाद, यदि ट्रैकिंग फ़्लैग सेट कर दिया गया है. आप फ़ोकस में होने वाले बदलावों पर नज़र रखना और ट्रैकिंग को मिटाना भी चाहेंगे फ़ोकस पाने/खोने पर फ़्लैग कर सकता है.

    एपीआई में अंतर की रिपोर्ट

    की तुलना में Android 2.0 (एपीआई लेवल 5) में, एपीआई में हुए बदलावों की ज़्यादा जानकारी के लिए पिछला वर्शन, एपीआई में अंतर की रिपोर्ट देखें.