Integration mit Verträgen für die Dateiauswahl (Windows-Runtime-Apps)
[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]
Apps können anderen Apps über die Dateiauswahl Dateien, einen Speicherort oder sogar Dateiupdates durch die Integration in den Vertrag für "Auswahl für 'Datei öffnen'", den Vertrag für "Auswahl für 'Datei speichern'" bzw. den Contract für die Aktualisierung zwischengespeicherter Dateien bereitstellen.
Funktionsweise der Dateiauswahl
Über die Dateiauswahl kann Ihre App Zugriff auf Dateien und Ordner überall auf dem System des Benutzers erlangen. Wenn Sie die Dateiauswahl aufrufen, kann der Benutzer sein System und andere Apps durchsuchen, um Dateien (oder Ordner) auszuwählen. Nachdem der Benutzer Dateien oder Ordner ausgewählt hat, erhält Ihre App diese Auswahl als StorageFile und StorageFolder. Ihre App kann mithilfe dieser Objekte mit den ausgewählten Dateien und Ordnern arbeiten. Weitere Informationen zum Zugriff auf Dateien erhalten Sie in Dateizugriff und Berechtigungen.
Sie können die Dateiauswahl auch verwenden, um dem Benutzer das Auswählen von Dateien und Ordnern in Ihrer App über die Dateiauswahl zu ermöglichen. Dateien, die in Ihren Apps über die Dateiauswahl ausgewählt werden, werden wie im Dateisystem ausgewählte Dateien behandelt: Sie werden als StorageFile zurückgegeben. Auf diese Weise kann der Benutzer Dateien in Ihrer App auswählen und in einer anderen App bearbeiten. Bei einer Fotogalerie-App, könnten Sie die Bilder in der Galerie z. B. so bereitstellen, dass der Benutzer in Ihrer App Bilder auswählen kann, die er in einem Foto-Editor ändern möchte.
Wenn Sie in Ihrer App Zugriff auf Dateien, einen Speicherort und/oder Dateiaktualisierungen in anderen Apps bereitstellen möchten, muss die App an den entsprechenden App-Verträgen teilnehmen – dem Vertrag für "Auswahl für 'Datei speichern'", dem Vertrag für "Auswahl für 'Datei öffnen'", und dem Contract für die Aktualisierung zwischengespeicherter Dateien. Sie können an diesen Verträgen teilnehmen, indem Sie sie im App-Manifest deklarieren und der App UI oder Code zur Integration der Verträge hinzufügen.
Das folgende Diagramm zeigt, wie die Dateiauswahl eine App wie einen Foto-Editor (die aufrufende App) mit den von einer Galerie-App (der bereitstellenden App) bereitgestellten Dateien verbindet, sodass der Benutzer Dateien aus der Galerie-App auswählen kann.
Teilnehmen an den App-Verträgen für die Dateiauswahl
Weitere Informationen: Schnellstart: Bereitstellung von Dateidiensten per Dateiauswahl
Referenz: Windows.Storage.Pickers.Provider namespace
Beispiel: Verträge für die Dateiauswahl – Beispiel
Bereitstellen des Zugriffs auf Dateien
Erwägen Sie, die Dateiauswahl zu nutzen, um Dateien für andere Apps bereitzustellen, wenn Ihre App eine besondere und/oder nützliche Darstellung dieser Dateien bietet oder es für die Benutzer schwierig ist, anderweitig auf diese Dateien zuzugreifen. Sie können den Benutzern das Durchsuchen und Auswählen von Dateien, die Ihre App bereitstellt, über ein Dateiauswahlfenster ermöglichen, indem Sie am Vertrag für "Auswahl für 'Datei öffnen'" teilnehmen. Wenn die App an diesem Vertrag teilnimmt, können die Benutzer die App in der Liste der Speicherorte oben links im Letterboxbalken der Dateiauswahl auswählen. Wenn ein Benutzer Ihre App auswählt, lädt die Dateiauswahl alle Änderungen, die Sie am Letterboxbalken vornehmen, sowie eine von Ihnen entworfene Seite, auf der Dateien angezeigt werden, die der Benutzer durchsuchen und auswählen kann.
Dieses Bildschirmfoto wurde geändert, um den Mittelbereich eines Dateiauswahlfensters hervorzuheben und zu bezeichnen. Hiermit soll gezeigt werden, wo die Dateianzeigeseite Ihrer App geladen wird. |
Eine Musik-App könnte den Benutzern das Durchsuchen und Auswählen von Dateien nach Künstler oder Albumtitel ermöglichen, unabhängig davon, wie die Dateien auf dem System des Benutzers organisiert sind. Alternativ könnte eine Fotogalerie-App Benutzern das Durchsuchen und Auswählen von Dateien ermöglichen, die sich nicht auf dem System des Benutzers befinden, sondern von einem Webdienst wie Facebook oder Flickr gehostet werden.
Wenn Sie nicht möchten, dass Benutzer mit Ihrer App Dateien über ein Dateiauswahlfenster durchsuchen und auswählen können, können Sie es den Benutzern stattdessen ermöglichen, Dateien über Ihre App durch Integration mit dem Quellenfreigabe-Vertrag freizugeben. Weitere Informationen über die Integration mit dem Quellenfreigabe-Vertrag finden Sie unter So wird's gemacht: Gemeinsames Nutzen von Dateien.
Bereitstellen eines Speicherorts
Erwägen Sie, die Dateiauswahl zu nutzen, um Ihre App als Speicherort bereitzustellen, an dem ein Benutzer Dateien speichern kann, wenn Ihre App eine Verbindung zwischen dem Benutzer und einem Dienst herstellt, der seine Dateien hostet, oder wenn Sie davon ausgehen, dass der Benutzer mehrere Dateien speichern möchte, um sie später in Ihrer App zu öffnen und zu bearbeiten. Sie ermöglichen Benutzern das Speichern von Dateien in Ihrer App, indem Sie am Vertrag für "Auswahl für 'Datei speichern'" teilnehmen. Wenn die App an diesem Vertrag teilnimmt, können die Benutzer die App in der Liste der Speicherorte oben links im Letterboxbalken der Dateiauswahl auswählen, falls sie eine Dateiauswahl zum Speichern einer Datei verwenden. Wenn ein Benutzer Ihre App auswählt, lädt die Dateiauswahl eine von Ihnen entworfene Seite, um den Speicherort Ihrer App (einschließlich vorhandener Dateien und/oder ggf. vorhandener Unterordner) anzuzeigen.
Auf diesem Bildschirmfoto wurde der Mittelbereich eines Dateiauswahlfensters hervorgehoben und beschriftet, um zu verdeutlichen, wo die Seite geladen wird, auf der der App-Speicherort angezeigt wird. (Das Bildschirmfoto zeigt eine App-Seite für Microsoft OneDrive.) |
Eine App, die eine Verbindung zwischen den Benutzern und Dateien herstellt, die von Facebook oder OneDrive gehostet werden, könnte es beispielsweise ermöglichen, die App als Speicherort auszuwählen, sodass die Benutzer die zu hostenden Dateien ganz leicht hochladen können. Oder stellen Sie sich eine App vor, die den Benutzern das Bearbeiten von Audiodateien ermöglicht. Eine solche App könnte es den Benutzern ermöglichen, die App als Speicherort auszuwählen, um eine Warteschlange mit Audiodateien zu erstellen, die sie beim nächsten Öffnen des Editors bearbeiten möchten.
Zuzulassen, dass andere Apps Ihre App als Speicherort für Dateien verwenden, ist dann sinnvoll, wenn der Benutzer mit Dateien und Ordnern arbeitet. Dies ist weniger intuitiv, wenn es sich um kleinere Mengen Daten handelt, etwa um eine URL oder Textauswahl. Für solche Fälle sind der Charm "Teilen" und die Kopieren-und-Einfügen-Befehle bessere Optionen. Dennoch gibt es gibt viele Situationen, in denen es sinnvoll ist, sowohl den Charm "Teilen" als auch das Speichern zu unterstützen. Stellen Sie sich zum Beispiel einen Benutzer vor, der eine Datei in einem Cloud-Speicherdienst ablegen möchte, etwa OneDrive. In einer solchen Situation sind sowohl der Charm "Teilen" als auch das Speichern gleich vorteilhafte Optionen. Letztendlich müssen Sie sich überlegen, wie Benutzer mit Ihrer App interagieren, und die Verträge und Funktionen unterstützen, die die Erwartungen des Benutzers erfüllen und zu seiner größtmöglichen Zufriedenheit führen. Weitere Informationen zur Integration mit dem Zielfreigabe-Vertrag finden Sie unter Schnellstart: Empfangen von geteilten Inhalten. Weitere Informationen über die Befehle "Kopieren" und "Einfügen" finden Sie unter Schnellstart: Grundlagen zur Zwischenablage.
Tipp Wenn Ihre App als Speicherort fungiert, sollten Sie außerdem den Zugriff auf die App-Dateien ermöglichen, indem Sie am Vertrag für "Auswahl für 'Datei öffnen'" teilnehmen.
Bereitstellen von Echtzeitupdates für Dateien
Erwägen Sie das Bereitstellen von Dateiupdates, wenn Ihre App verwendet wird, um eine Verbindung zu einem zentralen Repository mit Benutzerdateien herzustellen und/oder um dieses Repository zu verwalten. Durch die Teilnahme am Contract für die Aktualisierung zwischengespeicherter Dateien kann Ihre App sowohl Updates an Dateien im App-Repository vornehmen als auch Updates für lokale Versionen der Dateien in Ihrem Repository bereitstellen. Wenn Ihre App an diesem Vertrag teilnimmt und auf ein Update trifft, für das eine Benutzerinteraktion erforderlich ist, wird durch die Dateiauswahl eine von Ihnen entworfene Seite geladen, mit der die benötigten Informationen vom Benutzer erfasst werden.
Remotespeicher wie OneDrive oder DropBox können Updates für lokale Versionen einer Datei bereitstellen, um sicherzustellen, dass der Benutzer die aktuellsten Versionen der Dateien in seinem Repository sieht, oder Updates für eine Datei im Repository vornehmen, falls der Benutzer eine neuere Version speichert.
Tipp Wenn Ihre App Dateiupdates bereitstellt, sollte sie auch einen Speicherort und den Dateizugriff bereitstellen, indem sie am Vertrag für "Auswahl für 'Datei speichern'" bzw. am Vertrag für "Auswahl für 'Datei öffnen'" teilnimmt.
Verwandte Themen
Zugreifen auf Daten und Dateien
Beispiele
Verträge für die Dateiauswahl – Beispiel
Referenz
Windows.Storage.AccessCache namespace
Windows.Storage.Pickers namespace
Windows.Storage.Pickers.fileOpenPicker class
Windows.Storage.Pickers.fileSavePicker class
Windows.Storage.Pickers.Provider namespace
Freigeben
So wird's gemacht: Gemeinsames Nutzen von Dateien
Schnellstart: Empfangen von geteilten Inhalten
Verwenden der Dateiauswahl
Schnellstart: Dateizugriff mit Dateiauswahl
So wird's gemacht: Speichern von Dateien über die Dateiauswahl