Datenerfassung via Handy ohne App

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
Benutzeravatar
Klaus Schuster
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 190
Registriert: Do, 24. Jan 2008 10:01
Wohnort: 90762 Fürth

Datenerfassung via Handy ohne App

Beitrag von Klaus Schuster » Do, 22. Mär 2018 9:44

Hallo Leute,

ein Kunde wünscht sich die Möglichkeit Daten mittels Handy zu erfassen. Da dies durch viele Leute mit unterschiedlichen Handys geschehen soll, will er auf Apps verzichten, und die Erfassung browserbasiert ausführen. Gibt es auf Handys eine Möglichkeit bei Netzausfall in eine Webseite eingegebene Daten zwischenzuspeichern und bei erneuter Verfügbarkeit zu versenden? Wenn ja, hat dies bereits jemand (mit XBase++) realisiert?
Gruß Klaus

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7313
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Datenerfassung via Handy ohne App

Beitrag von Tom » Do, 22. Mär 2018 10:02

Ja, diese Möglichkeit gibt es. Man kann sogar schon während des Tippens die getippten Daten serverseitig auswerten. Facebook macht das übrigens - wenn man anfängt, einen Kommentar zu schreiben, wird er bereits bei Facebook gespeichert, und er bleibt da auch, wenn man ihn löscht und überhaupt nicht abschickt. Das geht z.B. mit Ajax. Das heißt aber auch, dass Du einen Server bauen musst, der damit umgehen kann. Mit Xb2.net geht das.
Herzlich,
Tom

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14587
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Datenerfassung via Handy ohne App

Beitrag von brandelh » Do, 22. Mär 2018 10:20

TOM deine Antwort trifft nicht ganz die Frage ;-)

So wie ich das Problem verstehe, muss die Web-Anwendung lokal funktionieren, auch wenn die Verbindung zum Server verloren ging.
Z.B. im Keller oder Funkloch
Nach erneutem Kontakt soll dann der Datenaustausch stattfinden.

Ich meine sowas mal gelesen zu haben, lokale HTML5 Datei mit Java-Script und lokaler Datenhaltung, die dann versucht die Daten abzugleichen mit dem Server.
Gemacht habe ich das aber nie, da wir aus dem Grunde Basic4Android gekauft haben und lokale Anwendungen nutzen.

Völlig Recht hast du natürlich mit der Server Seite, hier muss man ein Programm bauen, das die Daten empfängt und die Seiten aktualisiert ausliefert.
Gruß
Hubert

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1413
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Datenerfassung via Handy ohne App

Beitrag von Rudolf » Do, 22. Mär 2018 12:02

Hallo,
das gibt es, z.B. JotForm mit einer App am Handy. Ist viel besser als Browser. Hat auch eine API , hat bei mir schon ganz gut funktioniert.
Grüße
Rudolf

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7313
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Datenerfassung via Handy ohne App

Beitrag von Tom » Do, 22. Mär 2018 12:08

Er will ja keine App, Rudolf, nur Browser. Das sollte, obwohl ich die Frage anfangs falsch verstanden habe, mit Ajax gehen - ist aber ein wenig komplex, denn es muss ja lokal gespeichert werden, wenn beim Formularabsenden keine Serververbindung mehr da ist.

In/mit Apps kann man die tollsten Sachen machen - ich spiele gerade ein bisschen mit Native Script herum, das ist schon ziemlich geil.
Herzlich,
Tom

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: Datenerfassung via Handy ohne App

Beitrag von Armin » Do, 22. Mär 2018 16:17

Hallo Klaus,

über den Browser kann man lokal nichts ablegen. Es gehen nur Cookies und LocalStorage. Diese werden im Browser gespeichert. Cookies sind sehr begrenzt (mind. 20 Cookies pro Domain jeweils 4 Kilobyte). Bei LocalStorage gibt es diese Einschränkungen nicht. Gehört zu HTML5.
Auch mit Ajax geht nichts lokal abzulegen - mit Ajax (XMLHttpRequest) schickt man eine Anfrage an den Server. Man müsste ansonsten einen Server lokal installiert haben - kann man auch machen - habe ich schon mit mongoose gemacht.
Man kann mit dem InternetExplorer hta-Seiten (ist eigentlich html - nennt sich aber htmlApplication) machen, die lokal schreiben können. Dies ist aber eine auslaufende Technik (IE). Man kann mit dem Node Webkit Browser (besteht aus einem Webkit Browser mit integriertem nodeJS) aus einer HTML-Seite ein EXE machen. Dieses hat mittels nodeJS lokalen Zugriff.

Zusammengefasst: Soll es mit jedem neueren Browser funktionieren, dann LocalStorage. Für eine HTML-EXE kann node webkit verwendet werden. Das gute, es gibt node webkit für alle Geräte/OS.

Grüße, Armin

Benutzeravatar
Klaus Schuster
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 190
Registriert: Do, 24. Jan 2008 10:01
Wohnort: 90762 Fürth

Re: Datenerfassung via Handy ohne App

Beitrag von Klaus Schuster » Fr, 23. Mär 2018 10:58

Danke, Leute,

da es nur um wenige Daten geht, scheint mir JotForm u.ä. ein gangbarer Weg zu sein.
@Rudolf: sprichst Du die API direkt aus XBase an?
Gruß Klaus

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1413
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Datenerfassung via Handy ohne App

Beitrag von Rudolf » Fr, 23. Mär 2018 11:34

Hallo Klaus,
Du kannst die Daten als Email senden oder über die API, Email ist natürlich einfacher. Hier ein Beispiel für die API, sollte auf diesem Weg funktionieren.
Grüße
Rudolf


https://api.jotform.com/docs/#overview

Code: Alles auswählen

FUNCTION jtest()
******************************************************************
local cUrl := "https://api.jotform.com/user",nFunc := 1,cData := ""
local cToken := "1fe8a029c" // Token bekommst Du nach Anmeldung
local cFormID := "5043123"
local cc,xRet,oHttp,nFunc = 1

do case
     case nFunc = 1
          cUrl  := "https://api.jotform.com/user"
          cData := ""
     case nFunc = 2
          cUrl  := "https://api.jotform.com/user/forms"
          cData := ""


endcase

oHttp  := TServerXMLHTTPRequest():New()
xRet := oHttp:Open( "GET" , cUrl , .F.)
xRet := oHttp:lIgnoreCertAll := .T.
xRet := oHttp:SetRequestHeader( "apiKey",  cToken )
xRet := oHttp:Send("???")
cc := oHttp:responseText
oHttp:Release()
txtview(var2char(cc))
return .t.

Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 786
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg

Re: Datenerfassung via Handy ohne App

Beitrag von Lewi » Fr, 23. Mär 2018 14:09

Es lassen sich mittels JavaScript und der Web-Storage-API des Browsers (Stichwort: "localStorage") Daten auf einer Domain ablegen, wobei die Daten zur weiteren Verarbeitung ins JSON-Format überführt werden sollten. Nähere Informationen findest Du hier:

http://wiki.selfhtml.org/wiki/JavaScript/Web_Storage

Das Vorgehen ist easy: Ein Formular generieren und das Submit-Event mit JS verarbeiten.

Gruß Olaf



.

Antworten