Beim ersten starten

Startseite Foren Deutsches LiveCode-Forum Beim ersten starten

Schlagwörter: , , ,

Ansicht von 6 Antwort-Themen
  • Autor
    Beiträge
    • #18816
      BestRazer
      Teilnehmer

      Hallo,

      gibt es eine Möglichkeit einen Befehl in einer App nur beim ersten starten der App ausgeführt wird? Oder allgemein, dass wenn ich zum Beispiel in meiner App den Dark Mode anschalte, er beim nächsten starten immer noch an ist?

      LG Arthur

    • #18830
      Torsten
      Teilnehmer

      Hi Arthur,

      das kommt darauf an, ob du einen Stack oder eine Standalone startest. Bei einem Stack könntest Du den Modus einfach in einer Property setzen und dann den Stack abspeichern.
      Beim Standalone ohne Starter- oder externe Substacks muss diese Information in einer extra Datei gespeichert werden, die dann bein Start als erstes ausgelesen wird.

      Schau Dir mal den Thread an, da gehts genau darum: https://www.livecode-blog.de/forums/topic/variable-in-app-nach-beendigung-speichern/

      LG
      Torsten

    • #18837
      Klaus Major
      Verwalter

      Nicht immer so kompliziert denken! Wie machen es vergessliche Leute?
      Und eine Runtime IST vergesslich, das sag ich Dir! 🙂

      Genau, sie schreiben kleine Zettelchen und legen sie an sichtbarer Stelle hin.
      Genau so machst Du es mit der Runtime auch:

      on openstack
      ## oder preopenstack oder wann auch immer:
        put specialfolderpath("documents") & "/war_ich_schon_mal_hier.txt" into merkzettel
        if there is NOT a file merkzettel then
           ## Das ist der erste Start Deiner App,
           ## mach Dein Ding jezt hier und danach aber nicht vergessen:
           put "Ja" into url("file:" & merkzettel)
        end if
      end openstack

      Logik klar? Denke schon. 🙂

      Gruß

      Klaus

    • #19578
      BestRazer
      Teilnehmer

      Vielen dank für ihre Antworten.
      Jetzt habe ich allerdings das Problem, dass ich den Befehl

      on pushNotificationRegistered pMessage
         answer "Registered:" && quote & pMessage & quote with "Okay"
         revMail "meine@e-mail-adresse",, "token",pMessage
      end pushNotificationRegistered

      nur beim ersten Starten ausführen möchte. Das geht leider nicht mit ihren Vorschlägen (glaube ich zumindest).
      Gibt es dafür auch eine Möglichkeit?

      Vielen Dank,

      Arthur

    • #19579
      Klaus Major
      Verwalter

      Hallo Artur,

      na, genau so, wie in meinem letzten Posting!
      Aber nun halt nicht bei „openstack“ sondern in Deinem „pushNotificationRegistered“ Handler.

      Offenbar war die dahintersteckende Logik doch nicht klar…

      Gruß

      Klaus

      • #19585
        BestRazer
        Teilnehmer

        Vielen, vielen dank!
        Dank ihnen muss ich jetzt nicht mehr eine extra App verteilen um Benachrichtigungen verwenden zu können!

    • #22601
      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.


      @Thorsten
      . „Bei einem Stack könntest Du den Modus einfach in einer Property setzen und dann den Stack abspeichern“
      Was meinst du damit?

      Sorry ich bin kein Programmierer 😉

    • #22604
      Klaus Major
      Verwalter

      Der Grundtenor zu Deinem Problem ist, Du musst alles in einem Ordner speichern, in dem wir Schreibrechte haben, und bei Bedarf diese Info wieder einlesen.

      Beispiel, Du hast ein Textfeld, das Dein User mit Text füllt, den Du speichern und wieder einlesen möchtst. Speichern:

      ...
      put the text of fld "das textfeld hier soll gespeichert werden" into tText
      
      ## Auf der mobilen Platform dürfen wir nur im DOKUMENTEN Ordner des Users schreiben.
      ## Dateinmane zusammenbasteln:
      put specialfolderpath("documents") & "/dein_text_hier.txt" into tDatei
      
      ## Nun die Varibale (= Feldinhalt) wegschreiben:
      put tText into url("file:" & tDatei)
      ## Fertig!
      ...

      Wieder einlesen, eventuell bei PRE- oder OPENSTACK, oder wann es halt Zeit dafür ist:

      ...
      ## Dateinmane zusammenbasteln:
      put specialfolderpath("documents") & "/dein_text_hier.txt" into tDatei
      
      ## Zunächst checken, ob wir das schon einmal gespeichert haben:
      if there is a file tDatei then
        put url("file:" & tDatei) into tText
      else
      
        ## Falls nicht, leeren wir das Feld einfach:
        put EMPTY into tText
      end if
      put tText into fld "das textfeld hier soll gespeichert werden" 
      ...
Ansicht von 6 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.