Datei der App nicht unter Windows sichtbar

  • Hallo Gemeinde,


    habe mich gerade frisch angemeldet, da ich auch nach intensivem suchen im Web keine Lösung für mein Problemchen finde.


    Die Situation ist folgende:
    Meine Java App erstellt Dateien zur Speicherung von Daten.
    Meine VB.net Anwendung soll diese lesen.


    Ich habe das soweit hinbekommen dass es funktioniert, mit meinem Samsung Telefon J5 (Android 7.0). Der Lösungsansatz ist Speicherung im getExternalMediaDirs()
    Eintrag 0 also "/storage/emulated/0/Android/media/com.meineapp.mbd". Die Dateien (simple ASCII Textdateien) werden erstellt und sind auf dem Telefon im Ordner Media auch zu finden. Ebenfalls findet der Windows10 Dateimanager diese auch und selbst meine Windows Anwendung kann sie lesen. Grosse Freude.


    Jetzt das Problem:
    Teste ich es mit meinem Jay-Tech Tablet PC TXE70W (ein billig Dingen) mit Android 6.0.1 läuft die App ebenfalls einwandfrei, jedoch findet der Windows Dateimanager zwar das Gerät mit allen Verzeichnissen, ausser meinem Verzeichnis und meinen Dateien. Auf dem Gerät werden diese aber erstellt und sind auf dem Gerät sichtbar.


    In beiden Fällen sind die Androidgeräte nicht im Entwicklermodus. Ich habe die Debug-App per USB kopiert und auf den Geräten installiert. Es gibt keine Laufzeitfehler oder Abstürze, die App läuft einwandfrei. Es gibt keine Berechtigungsprobleme, die Dateien sind ja auf den Geräten da.
    Ziel API ist 27, Min API 23.


    Die Milionenfrage ist also warum findet Windows die Dateien auf dem Samsung, aber nicht auf dem Tablet?
    Vielleicht habt Ihr ja auch ein paar andere Tipps zum Speicherort. So ganz glücklich bin ich mit Media eh nicht.


    Ich freue mich über jeden Ratschlag und hoffe mit eurer Hilfe mein "Erstlingswerk" :) ans funzen zu bringen.

  • Hallo
    zu deinem Problem habe ich eine Frage.

    Wie ist der Path auf dem billig tab in dem deine Daten gespeichert werden?
    Hat das tab auch eine echte externe sd karte oder nur die interne emulirte Karte?
    Welche Ordner werden den im win Explorer von dem Tap angezeigt?

  • Moin Jogi,


    zuerstmal danke für dein Interesse.


    Also da fängt die Krux ja an... auf beiden Geräten liegen, laut Total Commander, die Dateien im gleichen Verzeichnis:
    /storage/emulated/0/Android/media/com.meineapp.mbd/


    Windows zeigt mir bei dem Tablett:
    Dieser PC\TPCY-TXE7DW\Interner Speicher\Android\media --------------------- Verzeichnis ist leer
    und bei dem Samsung:
    Dieser PC\Galaxy J5\Phone\Android\media\com.meineapp.mbd --------------- und meine Dateien


    Auf beiden Geräten findet Windows auch die üeblichen anderen Verzeichnisse DCIM, Ringtones, Download, etc...


    Eine SD-Karte ist nicht vorhanden.


    Sagt uns das schon was?

  • Hallo den patch den du benutzt ist eigentlich der erweiterte System paht.
    kannst du auch als einen erweiterten app Speicherbereich ansehen. Auf den du auch keine besonderen rechte Permission brauchst.


    /storage/emulated/0/Android/ ist der Bereich wo Android teile von Apps auslagen kann und keine permission notwendig sind.


    So nun kommt es auf das Handy an wie es diesen Bereich unter USB abbildet.
    Schaue mal lauf dem tab ob es da Einstellungen für USB Verbindung gibt.


    Ansonsten würde ich nicht in den Android Ordner speichern.


    Zeige uns mal wie du dIr den Patch holst und deine Datei schreibst.


    File dirs=new File(Environment.getExternalStorageDirectory() ,"dein Ordner");
    dirs.mkdirs();
    File file = new File(dies,"Test.txt");



    Natürlich brauchst du jetzt auch die Permission im Manifest und zur Laufzeit.

  • Hi Jogi,


    super, nun kommt Licht ins Dunkel. Der Nebel weicht zumindest ein wenig. :)


    Also auf dem Tablett gibt es ausser Tethering ein/aus nix in Richtung USB.


    Ich bin zum erstellen der Datei so vorgegangen: (Zuvor habe ich einen Dateinamen gebildet und in den String sedateiname abgelegt)


    1. File[] sedirs = this.getExternalMediaDirs();
    um die Pfade zu bekommen
    2. File sedateiakt=new File(sedirs[0] + "/" + sedateiname);
    Objekt instanziieren mit Pfad und Dateiname
    3. boolean success4 = sedateiakt.createNewFile();
    zum erstellen der Datei


    Das erstellen des Directories habe ich mir geschenkt. (In dem Zusammenhang, nimmt man dann .mkdir oder .mkdirs ?)


    Ich werde das mal nach Deiner Lösung umbasteln und mich melden.


    Auf jeden Fall schonmal vielen Dank!!!

  • Hallo nochmal,
    wie versprochen meine Rückmeldung...


    Also ich habe es nun mit (Environment.getExternalStorageDirectory() ,"MeinVerzeichnis") umgearbeitet, die Dateien liegen nun in
    /storage/emulated/0/MeinVerzeichnis.


    Gefällt mir wesentlich besser. Funktional ist es nun auch besser, aber trotzdem noch seltsam.


    Bei Beiden Geräten läuft die App ohne Fehler, Verzeichnis und Dateien werden ordnungsgemäss erstellt und sind auf den Geräten sofort sichtbar und funktional.
    Aber:
    Samsung Android 7.0: Windows findet Verzeichnis und Dateien nur nach Trennung und erneuter Verbindung des USB Kabels
    Tablet Android 6.0.1: Windows findet Verzeichnis und Dateien nur nach einem Hardware Reset. (Das meint kein Rücksetzen auf Werkseinstellungen, sondern nur ein Coldboot)


    Ist beides noch nicht so perfekt wie man es sich wünscht. Aber wesentlich besser als gestern. :)


    Erneut vielen Dank für die Unterstützung!!! Wenn noch weitere Ideen da sind...….. immer her damit... :)

  • Hallo again,


    ich habe es in den letzten Tagen mal so an einigen Rechnern im Bekanntenkreis ausprobiert. Funktioniert mit dem Samsung überall einwandfrei. Das Tablett habe ich mal aussenvor gelassen. Ist möglicherweise wie Jogi vermutet eine Treibergeschichte, in Verbindung mit dem aufgesetzten "Möchtegernbetriebssystem". Chinesischer Mist halt.


    Mich störte ja noch beim Samsung das notwendige aus- und einstöpseln, sprich Neuverbinden, mit dem PC. Allerdings war das ein subjektiver Eindruck in der Hitze des Gefechtes... deinstallieren, Dateien löschen, apk neu überspielen, installieren, Daten eintippen, testen immer hin und her mit zwei Geräten und dem Emulator....
    Aber im Grunde entspricht es ja dem normalen Nutzungsablauf.
    Ich gebe auf dem Handy ja wann und wo ich will die Daten mobil ein und verbinde es ja erst später irgendwann zuhause mit meiner Windows Anwendung um die Daten auszulesen. Ist also normal und vollkommen in Ordnung so.


    Also nochmals meinen vielsten Dank für die Unterstützung hier, und auch in allen anderen Themen die mir auch schon weitergeholfen haben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!