Android 2.0, Version 1

API-Level:5

Android 2.0 ist eine wichtige Plattform-Version ab November 2009 auf Android-Mobilgeräten einsetzbar. Die Version enthält neue Funktionen für Nutzer und Entwickler sowie Änderungen in der Android Framework API.

Für Entwickler ist die Android 2.0-Plattform als herunterladbare Komponente für das Android SDK. Die herunterladbare Plattform umfasst ein vollständig konformen Android-Bibliothek und System-Image sowie einer Reihe von Emulatoren Skins, Beispielanwendungen und mehr. Die herunterladbare Plattform kompatibel und enthält keine externen Bibliotheken.

Um mit dem Entwickeln oder Testen auf der Android-Plattform zu beginnen 2.0-Plattform verwenden, nutzen Sie das Android SDK und das AVD Manager-Tool, laden Sie die Plattform in Ihr SDK herunter.

Highlights der Plattform

Eine Liste der neuen Nutzerfunktionen und Plattformhighlights finden Sie in der Android- Dokument 2.0 Plattform-Highlights.

Integrierte Anwendungen

Das System-Image, das auf der herunterladbaren Plattform enthalten ist, stellt Folgendes bereit: integrierte Anwendungen:

  • Wecker
  • Browser
  • Rechner
  • Videokamera
  • Kamera
  • Kontakte
  • Benutzerdefinierte Sprache (Entwickler-App)
  • Entwicklertools (Entwickler-App)
  • Telefon
  • E-Mail
  • Galerie
  • Gesten-Builder
  • IME für japanische Texteingabe
  • Nachrichten
  • Musik
  • Einstellungen
  • Ersatzteile (Entwickler-App)

Locales

