Android 2.0, Sürüm 1

API Düzeyi: 5

Android 2.0, Kasım 2009'dan itibaren Android destekli cihazlara dağıtılabilen önemli bir platform sürümüdür. Bu sürümde, kullanıcılar ve geliştiriciler için yeni özelliklerin yanı sıra Android Framework API'deki değişiklikler de yer alıyor.

Android 2.0 platformu, geliştiriciler açısından Android SDK'sı için indirilebilir bir bileşen olarak mevcuttur. İndirilebilir platformda, tamamen uyumlu bir Android kitaplığı ve sistem görüntüsünün yanı sıra bir dizi emülatör dış görünümü, örnek uygulamalar ve daha fazlası bulunur. İndirilebilir platform tamamen uyumludur ve harici kitaplık içermez.

Android 2.0 platformuna göre geliştirmeye veya test etmeye başlamak için Android SDK ve AVD Manager aracını kullanarak platformu SDK'nıza indirin.

Platformda Öne Çıkanlar

Yeni kullanıcı özelliklerinin ve platformun öne çıkan özelliklerinin listesi için Android 2.0 Platformunda Öne Çıkanlar belgesine bakın.

Yerleşik Uygulamalar

İndirilebilir platformda bulunan sistem görüntüsü, aşağıdaki yerleşik uygulamaları sağlar:

  • Çalar Saat
  • Tarayıcı
  • Hesap Makinesi
  • Video Kamera
  • Kamera
  • Kişiler
  • Özel Yerel Ayar (geliştirici uygulaması)
  • Geliştirici Araçları (geliştirici uygulaması)
  • Dialer
  • E-posta
  • Galeri
  • Hareket Oluşturucu
  • Japonca metin girişi için IME
  • Mesajlaşma
  • Müzik
  • Ayarlar
  • Yedek Parçalar (geliştirici uygulaması)

Yerel Ayarlar

