Startseite › Foren › Deutsches LiveCode-Forum › Pfad bei Android einstellen
Schlagwörter: Pfad Angabe
- Dieses Thema hat 6 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahren, 6 Monaten von Klaus Major.
-
AutorBeiträge
-
-
März 9, 2019 um 11:44 Uhr #13394
Hallo liebe Forum Gemeinde,
gibt es die Möglichkeit, eine Pfad bei Android zu suchen (Ordner), den dann in einer Variable abspeichern und dann dauerhaft weiter zu verwenden.
Als Beispiel:
ich möchte einen Ordner anlegen auf meinem Android Handy, darin Dateien speichern, z.B. PDF Dateien oder Bilder und möchte diese dann von einer App aus aufrufen.
ich hatte mir jetzt vorgestellt, das ich mittels der App, diesen Ordner auf meinem Handy ansteuern kann (suchen) und dann das Verzeichnis in einer Variable speichern kann, so das weitere Funktionen in der App diesen Pfad nutzen können.
Dieses möchte ich aber nach Möglichkeit nur einmal machen, z.B. in den Einstellungen der App. So das ich nicht jedesmal wenn ich die App öffne den Pfad wieder neu suchen muss.Freue mich auf euere Antworten
Lieben Gruß
Andreas -
März 9, 2019 um 13:51 Uhr #13396
Hi Andreas,
das wird am “Sandboxing” scheitern!
Wir haben keinen Zugriff auf das Android Dateisystem, ausser auf das,
was uns LC mit den diversen specialfolderpath() Codes anbietet.Gruß
Klaus
-
März 9, 2019 um 21:03 Uhr #13401
Ich könnte den Pfad also mit dem specialfolderpath() auf den Dokumenten Ordner bei Android setzen, wenn ich das richtig verstanden habe, der wird durch diesen Befehl ja unterstützt.
ich könnte also mit dem Befehl:set the folder to specialfolderPath(“documents”) into tFileContents
Damit hätte ich dann den Path in die Variable tFileContents gespeichert. Oder liege ich da falsch ?
Gruß
Andreas -
März 10, 2019 um 14:02 Uhr #13413
Hallo zusammen,
ich erkläre mal eben das Problem:
ich habe mit
on mouseup
// global LHData (diese Variable enthält normalerweise den Dateinamen)if the environment is “mobile” then
put specialFolderPath(“external documents”) into programmPfad
else
put the filename of this stack into programmPfad
set the itemDelimiter to “/”
delete the last item of programmPfad
end if
launch document “/NE15_2016_06_01.pdf”end mouseup
versucht die Datei NE15_2016_06_01.pdf aufzurufen.
Die Datei steht in dem Verzeichnis, der Pfad ist auch darauf gesetzt.
Trotzdem wird mir die Datei nicht angezeigt.
Was mache ich Falsch ?Gruß
Andreas -
März 10, 2019 um 16:52 Uhr #13417
Hi Andreas,
Ich könnte den Pfad also mit dem specialfolderpath() auf den Dokumenten Ordner bei Android setzen, wenn ich das richtig verstanden habe, der wird durch diesen Befehl ja unterstützt.
ich könnte also mit dem Befehl:
set the folder to specialfolderPath(“documents”) into tFileContents
Damit hätte ich dann den Path in die Variable tFileContents gespeichert. Oder liege ich da falsch ?das ist schon korrekt, aber Dein Befehl wird nur einen ERROR ausspucken:
... ## set the folder to set the folder to specialfolderPath("documents") into tFileContents put FILES(specialfolderPath("documents")) into tFileContents ...
Aber damit hast Du nur eine bereits bekannte Info in eine Variable geschrieben.
Andere Programme können immer noch nicht darauf zugreifen, EGAL, wo Du sie abspeicherst.Jede App (apk Package) bringt ihren eigenen -> specialfolderpath(“documents”)
mit, der in einem geschützten Bereich innerhalb des APK-Packages liegt!Lies unbedingt im Internet über Sandboxing nach!
on mouseup // global LHData (diese Variable enthält normalerweise den Dateinamen) if the environment is "mobile" then put specialFolderPath("external documents") into programmPfad else put the filename of this stack into programmPfad set the itemDelimiter to "/" delete the last item of programmPfad end if ## Das ist ein relativer Pfad, wir benötigen aber den absoluten Pfad: ##launch document "/NE15_2016_06_01.pdf" launch document (programmpfad & "/NE15_2016_06_01.pdf") end mouseup
versucht die Datei NE15_2016_06_01.pdf aufzurufen.
Die Datei steht in dem Verzeichnis, der Pfad ist auch darauf gesetzt.
Trotzdem wird mir die Datei nicht angezeigt.
Was mache ich Falsch ?Du musst “the result” checken, das gibt eventuell einen Hinweis, was nicht klappt:
…
// global LHData (diese Variable enthält normalerweise den Dateinamen)
if the environment is “mobile” then
put specialFolderPath(“external documents”) into programmPfad
else
put the filename of this stack into programmPfad
set the itemDelimiter to “/”
delete the last item of programmPfad
end if
launch document “/NE15_2016_06_01.pdf”
if the result <> EMPTY then
answer “Error:” && the result
end if
end mouseup`
GrußKlaus
-
März 10, 2019 um 18:38 Uhr #13419
Hallo Klaus,
habe deinen Code jetzt mit aufgenommen, aber auf meinem Handy wird mir kein Fehler angezeigt.
habe mir dann nochmal den Pfad anzeigen lassen und überprüft, ob die Datei dort drin steht.
Pfad stimmt, und die PDF Datei befindet sich in diesem Ordner. Trotzdem wird mir die Datei nicht angezeigt.on mouseup
// global LHData (diese Variable enthält normalerweise den Dateinamen)
if the environment is “mobile” then
put specialFolderPath(“external documents”) into programmPfad
else
put the filename of this stack into programmPfad
set the itemDelimiter to “/”
delete the last item of programmPfad
end if
launch document “/NE15_2016_06_01.pdf”
if the result <> EMPTY then
answer “Error:” && the result
end if
put programmPfad into fld “Anzeigepfad”end mouseup
Mit put programmPfad into fld “Anzeigepfad” habe ich mir den Pfad zur Kontrolle anzeigen lassen.
Aber mehr bekomme ich einfach nicht.
Auf dem PC unter Windows wird mir angezeigt
Error: can’t open filegruß
Andreas -
März 10, 2019 um 19:09 Uhr #13421
Pardon, mein erstes Skript solltest Du ausprobieren, das mit dem korrekten ABSOLUTEN Pfad zur PDF:
…
launch document (programmpfad & “/NE15_2016_06_01.pdf”)
…
Du setzt den Pfad in eine Variable, benutzt diese dann aber nicht!
Oder vielleicht erst einmal prüfen, ob diese Datei auch wirklich vorhanden ist.
Das Bedeutet eher, ob sie für Diene App sichtbar ist!
…
answer (there is a file (programmpfad & “/NE15_2016_06_01.pdf”))
## Sollte TRUE anzeigen. Falls nicht, gilt Sandboxing wohl auch für EXTERNAL DOCUMENTS!
launch document (programmpfad & “/NE15_2016_06_01.pdf”)
…
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.