Portieren von Android-Apps zu Surface Duo

In diesem Abschnitt erörtern wir Möglichkeiten, wie du deine App auf Doppelbildschirmen testen und dann so verbessern kannst, dass die von Surface Duo gebotenen Bildschirme und Gerätehaltungen bestmöglich genutzt werden.

Standardmäßig wird deine Android-App auf dem Surface Duo genau wie bei jedem Android-Gerät auf einem Einzelbildschirm ausgeführt. Die Doppelbildschirme und flexiblen Gerätehaltungen schaffen für deine App jedoch neue Möglichkeiten, sich abzuheben. Außerdem können deine Kunden deine App auf eine ganz neue Art nutzen, die du vielleicht nicht erwartest hast.

Du musst drei entscheidende Schritte ausführen, um deine App auf das Surface Duo zu portieren:

  1. Teste deine App: Stelle mithilfe des Duo-Emulators sicher, dass sie funktioniert.
  2. Nimm Änderungen schrittweise vor: Arbeite mit nativen Android-APIs und -Bibliotheken, damit deine App auf Geräten mit Doppelbildschirm besser funktioniert, auch wenn sie im nebeneinander Einzelbildschirmmodus ausgeführt wird.
  3. Nutze neue Features: Nutze unser Surface Duo Preview SDK und die App-Muster für Doppelbildschirme, damit du von den neuen Möglichkeiten des Surface Duo profitierst.

Schritt 1: Testen der App

App mit dem Surface Duo-Emulator testen. Standardmäßig wird sie auf einem Einzelbildschirm ausgeführt.

Aktiviere im Emulator in den Einstellungen die automatische Drehung. Fahre mit dem Testen deiner App fort, indem du sie vom linken auf den rechten Bildschirm bewegst und dabei das Gerät im Emulator drehst.

Wenn Probleme auftreten, stelle sicher, dass du die Android-Anleitung für Bildschirme mit veränderbarer Größe befolgst, und vergewissere dich, dass du android:resizeableActivity="true" festgelegt hast. Weitere Informationen findest du auf developer.android.com unter Building apps for foldables (Entwickeln von Apps für faltbare Geräte).

Schritt 2: Änderungen schrittweise vornehmen

Hier sind einige Änderungen, die den Nutzen deiner Anwendung erhöhen können, wenn sie auf einem Gerät mit Doppelbildschirm läuft. Da für diese Änderungen native Android-APIs und -Bibliotheken verwendet werden, sind sie auch für deine App bei anderen Formfaktoren von Geräten von Vorteil.

Erwäge das Hinzufügen dieser Features zu deiner App, falls sie noch nicht verfügbar sind.

Unterstützen aller Geräteausrichtungen und -haltungen

Entferne die „Sperre“ einer bestimmten Ausrichtung der Benutzeroberfläche und unterstütze alle Gerätehaltungen.

Hinzufügen von Drag & Drop-Unterstützung

Dank Drag & Drop können Benutzer auf zwei Bildschirmen Daten einfach zwischen Teilen einer App oder verschiedenen Apps austauschen.

Befolge die Anleitungen zu Drag & Drop auf develop.android.com, um Drag & Drop in deiner App zu implementieren. In unserem Drag & Drop-Beispiel erfährst du, wie das geht.

Hinzufügen von Unterstützung mehrerer Instanzen

Füge Unterstützung mehrerer Instanzen hinzu, damit ein Benutzer deine Anwendung in zwei Instanzen, in einer auf jedem Bildschirm, ausführen kann.

Hinzufügen von Bild-in-Bild-Unterstützung

Befolge die Anleitungen zu auf develop.android.com, um in deiner App Bild-in-Bild-Unterstützung zu implementieren.

Starten neuer Aktivitäten im anderen Fenster

Bei einem Gerät mit Doppelbildschirm ist es ganz natürlich, eine neue Aktivität auf dem zweiten Bildschirm zu starten. Verwende das Flag FLAG_ACTIVITY_LAUNCH_ADJACENT, um dem System einen entsprechenden Hinweis zu geben.

Weitere Informationen zu diesem Flag findest du auf developer.android.com unter Launch New Activities in Multi-Window Mode (Starten neuer Aktivitäten im Modus für mehrere Fenster). Unser Beispiel zum Starten einer Aktivität auf dem zweiten Bildschirm zeigt, wie das funktioniert.

Schritt 3: Neue Features nutzen