İndirilebilir platformda bulunan sistem görüntüsü, çeşitli yerleşik yerel ayarlar sağlar. Bazı durumlarda, yerel ayarlar için bölgeye özel dizeler kullanılabilir. Diğer durumlarda dilin varsayılan sürümü kullanılır. Android 2.0 sistem görüntüsünde kullanılabilen diller aşağıda dil_ülke/bölge yerel ayarı açıklamasıyla birlikte listelenmiştir.

  • Çince, Çin Halk Cumhuriyeti (zh_CN)
  • Çince, Tayvan (zh_TW)
  • Çekçe (cs_CZ)
  • Felemenkçe, Hollanda (nl_NL)
  • Felemenkçe, Belçika (nl_BE)
  • İngilizce, ABD (en_US)
  • İngilizce, İngiltere (en_GB)
  • İngilizce, Kanada (en_CA)
  • İngilizce, Avustralya (en_AU)
  • İngilizce, Yeni Zelanda (en_NZ)
  • İngilizce, Singapur (en_SG)
  • Fransızca, Fransa (fr_FR)
  • Fransızca, Belçika (fr_BE)
  • Fransızca, Kanada (fr_CA)
  • Fransızca, İsviçre (fr_CH)
  • Almanca, Almanya (de_DE)
  • Almanca, Avusturya (de_AT)
  • Almanca, İsviçre (de_CH)
  • Almanca, Liechtenstein (de_LI)
  • İtalyanca, İtalya (it_IT)
  • İtalyanca, İsviçre (it_CH)
  • Japonca (ja_JP)
  • Korece (ko_KR)
  • Lehçe (pl_PL)
  • Rusça (ru_RU)
  • İspanyolca (es_ES)
  • Yerelleştirilmiş kullanıcı arayüzü dizeleri, Ayarlar aracılığıyla erişilebilen yerel ayarlarla eşleşir.

    Emülatör Kaplamaları

    İndirilebilir platform, uygulamanızı farklı ekran boyutlarında ve çözünürlüklerinde modellemek için kullanabileceğiniz bir dizi emülatör dış görünümü içerir. Emülatör dış görünümleri:

    • QVGA (240x320, düşük yoğunluk, küçük ekran)
    • WQVGA (240x400, düşük yoğunluk, normal ekran)
    • FWQVGA (240x432, düşük yoğunluk, normal ekran)
    • HVGA (320x480, orta yoğunluk, normal ekran)
    • WVGA800 (480x800, yüksek yoğunluk, normal ekran)
    • WVGA854 (480x854 yüksek yoğunluk, normal ekran)

    Android destekli tüm cihazlarda düzgün şekilde görüntülenen ve çalışan bir uygulamanın nasıl geliştirileceği hakkında daha fazla bilgi edinmek için Birden Fazla Ekranı Destekleme bölümüne bakın.

    Geliştirici Özellikleri

    Aşağıdaki bölümlerde, indirilebilir Android 2.0 platform bileşeni tarafından sunulan yeni geliştirici özellikleri hakkında bilgi verilmektedir.

    Karınca Desteği

    • Hata ayıklama ve sürüm modu uygulama imzalama Sürüm modu imzalama, zipalign optimizasyonu için entegre destek içerir. Daha fazla bilgi için Uygulamalarınızı İmzalama konusuna bakın.
    • Emma enstrümantasyon projelerini destekleyen yeni Karınca derleme sistemi eklendi (kod kapsamı).

    Çerçeve API'sı

    Aşağıdaki bölümlerde Android 2.0 platformu tarafından sağlanan uygulama çerçevesi API'si hakkında bilgi verilmektedir.

    API seviyesi

    Android 2.0 platformu, çerçeve API'sinin güncellenmiş bir sürümünü sunar. Önceki sürümlerde olduğu gibi, Android 2.0 API'ye sistemin kendisinde depolanan bir tam sayı tanımlayıcısı (5) atanmıştır. "API Düzeyi" olarak adlandırılan bu tanımlayıcı, sistemin, uygulamayı yüklemeden önce uygulamanın sistemle uyumlu olup olmadığını doğru şekilde belirlemesine olanak tanır.

    Uygulamanızda Android 2.0'da tanıtılan API'leri kullanmak için uygulamanızın manifest dosyasındaki <uses-sdk> öğesinin özelliklerinde "5" olan doğru değeri ayarlamanız gerekir.

    API Düzeyi'nin nasıl kullanılacağı hakkında daha fazla bilgi için API Düzeyleri belgesine bakın.

    API değişikliklerinin özeti

    Bluetooth

    • Bluetooth'u açın/kapatın
    • Cihaz ve hizmet bulma
    • RFCOMM kullanarak uzak bir cihaza bağlanın ve veri gönderin/alın
    • RFCOMM hizmetlerinin reklamını yapın ve gelen RFCOMM bağlantısını dinleyin

    Senkronizasyon adaptörleri

    • Senkronizasyon bağdaştırıcılarının herhangi bir arka uca bağlanması için yeni API'ler

    Hesap Yöneticisi

    • Yetkilendirme jetonlarını/şifrelerini güvenli bir şekilde depolamak ve bunlara erişmek için merkezi hesap yöneticisi API'si

    Kişiler

    • Birden fazla hesaptan veri almaya olanak tanıyan yeni kişiler API'leri
    • Yeni Hızlı İletişim çerçevesi API'leri, geliştiricilerin uygulamalarında kişi rozetleri oluşturmalarına olanak tanır. Rozeti tıklandığında, kişiyle tek tıklamayla iletişim kurma yollarının listesini içeren bir pencere açılır.

    Web Görünümü

    • Kullanımdan kaldırılan sınıflar: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.

    Kamera

    • Renk efekti, sahne modu, flaş modu, odak modu, beyaz dengesi, döndürme ve diğer ayarlar için yeni parametreler.
    • Yakınlaştırma düzeyi değiştiğinde işlem gerçekleştirmek için yeni ZoomCallback arayüzü.

    Medya

    • MediaScanner, artık MediaStore'a eklendiklerinde tüm resimler için küçük resimler oluşturuyor.
    • İstek üzerine resim ve video küçük resimlerini almak için yeni Thumbnail API'si.

    Diğer Çerçeve

    • Etkinlikleri, mevcut sistem duvar kağıdının üzerinde kolayca görüntülemek veya önceki etkinliğin arka planda görünür kalmasını sağlamak için android.R.style'deki yeni sistem temaları.
    • Yeni WallpaperManager API, uygulamaların sistem duvar kağıdını isteyip ayarlamasına olanak tanımak için daha önce Bağlam içinde olan duvar kağıdı API'lerinin yerini alıp genişletir.
    • Uygulamaların, özellikle bir Hizmet çalışırken sonlandırılabileceği düşük bellek durumlarında Hizmet yaşam döngüsünü doğru şekilde işlemesine yardımcı olan yeni Hizmet API'leri.
      • Service.setForeground() desteği sonlandırıldı ve artık etkin bir şekilde işlem gerçekleştirmiyor. Bu API, devam eden bir bildirimi ön plan durumuyla ilişkilendirmeye yardımcı olan (ve bunu gerektiren) yeni startForeground() API'siyle değiştirildi.
    • MotionEvent, artık destekleyen cihazlar için eş zamanlı dokunma bilgilerini raporlayabilir. Aynı anda en fazla üç işaretçi izlenebilir.
    • KeyEvent, işlem başlatma ve uzun basma davranışının uygulanmasına yardımcı olmak için yeni anahtar gönderme API'lerinin yanı sıra tuşlara basmaları iptal edecek (sanal tuşlar için) yeni bir mekanizma içerir.
    • WindowManager.LayoutParams, bir pencerenin görüntülendiğinde ekranı uyandırmasına ve ekran kilitli olsa bile pencereyi göstermesine olanak tanıyan yeni sabit değerler içerir. Bu, uygulamaların cihazı uyandırması gereken çalar saatler gibi şeyleri daha net bir şekilde uygulamasına olanak tanır.
    • Cihazın yuvaya yerleştirilme durumunu yayınlayan ve cihaz bir masaüstü veya araç yuvasına yerleştirildiğinde uygulamaların özel etkinlikler başlatmasına olanak tanıyan yeni Intent API'leri.

    Tuş basılıyken yürütülen önemli etkinlikler

    Android 2.0, fiziksel tuşlar yerine ANA SAYFA, MENÜ, GERİ ve ARAMA için sanal tuşlar kullanan cihazlarda çalışacak şekilde tasarlanmıştır. Bu cihazlarda en iyi kullanıcı deneyimini desteklemek amacıyla, Android platformu artık bu düğmeleri tuş indirme yerine tuş/aşağı/key-up çifti için tuşu basılı tutarken çalıştırıyor. Bu, yanlışlıkla meydana gelen düğme etkinliklerinin önlenmesine yardımcı olur ve kullanıcının düğme alanına basıp daha sonra etkinlik oluşturmadan dışarı sürüklemesine olanak tanır.

    Davranıştaki bu değişiklik, uygulamanızı yalnızca düğme etkinliklerine müdahale ediyor ve tuşa basma yerine tuşu basılı tutma konusunda işlem yapıyorsa etkilemelidir. Özellikle uygulamanız GERİ anahtarına müdahale ediyorsa uygulamanızın önemli etkinlikleri düzgün bir şekilde işlediğinden emin olmalısınız.

    Genel olarak, bir uygulamada GERİ tuşuna müdahale etmeniz önerilmez. Ancak uygulamanız bunu yapıyorsa ve tuş tuşuna basma yerine tuşu basılı tutmak yerine bazı işlemler yapıyorsa kodunuzu değiştirmeniz gerekir.

    Uygulamanız Android 2.0 (API Düzeyi 5) sürümünde sunulan API'leri kullanacaksa anahtar/etkinlik çiftlerini yönetmek için yeni API'lerden yararlanabilirsiniz:

    • Bir etkinlik veya iletişim kutusunda GERİ tuşuna müdahale ediyorsanız yeni onBackPressed() yöntemini uygulamanız yeterlidir.
    • Bir görünümde GERİ tuşuna müdahale ediyorsanız tuşun basılı olduğu zamanlarda önemli etkinliği izlemeli (yeni startTracking() yöntemi ile) ve ardından tuş tuşuna bastığında işlemi çağırmalısınız. Kullanabileceğiniz bir kalıp şu şekildedir:
    • 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);
          }
      

    Eski bir uygulamayı, GERİ tuşunun hem Android 2.0 hem de daha eski platform sürümlerinde düzgün şekilde işlenmesi için güncellemek isterseniz yukarıda gösterilene benzer bir yaklaşım kullanabilirsiniz. Kodunuz, "key-down" tuşuna basıldığında hedef düğme etkinliğini yakalayabilir, önemli etkinliği izlemek için bir işaret ayarlayabilir ve daha sonra, izleme işareti ayarlanmışsa istenen işlemi yürüterek "tuş-up" sırasında etkinliği yakalayabilir. Ayrıca odaktaki değişiklikleri gözlemlemeli ve odağı kazanıp kaybettiğinde izleme işaretini temizlemeniz gerekir.

    API farklılıkları raporu

    Önceki sürümle karşılaştırıldığında Android 2.0'daki (API Düzeyi 5) API değişikliklerinin ayrıntılı görünümü için API Farklılıkları Raporu'na bakın.