Startseite › Foren › Deutsches LiveCode-Forum › Ganze Card unter Android speichern und laden
- Dieses Thema hat 7 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahren, 6 Monaten von Klaus Major.
-
AutorBeiträge
-
-
März 13, 2019 um 06:37 Uhr #13479
Hallo liebe LiveCode Gemeinde,
ich möchte gerne auf meinem Android System eine Card die Text sowie auch Bilder enthält speichern, um sie bei einem späteren Start der App wieder laden zu können. Leider funktioniert mein Ansatz noch nicht :put card "seite2" into Daten put specialFolderPath("engine") into Zielordner if there is not a folder Zielordner then create folder Zielordner end if put Daten into url("binfile:" & Zielordner & "Test.txt") if the result <> EMPTY then answer "Fehler beim Schreiben der Datei ! " & CR & the result end if
Das wieder einlesen habe ich mit folgendem Code probiert :
put specialFolderPath("engine") into Zielordner put url("binfile:" & Zielordner & "Test.txt") into Daten if the result <> EMPTY then answer "Fehler beim Lesen der Datei ! " & CR & the result end if put Daten into card "seite3"
Mein Smartphone macht keine Fehlermeldung beim Speichern, aber beim Laden sagt es :
Fehler beim Lesen der Datei !
can´t open file .Was mache ich falsch ?
Gruß
Michael -
März 13, 2019 um 13:00 Uhr #13491
Hi Michael,
Du kannst nicht eine einzelne Karte auf diese Weise wegspeichern.
Leider auch in keinem andern Format.ABER:
Wir dürfen im ENGINE Ordner nicht schreiben! Niemals!
Zum Speichern immer -> specialfolderpath(“documents”) unter Mobile) verwenden!Du musst entweder:
1. die ganze Karte komplett nachbauen oder
2. einen Stack bestehend aus dieser Karte speichernWas genau machst bzw. möchtest Du denn machen?
Wird die Karte neu erstellt? Oder nur verändert?
Vielleicht gibt es da eine andere Lösung.Gruß
Klaus
-
März 13, 2019 um 18:26 Uhr #13530
Hallo Klaus,
ersteinmal Danke für deine schnelle Antwort.Nun ja, ich bin beruflich ständig auf Reisen und möchte mir gerne so ein Reisetagebuch bauen.
Ich importiere mir drei bis vier Fotos, schreibe etwas Text dazu (Hotel.- Baustelleninfos usw.) und möchte das dann auf meinem Smartphone als Datensatz speichern.Und später möchte ich dann in den Reisen blättern und (vergessene)Details wieder ans Tageslicht holen.
Welchen Ansatz würdest Du dafür wählen ?Gruß
Michael -
März 13, 2019 um 18:48 Uhr #13533
Hi Michael,
aha, verstehe.
Das wäre ein idealer Kandidat für eine SQLite Datenbank und für einen Stack mit nur einer Karte, auf dem nur alle benötigten (leere) Felder und (leere) Bildobjekte in der gewünschten Anzahl liegen.
Es gibt dort dann nur ein paar Buttons zur Navigation sowie einen “Löschen” und “Neu” Button.
Das ist aber schon etwas fortgeschrittener Kram.
Eine weitere Möglichkeit wäre Folgendes:
1. Du erstellst einen “Template” Stack wie oben beschrieben als SEPARATEN Stack z.B. tagebuch.livecode
2. Du fügst diesen Stack Deiner Standalone (siehe 3) hinzu über “Add files”
im “Standalone Application Settings” Stack
3. Du erstellst einen “Splash Screen” Stack, das bedeutet, er dient nur dazu, eine Engine zu haben.
Dieser Stack besteht nur aus einer Karte, die kurz angezeigt wird und danach geht es zum eigentlichen Stack.
4. Da wir im ENGINE Ordner keine Schreibrechte haben und eine Standalone sich auch nciht selber speichern kann, sollte der SPLASH Stack das hier machen:on openstack ## Stack im App Package put specialfolderpath("resources") & "/tagebuch.livecode" into tSourceStack ## Stack im Dokumenten Ordner des User ## Hier dürfen wir SCHREIBEN (= Speichern eines Stacks!) put specialfolderpath("documents") & "/tagebuch.livecode" into tTargetStack ## Nur beim ersetn Start des Programm auf dem Handy if there is not a file tTargetStack then ## Stack rüberkopieren put url("binfile:" & tSourceStack) into url("binfile:" & tTargetStack) end if ## Nun können wir diesen Stack öffnen und auch SPEICHERN! go stack tTargetSTack ## Splash Stack hat seine Schuldigkeit getan: hide stack "Dein Splashstack hier..." end openstack
Verstehst Du das Prinzip?
Gruß
Klaus
-
März 13, 2019 um 18:49 Uhr #13534
Auf den Stack “tagebuch.livecode” kannst Du spöter aber wieder irgendwie zugreifen, oder?
Wie gesagt, keine Ahnung von “Mobile”… -
März 14, 2019 um 06:48 Uhr #13539
Hallo Klaus,
das mit dem TemplateStack ist nachvollziehbar. Werde ich mir mal Gedanken drüber machen.
Ob ich später auf den Stack zugreifen kann, das weiss ich noch nicht. Muss ich mich
mal mit beschäftigen.
Noch besser gefällt mir allerdings die Sache mit der Datenbank. Unter einem Schlüßel (Datum oder so..) auf ein paar Fotos und etwas Text zugreifen und die Card dann beim Wiederaufruf der Daten, neu aufbauen.
Auch das schaue ich mir mal an..
Danke für die Tipps, ich melde mich nochmal
wenn ich weiter gekommen bin.Gruß
Michael -
April 7, 2019 um 16:59 Uhr #13976
Hallo Klaus,
ich wollte mich noch mal melden um zu berichten was daraus geworden ist.
Das mit dem Template Stack habe ich nicht weiter verfolgt, weil mich das Thema mit
Sqlite sehr interessiert hat.
Es gibt eine Livecode-Lesson (nennt sich Photos und habe ich im Download Bereich von Livecode.com gefunden)die genau beschreibt wie man Fotos auf dem Smartphone lädt, und in eine SQLite Datenbank auf dem Smartphone speichert.
Und genau das habe ich gemacht, und es funktioniert. Nun kann ich das Grundgerüst nach meinen
Wünschen ändern und daraus ein Reisetagebuch erstellen.Liebe Grüße
Michael -
April 7, 2019 um 17:19 Uhr #13977
Prima, herzlichen Glüchwunsch! 🙂
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.