Hier geschieht etwas „Magisches“, denn du hast nun mehr Platz auf dem Bildschirm, um deine App zu präsentieren. Die Doppelbildschirm-APIs sind im Emulator in das Surface Duo-Image integriert, sodass du sie mit deiner eigenen App oder mit einem unserer Beispiele ausprobieren kannst.

Bestimme in deiner App zunächst, ob die App auf einem Gerät mit Doppelbildschirm läuft. Auf diese Weise kannst du den gleichen Code auf allen Geräten verwenden, denn es gibt keine separate Version deiner App für Surface Duo. Wenn deine App auf einem Gerät mit Doppelbildschirm läuft, kannst du die Doppelbildschirm-APIs aus dem SDK verwenden, um deine App zu verbessern.

Die App beide Bildschirme einnehmen lassen

Lass deine App beide Bildschirme einnehmen, um die Benutzererfahrung zu prüfen.

  • Werden wichtige Inhalte der App von der Naht verdeckt?
  • Gibt es in der Mitte Schaltflächen?
  • Muss Inhalt im Layout neu positioniert werden?

Nutze die Display Mask-API so, dass deine App mit der Naht funktioniert.

Berücksichtigen des Scharnierwinkels

Mit dem Scharnierwinkelsensor kannst du Informationen zum Winkel des Scharniers abrufen. Prüfe, ob deine App (vielleicht ein Spiele- oder eine Hilfsprogramm-/Stromversorgungs-App) den Scharnierwinkel nutzen kann, um dem Benutzer einen Nutzen zu bieten.

Verwenden von Mustern für Doppelbildschirm-Apps

Wir haben mehrere Muster für Doppelbildschirm-Apps ausgemacht, die dich von der Tatsache profitieren lassen, dass es zwei Bildschirme gibt. Prüfe, welches App-Muster für deine App und Benutzer geeignet ist. Wir bieten Beispiele, um die einzelnen Muster zu veranschaulichen. Probiere sie im Emulator aus, und verwende den Code, um zu verfolgen, wie du sie implementieren kannst.

dual-screen app patterns

Es folgen einige Entwurfsüberlegungen und Tipps für diese App-Muster.

Erweiterter Zeichenbereich

Liste/Detail

  • Gib ein standardmäßig ausgewähltes Element an. Andernfalls wird der rechte Bildschirm leer angezeigt.
  • Bedenke auch, was passiert, wenn du das Gerät auf beiden Bildschirmen in das Querformat drehst. Behält es den Master/Detail-Fluss im Oben-Unten-Bildschirm bei? Wir schlagen vor, beide Bildschirme für die Detailansicht zu verwenden, da dann mehr Platz zum Lesen der Inhalte zur Verfügung steht.
  • Liste/Detail-Beispiel

Zwei Seiten

  • Überlege, wie die Wischvorgänge für den Seitenwechsel konfiguriert sind. Wechselst du von den Seiten 1 und 2 zu den Seiten 2 und 3 wie bei einer Schiebekarte oder von den Seiten 1 und 2 zu den Seiten 3 und 4 wie bei der Lektüre eines Buchs?
  • Beispiel für zwei Seiten

Duale Ansicht

  • Dieses Muster zeigt die gleichen Daten in zwei verschiedenen Ansichten an. Stelle daher sicher, dass beim Ändern von Elementen auf einem Bildschirm der andere Bildschirm diese Änderung widerspiegelt und den Inhalt synchron hält.
  • Beispiel für duale Ansicht

Begleitbereich

  • Du kannst das Layout des Steuerelements je nach Ausrichtung des Geräts ändern und eine andere Ansicht betrachten, wenn sich die Steuerelemente auf dem rechten Bildschirm im dualen Hochformat und auf dem unteren Bildschirm im dualen Querformat befinden.
  • Beispiel für Begleitbereich

Hervorheben deiner Leistung

Du solltest Kunden wissen lassen, dass deine App für Doppelbildschirmgeräte weiterentwickelt wurde. Hier sind ein paar Ideen, wie du dazu vorgehen kannst.

  • Aktualisiere deine Website oder die Seite deines Onlineshops mit deinem Angebot für Doppelbildschirme.
  • Biete in deiner App eine Erfahrung der ersten Ausführung und mit der Benutzeroberfläche bei Features für Doppelbildschirme.
  • Erwäge eine Verbindung mit Microsoft-Diensten wie Microsoft Graph zum Gewinnen von Benutzererkenntnissen.