Veränderte Einträge im Stack auf Android speichern

Startseite Foren Deutsches LiveCode-Forum Veränderte Einträge im Stack auf Android speichern

Schlagwörter: 

Ansicht von 6 Antwort-Themen
  • Autor
    Beiträge
    • #22597
      pitschi67
      Teilnehmer

        Hallo,
        ich bin Frischling und habe gerade meine erste App geschrieben.
        Nun zu meiner Frage:
        Ich habe eine Android APP erstellt, in der der Anwender einige Textfelder und Combo Box Menüs deren Werte ändern kann.
        Diese vom Anwender eingestellten/veränderten Werte, sollen auf dem Handy gespeichert werden.
        Beim Neustart der APP sollen die veränderten Werte dann angezeigt werden.

        Meine App besteht aus einem Stack und 4 Cards.
        Ich habe auf jeder Card einen Button, der die geänderten Werte beim betätigen speichern soll.
        Allerdings bekomme ich kein Skript hin, welches mir die Speicherung ermöglicht.

        Vielleicht hat wer einen Tipp für mich.

        Danke

      • #22599
        Klaus Major
        Administrator

          Hallo Pitschi67,

          diese Frage tauch mehr oder weniger regelmäßig hier auf.
          Schau mal hier, vielleicht hilft Dir das weiter, wenn nicht, bitte nachfragen:
          https://www.livecode-blog.de/forums/topic/beim-ersten-starten/

          Gruß

          Klaus

        • #22603
          pitschi67
          Teilnehmer

            Hallo Klaus,

            Danke für deine Info.
            Ich habe hier schon alles mit der Suche überprüft, leider ohne Erfolg.
            Deswegen mein Thema.
            Ich habe aber dem Thorsten eine Frage gestellt und hoffe er kann mir helfen.

            Gruß
            Dirk

          • #22606
            Klaus Major
            Administrator

              Ich bin nicht der Thorsten, habe aber die Frage zum Teil beantwortet, ich hoffe, das ist genehm! 😎

            • #22608
              pitschi67
              Teilnehmer

                Hallo Klaus,
                danke für deine Hilfe.
                So wie ich deine Anleitung verstehe, speichere ich damit nur ein Taxtfeld.
                Aber ich habe ca. 20 Felder die vom Anwender geändert werden auf jeweils 4 Cards.
                Da würde es ja einfacher sein (sollte es funktionieren) den gesamten Steck einmal zu speichern.
                Wie gesagt, dafür möchte ich einen Button benutzen.

              • #22609
                Klaus Major
                Administrator

                  Sicher wäre es einfacher, den ganzen Stack zu speichern, aber der Weg dahin ist mindestens so steinig, wie 20 Textfelder speichern zu müssen.

                  Das Speichern von Userdaten wird Dir noch sehr, sehr oft begegnen, daher solltest Du versuchen, genau zu verstehen, wie man das macht!

                  Mein Beispiel war sicher nur für EIN Textfeld, aber die Technik ist identisch für N Texfelder!
                  Du könntest z.B. alle Deine Texte in einem Array sammeln und dann das Array abspeichern, später wieder einlesen und die Daten auf Deine Felder und Karten verteilen.

                  Beispiel als eigene Handler, die Du wann auch immer aufrufen kannst.

                  ## Diese beiden Handler sollten ins STACK Skript gehen!
                  command alles_speichern
                     ## Deine Felder sammeln und ins Array schreiben:
                     put fld 1 of cd 1 into tArray[1]
                     put fld 2 of cd 1 into tArray[2]
                     ## etc.
                     ## ...
                     put fld 4 of cd 4 into tArray[16]
                       
                     ## Dateiname zusammenbasteln:
                     put specialfolderpath("documents") & "/alle_daten.bin" into tDatei
                     
                     ## Nun dass Array encoden und wegschreiben, aber in eine BINFILE!
                     put arrayencode(tArray) into url("binfile:" & tDatei)   
                  end alles_speichern

                  Wieder einlesen

                  ## Könntest Du bei PRE-/OPENSTACK aufrufen
                  command alles_einlesen
                  
                   ## Dateiname zusammenbasteln:
                     put specialfolderpath("documents") & "/alle_daten.bin" into tDatei
                     if there is a file tDatei then
                        put url("binfile:" & tDatei) into dasArray
                     else
                        ## Nichts gespeichert, also weg hier:
                        exit alles_einlesen
                     end if
                     
                     put arraydecode(dasArray) into tArray
                     
                     ## Nun die Daten wieder aufdröseln und auf die Felder Deiner App verteilen:
                     put tArray[1] into fld 1 of cd 1
                     put tArray[2] into fld 2 of cd 1 into
                     ## etc.
                     ## ...
                     put tArray[16 ] into fld 4 of cd 4
                  end alles_einlesen
                • #22611
                  pitschi67
                  Teilnehmer

                    Oh oh, das sieht für einen Programmierneuling wild aus, aber da muss ich wohl durch.
                    Danke dir.
                    Ich werde mich mal damit auseinandersetzen und melde mich ob ich es hin bekomme.

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