Android-Applikation hängt sich beim Beenden auf

Startseite Foren Deutsches LiveCode-Forum Android-Applikation hängt sich beim Beenden auf

Ansicht von 5 Antwort-Themen
  • Autor
    Beiträge
    • #29972
      Peter_M
      Teilnehmer

      Hallo Forum,
      seit kurzem habe ich ein großes Problem. Sobald ich den Button „Programm beenden“ drücke, der bis dato klaglos funktioniert hatte und mit folgendem Code hinterlegt ist:
      on mouseDown
      set the destroyStack of this stack to true
      close this stack
      end mouseDown
      passiert in der fertigen Android-Standalone nichts und das Programm hängt sich komplett auf. In der IDE funktioniert der Button klaglos. Weiterhin scheinen auch die Pfade in diesem Stack in der Apk nicht mehr zu stimmen, da Upload-Operationen nicht klappen. Den Inhalt des Preferences-Ordners, der ein zusätzliches .corrupt- File enthielt, habe ich bereits gelöscht, leider ohne Erfolg. Weiß jemand, was ich noch tun kann, um meine Android-App wieder zum Laufen zu bringen? (Mein Programm besteht aus 2 Stacks – SplashScreen und nachgeschalteter Programmstack – und wurde mit LiveCode 9.6 unter Windows 10 programmiert). Vielen Dank für jeden Tipp!
      Peter

    • #29976
      Klaus Major
      Verwalter

      Hi Peter,

      Android User sind es gewohnt, mit dem entsprechenden Hardwarebutton ein Programm zu beenden!
      Daher solltest Du es in LC selber NICHT machen!

      Oder hast Du schon mal in einer mehr oder weniger typischen Android App einen BEENDEN Button gesehen? Also einfach diesen Buttopn entfernen.

      Weiterhin scheinen auch die Pfade in diesem Stack in der Apk nicht mehr zu stimmen, da Upload-Operationen nicht klappen. Den Inhalt des Preferences-Ordners, der ein zusätzliches .corrupt- File enthielt, habe ich bereits gelöscht, leider ohne Erfolg.

      Kannst Du das bitte etwas näher erklären?
      Welche Pfade funktionieren nicht?
      Welche Pfade verwendest Du aktuell?
      „Preferences“ Ordner? Unter Android?

      Gruß

      Klaus

    • #29995
      Axwald
      Teilnehmer

      Hallo,
      ich verwende „quit“ statt „close this stack“. Und das „destroyStack “ spare ich mir, das ist schon in den Stack-Properties gesetzt.
      Aber: Hast Du einen Handler für „closeStackRequest“? Vielleicht ist da der fehlerhafte Code drin?

      Pfade in der APK:
      Ich mach mir das ganz einfach – ich erzeuge die grundsätzlich zur Laufzeit:

      on preOpenStack
         put specialFolderPath("resources") & slash into gPathE                              --  engine Folder
         if isMob() then
            put specialFolderPath("documents") & slash into gPathD                     --   mobile docs Folder
         else
            put specialFolderPath("resources") & slash into gPathD                     --  desktop docs Folder
         end if
      --  ...

      und schreibe sie in globale Variablen. So habe ich immer die richtigen Pfade. „isMob()“ fragt das „environment“ ab und ist „true“, wenn wir mobil sind 🙂

      Viel Spaß!

      PS: Es kann sinnvoll sein, auch unter Android eine „Beenden“-Funktion zu haben – zum Beispiel, wenn ein Programm von der „Akku-Leistungsoptimierung“ ausgenommen sein soll, oder sich via Idle-Timer gegen das Abschießen im Hintergrund wehrt.
      Ich kenne dazu durchaus „Beenden“ im „Hamburger-Menü“, oder „Doppel-Tab“ auf den „Zurück“-Button. Selten, aber es gibt es.

    • #30050
      Peter_M
      Teilnehmer

      Hallo Klaus und Axwald,
      danke für eure Tipps und Entschuldigung für meine späte Reaktion darauf (Ich bin in der Zwischenzeit in den Urlaub gefahren…). Sobald ich wieder zu Hause bin, werde ich der Sache nachgehen. Das Putzige ist, dass mein Programm lange Monate klaglos funktionierte, also Up- und Download sowie das Beenden des Programms fehlerfrei klappten. Außerdem mache ich regelmäßig Sicherungskopien der stabilen Versionen meines Programms. Auch nach dem Rückgriff auf diese Versionen blieben die Fehler unverändert bestehen. Daher vermute ich jetzt, dass der Knackpunkt das zuvor nie gesehene „.corrupt“-File im „Preferences“-Ordner ist und vielleicht bedeutet, dass LiveCode insgesamt zerschossen ist. Das würde auch erklären, warum das von mir durchgeführte Löschen der Inhalte des Preference-Ordners nichts bewirkt hat.
      Hat jemand schon Erfahrungen mit dem „.corrupt“-File gemacht? Ansonsten werde ich LiveCode komplett neu installieren….
      Danke für eure Meinung!
      Peter

    • #30051
      Klaus Major
      Verwalter

      Und immer noch:

      Kannst Du das bitte etwas näher erklären?
      Welche Pfade funktionieren nicht?
      Welche Pfade verwendest Du aktuell?
      „Preferences“ Ordner? Unter Android?

      Schon mal die LC Preferences gelöscht? Diese Voreinstellungsdatei heisst „livecode7.rev“.
      Mal suchen und löschen und dann LC erneut starten, das hilft meistens.

    • #30098
      Peter_M
      Teilnehmer

      Hallo Klaus, wie ich bereits geschrieben habe, habe ich den Inhalt des Ordners „Preferences“ und damit auch die Datei „livecode7.rev“ schon gelöscht. Daher vermute ich, dass LiveCode selbst zerschossen ist.
      Viele Grüße
      Peter

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