Das System-Image auf der herunterladbaren Plattform bietet integrierten Sprachen. In einigen Fällen sind regionsspezifische Strings für den Sprachen. In anderen Fällen wird eine Standardversion der Sprache verwendet. Die Sprachen, die im Android 2.0-System verfügbar sind Die folgenden Bilder sind unten aufgeführt (mit der Sprache language_country/region) Beschreibung).

  • Chinesisch, Volksrepublik China (zh_CN)
  • Chinesisch, Taiwan (zh_TW)
  • Tschechisch (cs_CZ)
  • Niederländisch, Niederlande (nl_NL)
  • Niederländisch, Belgien (nl_BE)
  • Englisch, USA (en_US)
  • Englisch, Vereinigtes Königreich (en_GB)
  • Englisch, Kanada (en_CA)
  • Englisch, Australien (en_AU)
  • Englisch, Neuseeland (en_NZ)
  • Englisch, Singapur(en_SG)
  • Französisch, Frankreich (fr_FR)
  • Französisch, Belgien (fr_BE)
  • Französisch, Kanada (fr_CA)
  • Französisch, Schweiz (fr_CH)
  • Deutsch, Deutschland (de_DE)
  • Deutsch, Österreich (de_AT)
  • Deutsch, Schweiz (de_CH)
  • Deutsch, Liechtenstein (de_LI)
  • Italienisch, Italien (it_IT)
  • Italienisch, Schweiz (it_CH)
  • Japanisch (ja_JP)
  • Koreanisch (ko_KR)
  • Polnisch (pl_PL)
  • Russisch (ru_RU)
  • Spanisch (es_ES)
  • Lokalisierte UI-Strings stimmen mit zugänglichen Sprachen überein über die Einstellungen.

    Emulator-Skins

    Die herunterladbare Plattform enthält eine Reihe von Emulator-Skins, die Sie zur Modellierung Ihrer App für verschiedene Bildschirmgrößen und -auflösungen verwenden können. Die Emulator-Skins sind:

    • QVGA (240 x 320, niedrige Dichte, kleiner Bildschirm)
    • WQVGA (240 x 400, niedrige Dichte, normaler Bildschirm)
    • FWQVGA (240 x 432, niedrige Punktdichte, normaler Bildschirm)
    • HVGA (320 x 480, mittlere Dichte, normaler Bildschirm)
    • WVGA800 (480 x 800, hohe Dichte, normaler Bildschirm)
    • WVGA854 (480 x 854, hohe Dichte, normaler Bildschirm)

    Weitere Informationen zur Entwicklung einer App, die auf allen Android-Geräten korrekt angezeigt wird und richtig funktioniert, findest du unter Unterstützung verschiedener Bildschirme.

    Entwicklerfunktionen

    Die folgenden Abschnitte enthalten Informationen zu neuen Entwicklerfunktionen, die über die herunterladbare Android 2.0-Plattformkomponente verfügbar sind.

    Ameisenstütze

    • Anwendungssignatur im Debug- und Releasemodus Das Signieren im Releasemodus umfasst integrierte Unterstützung für die zipalign-Optimierung. Weitere Informationen finden Sie unter Anwendungen signieren.
    • Ein neues Ant-Build-System mit Unterstützung für Emma-Instrumentierungsprojekte (Codeabdeckung) wurde hinzugefügt.

    Framework-API

    Die folgenden Abschnitte enthalten Informationen über die Application Framework API, die von der Android 2.0-Plattform bereitgestellt wird.

    API-Ebene

    Die Android 2.0-Plattform liefert eine aktualisierte Version des Frameworks. der API erstellen. Wie auch bei früheren Versionen kann die Android 2.0-API wird eine ganzzahlige Kennzeichnung 5 zugewiesen, die die im System selbst gespeichert sind. Diese Kennung, die „API-Ebene“ genannt wird, ermöglicht um zu ermitteln, ob eine App mit vor der Installation der Anwendung.

    Um die in Android 2.0 eingeführten APIs in Ihrer App zu verwenden, müssen Sie In den Attributen von <uses-sdk> muss der richtige Wert „5“ festgelegt werden. -Element im Manifest Ihrer Anwendung.

    Weitere Informationen zur Verwendung der API-Ebene finden Sie im Dokument API-Ebenen.

    Zusammenfassung der API-Änderungen

    Bluetooth

    • Bluetooth aktivieren/deaktivieren
    • Geräte- und Diensterkennung
    • Über RFCOMM eine Verbindung zu einem Remote-Gerät herstellen und Daten senden/empfangen
    • RFCOMM-Dienste bewerben und auf eingehende RFCOMM-Verbindung warten

    Adapter für die Synchronisierung

    • Neue APIs für Synchronisierungsadapter zum Herstellen einer Verbindung zu jedem Back-End

    Account Manager

    • Zentralisierte Account Manager API zum sicheren Speichern und Abrufen von Authentifizierungs-Tokens/-Passwörtern

    Kontakte

    • Neue Kontakt-APIs, die Daten aus mehreren Konten ermöglichen
    • Mit den neuen Framework-APIs für den Schnellkontakt können Entwickler Kontaktlogos in ihrer App erstellen. Wenn Sie auf das Badge klicken, öffnet sich ein Fenster mit einer Liste mit Möglichkeiten, die Person mit einem Klick zu kontaktieren.

    WebView

    • Veraltete Klassen: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.

    Kamera

    • Neue Parameter für Farbeffekt, Szenenmodus, Blitzmodus, Fokusmodus, Weißabgleich, Drehung und andere Einstellungen.
    • Neue ZoomCallback-Oberfläche zum Ausführen von Aktionen, wenn sich die Zoomstufe geändert hat.

    Medien

    • MediaScanner erstellt jetzt Miniaturansichten für alle Bilder, wenn sie in MediaStore eingefügt werden.
    • Neue Thumbnail API zum Abrufen von Bild- und Video-Thumbnails bei Bedarf

    Anderes Framework

    • Neue Systemdesigns in android.R.style, mit denen Aktivitäten einfach über dem aktuellen Systemhintergrund angezeigt werden oder die vorherige Aktivität im Hintergrund sichtbar bleibt.
    • Die neue BackgroundManager API ersetzt und erweitert die Hintergrund-APIs, die zuvor im Kontext waren, sodass Anwendungen den Systemhintergrund anfordern und festlegen können.
    • Neue Dienst-APIs, mit denen Anwendungen den Lebenszyklus des Dienstes korrekt verarbeiten können, insbesondere in Situationen mit wenig Arbeitsspeicher, in denen ein Dienst während seiner Ausführung beendet werden kann.
      • „Service.setForeground()“ wurde eingestellt und führt jetzt praktisch keinen Vorgang aus. Dies wird durch die neue API „startForeground()“ ersetzt, die die Verknüpfung einer laufenden Benachrichtigung mit dem Vordergrundstatus ermöglicht (und erfordert).
    • MotionEvent kann jetzt Informationen zu gleichzeitigen Berührungen für Geräte melden, die dies unterstützen. Es können bis zu drei Zeiger gleichzeitig verfolgt werden.
    • KeyEvent verfügt über neue APIs für die Schlüsselübermittlung, mit denen ein Verhalten bei Aktion bei und langes Drücken implementiert werden kann. Außerdem gibt es einen neuen Mechanismus, um das Drücken von Tasten (für virtuelle Schlüssel) abzubrechen.
    • WindowManager.LayoutParams verfügt über neue Konstanten, die es einem Fenster ermöglichen, den Bildschirm zu aktivieren, wenn es angezeigt wird, und das Fenster auch dann anzuzeigen, wenn der Bildschirm gesperrt ist. Dadurch können Anwendungen Dinge wie Wecker, die das Gerät wecken sollen, noch klarer implementieren.
    • Neue Intent-APIs, die den Docking-Status des Geräts übertragen und es Apps ermöglichen, bestimmte Aktivitäten zu starten, wenn sich das Gerät in einem Desktop- oder Autodock befindet.

    Bei Tastendruck ausgeführte Schlüsselereignisse

    Android 2.0 wurde für Geräte entwickelt, die virtuelle Tasten für die Zuhause-, MENÜ, ZURÜCK und SUCHANFRAGEN anstelle von physischen Tasten. Um die besten Nutzer zu unterstützen, auf diesen Geräten funktioniert, führt die Android-Plattform diese Schaltflächen statt einer Taste für die Taste nach unten. So wird verhindert, versehentliche Schaltflächenereignisse. Der Nutzer kann dann auf den Schaltflächenbereich drücken und dann ohne ein Ereignis zu generieren.

    Diese Verhaltensänderung sollte sich nur auf Ihre Anwendung auswirken, wenn Schaltflächenereignisse abfangen und eine Aktion mit einem Key-down durchführen, anstatt auf Key-up-Taste sein. Besonders wenn Ihre Anwendung den BACK-Schlüssel abfängt, sollten Sie dass Ihre Anwendung die Schlüsselereignisse ordnungsgemäß verarbeitet.

    Im Allgemeinen wird das Abfangen der Zurück-Taste in einer Anwendung nicht empfohlen. Wenn Ihre Anwendung dies jedoch tut und eine Aktion auf anstatt mit der Taste nach oben, sollten Sie Ihren Code ändern.

    Falls in Ihrer App APIs verwendet werden, die mit Android 2.0 (API-Level 5) eingeführt wurden: stehen Ihnen neue APIs für die Verwaltung von Schlüsselereignis-Paaren zur Verfügung:

    • Wenn die Taste „ZURÜCK“ in einer Aktivität oder einem Dialogfeld abgefangen wird, Implementieren Sie die neue Methode onBackPressed().
    • Wenn Sie die Taste „BACK“ in einer Ansicht abfangen, sollten Sie die Taste bei Key-down-Ereignis (über das neue startTracking()- und rufen Sie dann die Aktion nach oben auf. Hier ist ein Muster, das Sie verwenden können:
    • 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);
          }
      

    Wenn Sie eine alte Anwendung aktualisieren möchten, sodass deren Verarbeitung der für Android 2.0 und ältere Plattformversionen ordnungsgemäß funktioniert, können Sie einen ähnlichen Ansatz wie oben verwenden. Dein Code kann die Zielschaltflächenereignis bei Tastendruck festlegen, ein Flag zum Verfolgen des Schlüsselereignisses festlegen und Dann wird das Ereignis auch beim Drücken des Tastendrucks erfasst und die gewünschte Aktion wird ausgeführt, wenn das Tracking gesetzt ist. Sie sollten auch auf Fokusänderungen achten und die Nachverfolgung Hinweis, wenn der Fokus zu- oder abnimmt.

    Bericht zu API-Unterschieden

    Eine detaillierte Ansicht der API-Änderungen unter Android 2.0 (API-Level 5) im Vergleich zu finden Sie im Bericht zu API-Unterschieden.