Startseite › Foren › Deutsches LiveCode-Forum › Android kein Zugriff möglich
- Dieses Thema hat 14 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 4 Jahren, 10 Monaten von Radmuehl.
-
AutorBeiträge
-
-
Dezember 1, 2019 um 17:41 Uhr #17295
Es ist soweit. Die App ist eigentlich fertig und funktioniert als Windows-Version. Unter Android leider nicht. Bei der Fehlersuche bin ich darauf gekommen, dass es an den Zugriffen zu Dateien und Datenbank liegen muss.
Zum Hintergrund:
Ich lese in der App Grunddaten aus Textdateien ein. Nach Änderung werden sie wieder in die Texdateien geschrieben.Das funktioniert unter Android nicht.
Die App greift auf meine SQLite-Datenbank zu, auch das scheint unter Android nicht zu gehen. Ich kann keine neuen Daten erfassen und auch keine bestehenden Datensätze löschen.
Unter den Standalone Application Settings habe ich mal alle Rechte die anklickbar sind eingestellt. Die benötigten Dateien, aus denen ich lese und hineinschreibe, habe ich unter Copy Files angegeben. Auch die Datenbank.
Jetzt bin ich mal wieder mit meinem Latein am Ende.
Viele Grüße
Dieter
-
Dezember 1, 2019 um 22:44 Uhr #17297
Hi Dieter,
alles, was Du unter “Copy files” der Runtime hinzufügst, findest Du dann in
-> specialfolderpath(“resources”), dürfte Dir bekannt sein.
ABER da haben wir keine Schreibrechte, daher rührt wahrscheinlich Dein Ungemach.Du musst alles, was bearbeitet werden soll, beim ersten Programmstart in diesen Ordner kopieren:
-> specialfolderpath(“documents”)
DA dürfen wit tun und lassen, was wir wollen. 🙂Siehe hier für Hinweise, wie das zu bewerkstelligen ist:
https://www.livecode-blog.de/forums/topic/sqlite-datenbank-speichert-nicht/Gruß
Klaus
-
Dezember 3, 2019 um 18:26 Uhr #17322
Hallo Klaus,
ich habe folgenden Code erstellt. Es gibt keine Fehlermeldung, aber ich kann immer noch nicht auf die Datenbank zugreifen. Die Datenbank Auto.db finde ich im Handy nicht im Dokumentenordner.
on openstack if the environment is "mobile" then set the fullscreenmode of me to "exactFit" put specialFolderPath("resources") & "/auto.db" into tQuellDB put specialFolderPath("documents") & "/auto.db" into tZielDB if there is NOT a file tZielDB then put url("binfile:" & tQuellDB) into url("binfile:" & tZielDB) end if put tZielDB into xpfd else put specialfolderpath("resources") & "/auto.db" into xpfd end if end openstack
Viele Grüße
Dieter
-
Dezember 3, 2019 um 18:33 Uhr #17323
Was sagt denn -> the result
nach einer (missglückten) Datenbankabfrage oder beim Versuch die DB zu öffnen? -
Dezember 3, 2019 um 18:42 Uhr #17325
Ich muss gestehen dass ich nicht weiß was Du meinst. Ich markiere z.B. einen Datensatz und betätige den Button “löschen” aber es tut sich nichts. Auch kann ich keinerlei Daten im Handy ändern. Habe es auch schon auf meinem Tablet versucht.
Gruß
Dieter -
Dezember 3, 2019 um 18:49 Uhr #17326
Do kannst und solltest nach jeder Datenbankoperation the result checken:
... put revDBWasAuchImmer (dieDBId,tSQL) into xxx ## THE RESULT ist immer LEER bei Erfolg! ## Spezialfall Datenbank: Dann beginnt ein Fehler immer mit REVDBERR if the result begins with "revdberr" then answer the result end if ...
-
Dezember 4, 2019 um 08:57 Uhr #17330
Hallo Klaus,
das Forum bringt mir wieder Fehler beim antworten, wenn ich viel schreibe. Habe meine Antwort mal als Textdatei auf meinen Server gelegt.
Viele Grüße
Dieter -
Dezember 4, 2019 um 12:41 Uhr #17331
Ich habe die selben Probleme hier, habe Hauke Bescheid gegeben…
-
Dezember 4, 2019 um 13:17 Uhr #17333
Hallo Klaus,
Du hast geschrieben:
Klaus Major schrieb:
…
put revOpenDatabase (“sqlite”,”D:/Daten/Livecode/Version8/Auto/auto.db”, , , , ) into dbid
…Und Dein Handy hat Zugriff auf Deine D: Festplatte? Ernsthaft? 😎
Das bitte erst mal richten und dann sehen wir weiter…Jetzt bin ich verwirrt.
Das ist doch der Code aus der Entwicklungsumgebung. Die Datenbank wird doch beim Erzeugen der Standaloneapplication mit angegeben. Was soll ich denn in der Entwicklungsumgebung sonst eingeben. Da muss doch der Pfad eingegeben werden.Gruß
Dieter -
Dezember 4, 2019 um 13:46 Uhr #17334
Hast du das doch lesen können? Kannst Du hellsehen? 😀
Ich hatte es drei Mal gepostet und immer diese Fehlermeldungen “Authorname” etc. bekommen und dann aufgegeben…specialfolderpath(“resources”) funktioniert auch in der IDE!
Einfach mal in der Message Box eingeben und staunen:
answer specialfolderpath(“resources”)Es liefert den Pfad zum Ordner mit dem aktuellen Stack zurück!
also kannst Du damit auch in deinen Skripten arbeiten.... ## Wir sind in der IDE: If the environment = "development" then put specialfolderpath("resources") & "/auto.db" into xpfd end if ...
-
Dezember 4, 2019 um 16:49 Uhr #17338
Im Forum konnte ich es nicht lesen. Ich bin auch kein Hellseher. Ich habe aber eine Mail bekommen, dass ein neuer Beitrag geschrieben wurde. Da stand der Text drin.
-
Dezember 4, 2019 um 16:56 Uhr #17339
AHA! OK, das klingt einleuchtender… 😀
-
Dezember 5, 2019 um 14:34 Uhr #17354
Hallo Klaus,
ich habe den Datenbankaufruf jetzt umgebaut und rufe die Datenbank mit folgendem Code auf:
put revOpenDatabase ("sqlite",specialfolderpath("resources") & "/auto.db", , , , ) into dbid
Das funktioniert prima.
Wie kann ich jetzt das Handy dazu bewegen auf einen Ordner zuzugreifen wo ich lese und Schreibrechte für die Datenbank habe.
Nachfolgend das was ich bisher verstehe:
Kopieren der Pfade in die Variablen für Quelle und Ziel
put specialFolderPath("resources") & "/auto.db" into tQuellDB put specialFolderPath("documents") & "/auto.db"into tZielDB
Abfrage ob die Datenbank im Dokumentenordner liegt. Wenn nein, soll sie da hin kopiert werden. Das macht er unter Windows auch.
if there is NOT a file tZielDB then put url("binfile:" & tQuellDB) into url("binfile:" & tZielDB) end if
Kopiert den Pfad der ZielDB in die Variable xpfd (Wofür ist das gut?)
put tZielDB into xpfd
Kopiert den Ursprungspfad der QuellDB in die Variable xpfd (Wofür ist das gut?)
put specialfolderpath("resources") & "/auto.db" into xpfd
Viele Grüße
Dieter
-
Dezember 5, 2019 um 14:49 Uhr #17355
Na toll, klappt mal wieder nicht hier, aber Du hast die Antwort
vielleicht schon wieder per Mail erhalten. 🙂 -
Dezember 5, 2019 um 15:43 Uhr #17357
Dieses mal leider nicht. Kannst du sie mir pepr Mail senden?
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.