Datei in Android-App abspeichern

Startseite Foren Deutsches LiveCode-Forum Datei in Android-App abspeichern

Ansicht von 7 Antwort-Themen
  • Autor
    Beiträge
    • #2037
      Ralle
      Teilnehmer

      Hallo,
      neues Problem bzw. Frage. Ich habe ein Programm geschrieben, bei dem ein Wert einer Variablen in eine Datei geschrieben wird, damit dieser Wert beim Beenden der App nicht verloren geht.
      In der Programm-Umgebung (Windows-PC) funktioniert es auch einfwandfrei. Die Datei wird im Ordner „Dokumente/datei.txt“ abgespeichert.

      Auf dem Android klappt es aber nicht. Ich bekomme zwar keine Fehlermeldung, aber ich finde die Datei nicht, das Programm auch nicht.

      Hier das Skript:
      on mouseUp
      put zimmer into url(„file:“&specialFolderPath(„documents“)&“/emmausapp/zimmer.txt“)
      end mouseUp

      Unter Windows funktioniert es, unter Android nicht.
      Wo liegt mein Fehler?

      Beste Grüße
      Ralf

    • #2039
      Klaus Major
      Verwalter

      Hi Ralf,

      wenn Du sicher bist, daß der Ordner“emmausapp“ bereits im Dokumentenordner besteht, sollte das eigentlich funktionieren. Bei Bedarf immer erst prüfen:

      ...
      put specialFolderPath("documents")&"/emmausapp" into tZielOrdner
      if there is NOT a folder tZielOrdner then
         create folder tZielOrdner
      end if
      put zimmer into url("file:" & tZielOrdner & "/zimmer.txt")
      ## Und immer schön auf mögliche Fehler checken!
      ## WIR sind die Programmierer, also haben WIR immer Schuld, wenn was nicht klappt! :-D
      if the result <> EMPTY then
        answer "Fehler beim Schreiben der Datei!" & CR & the result
      end if
      ...

      Gruß

      Klaus

    • #2049
      Ralle
      Teilnehmer

      Hallo Klaus,

      es funktioniert:) Perfekt, Danke!!!!
      Gruß Ralf

    • #2054
      Klaus Major
      Verwalter

      Kaum macht man’s richtig, schon funktioniert’s! 🙂

    • #4145
      Rainer
      Teilnehmer

      Hallo,
      leider habe ich ein ähnliches Problem.
      Der Code zum Abspeichern funktioniert bei mir auf Windows in der Entwicklungsumgebung. Auf dem Android-Smartphone finde ich die Datei nicht im Ordner „documents“, aber eine Fehlermeldung kommt auch nicht.
      Was mache ich falsch?
      Ich hab den Code obigem Beispiel angeglichen:

      on mouseup
      put replaceText (sListe, tab, „;“) into sListe
      put specialFolderPath(„documents“)&“/FbDaten“ into sZielOrdner
      if there is NOT a folder sZielOrdner then
      create folder sZielOrdner
      end if
      put sListe into url („file:“& sZielOrdner & „/FbDatenliste02.txt“)
      if the result <> EMPTY then
      answer „Fehler beim Schreiben der Datei!“ & CR & the result
      end if
      end mouseup

      Muss ich evtl. eine bestimmte Berechtigung in meinem Smartphone einstellen, damit die app eine Datei abspeichern kann?
      Gruß Rainer

    • #4151
      Klaus Major
      Verwalter

      Hallo Rainer,

      willkommen im Forum!

      neie, Du musst nichts einstellen, specialfoderpath(„documents“) ist der Ordner, in dem wir uneingeschränkt Schreibrechte haben. Die Syntax ist auch korrekt.

      Auf dem Android-Smartphone finde ich die Datei nicht im Ordner „documents“

      Wie hast Du den dort nachgesehen?

      Mit Livecode ginge das so:

      ...
      put specialFolderPath("documents") & "/FbDaten/FbDatenliste02.txt" into tDatei
      answer (there is a file tDatei)
      ## Sollte TRUE geben, wenn die Datei vorahnden ist.
      ...

      Gruß

      Klaus

    • #4154
      Rainer
      Teilnehmer

      Hallo Klaus,

      ich habe den von dir gegebenen Code eingesetzt. Die Antwort ist „True“. Von daher ist der Ordner wohl vorhanden, ich seh ihn nur nicht. Ich habe die App „Dateimanager +“ als Explorer auf dem Smartphone. Aber der Order „Documents“ ist immer leer.
      Keine Ahnung. Such ich falsch?

      Und wenn du grad noch nen Tipp hast: Wie kann ich direkt auf Onedrive speichern? Über den „Dateimanager +“ kann ich auf mein Onedrive zugreifen.
      Gibt es eine Möglichkeit, direkt über livecode?

      Danke für deine Hilfe.

      Gruß Rainer

    • #4156
      Klaus Major
      Verwalter

      Hallo Rainer,

      ich entwickle weder für Mobile, noch besitze ich ein Handy oder Tablet.
      Aber ich denke, dieser spezielle DOCUMENTS Ornder liegt innerhalb des Application Bundles und ist nicht der DOCUMENTS Ordner, den du mit dem „Dateimanager +“ sehen kannst.

      Zu ONEDRIVE kann ich leider nichts sagen, fürchte aber, das geht nicht aus LC heraus.

      Gruß

      Klaus

Ansicht von 7 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.