2016-10-29 1 views
0

Ich erstelle eine einfache Android-App. Um richtig zu funktionieren, benötigt es den Inhalt einer Datei (example.xml), die derzeit auf meinem PC ist.Verschieben einer Datei von einem PC zu einem Android-lesbaren Speicherort

Bei der Erstellung würde die App nach der Datei suchen und dann etwas damit tun.

Leider weiß ich nicht, wo ich die Datei ablegen soll.

Ich brauche einen Speicherort im internen Speicher, auf den sowohl mein PC als auch meine Android-App zugreifen können.

Gibt es einen solchen Ort? Wenn ja, welchen Dateipfad würde ich verwenden, um darauf zuzugreifen?

+0

Ignorieren Sie den PC für den Moment abzurufen. Wenn Sie diese App an andere verteilen, wie erhalten sie diese Datei? Möchtest du, dass es in die App "eingebacken" wird, also versendet es wenn die App funktioniert? Werden sie die Datei von einem Webserver über Ihre App herunterladen? Werden Sie erwartet, dass sie die Datei von ihrem PC auf ihr Gerät kopieren? Wenn Sie uns das sagen können, können wir Sie besser in Bezug auf eine Richtung beraten. – CommonsWare

+0

@CommonsWare, würde ich erwarten, dass die Datei auf dem PC des Benutzers sein wird. Schließlich werde ich eine separate Anwendung für den PC erstellen, die die Datei auf dem Android-Gerät erstellt und verschiebt. Im Moment muss ich nur wissen, wo ich es hinstellen muss, damit ich mich auf die Android-Seite der Dinge konzentrieren kann. –

+1

Dann ist die Antwort von beta, die 'Downloads /' auf [external storage] (https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html) zu verwenden, ein vernünftiger Ansatz. 'getExternalStoragePublicDirectory()' gibt eine 'Datei' zurück, aus der Sie andere' File' Objekte für einzelne Dateien, Unterverzeichnisse usw. erstellen können. Beachten Sie, dass Sie die 'READ_EXTERNAL_STORAGE' Berechtigung haben müssen, den Inhalt dieses Verzeichnisses zu lesen. – CommonsWare

Antwort

1

Sie können den Download-Ordner erhalten, indem Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

Dann verwenden, können Sie einen Dateinamen hinzufügen, und verwenden Sie diese zum Beispiel mit DownloadManager

0

Sie könnten die Datei im assets Ordner Ihres Projekts enthalten und es dann mit this.getContext().getAssets().open("example.xml")

Verwandte Themen