2016-07-20 12 views
0

Meine Frage wird sehr lang sein, aber ich ermutige Sie, alles durchzulesen, da es für einen ehrlichen, guten Zweck verwendet wird. Oder Sie können zum markierten Frageteil springen.

Lassen Sie mich zuerst mich vorstellen, ich bin ein unabhängiger Web-Anwendung Entwickler hier in den Philippinen und ich arbeite für eine Non-Profit-Organisation, wo wir weniger glückliche Menschen durch Bereitstellung von IT-Lösungen und Dienstleistungen kostenlos unterstützen. Ich habe eine funktionierende Webanwendung mit dynamischen Registrierungsformularen, in die Benutzer ihre Daten online eingeben können. Ich entwickelte diese Anwendung mit Responsive UI mit Bootstrap-Grid-System. Aber da wir hier auf den Philippinen sind, gibt es abgelegene Gebiete, in denen die Zielkunden nicht rund um die Uhr Zugang zum Internet haben. Die Mitnahme von Laptops oder Desktop-Computern ist wegen des Terrains und der Flüsse, die wir überqueren müssen, ein Problem abgelegenen Gebieten.

Jetzt denken wir zusammen mit meinem Team über eine Möglichkeit nach, unsere Handys, hauptsächlich Androiden, zu verwenden, um eine mobile App-Version unserer Webanwendung zu erstellen. Wo kann man das Registrierungsformular (html) herunterladen wenn wir verbunden sind und es dann auch ohne Internetverbindung benutzen.

Idealerweise sollte die Situation wie folgt aussehen:
1. Starten Sie die App von meinem Handy, und während Sie mit dem Internet verbunden sind, laden Sie die benötigten HTML-Formulare von unserer Webanwendung herunter.
2. Reisen Sie in entlegene Gebiete, verwenden Sie die mobile Anwendung, um die Informationen des Muttersprachlers offline zu kodieren. (Ich habe gehört, es ist möglich, es lokal zu SQLite db zu speichern)
3. Gehen Sie zurück zum Hauptquartier und synchronisieren Sie mit der Online-Web-Anwendung, um alle gesammelten Informationen zu übergeben und das ist es.

alles, was gesagt hat, ich habe 3 Fragen:
1. Was soll ich eine mobile App erstellen, die aus dem Internet heruntergeladen HTML-Formulare angezeigt werden können?
2. Wie kann ich die Daten lokal (im Telefon) speichern? Ich habe von SQLite db gehört, aber ich bin mir nicht sicher, ob es mit meiner Situation funktioniert.
3. Wie kann ich die lokal gespeicherten Daten mit der Online-Webanwendung synchronisieren?ASP.NET Registrierungsformular zu einer einfachen Offline-fähigen mobilen Anwendung

Antwort

1

Dies ist mehr wie eine Umfrage-Anwendung. Sie brauchen die HTML hier nicht. Sie entwerfen Ihre Fragedefinitionen in XML oder JSON. Sie können mehrere Arten von Fragen wie Text beantworten Frage, Single Choice Multiple Option Frage, Multiple Choice Multiple Option Frage, Bild Frage, QR-Code Frage, GPS-Koordinaten Frage usw. usw. Sie entwerfen diese Fragen in JSON oder Xml und setzen sie in Server . Zum Beispiel

{ 
    questionSetName: "Question Set 1", 
    question:[{ 
     questionText: "What is your name ?", 
     questionType: "TextAnswer" 
    }, 
    { 
     questionText: "Which one console below do you own ?", 
     questionType: "SingleChoiceMultipleOption", 
     options:["PS4", "XBox", "Steam Console"] 
    }] 
} 

Jetzt für Ihren mobilen Client:

  1. Bei der Online-Nutzer wollen Fragen zur späteren Offline-Umfragen zum Download bereit. Der Benutzer sendet also eine Anfrage an den Server nach verfügbaren Fragensätzen. dann wird diese Datei vom Server (im Falle von Android durch einige HttpClient wie OkHttpClient) ziehen und sie in SD-Karte. Der Server implementiert Rest-Apis für Fragenlisten und lädt einzelne Fragensätze.

  2. Die Anwendung überprüft, ob Dateien in einem bestimmten Ordner (Ihrem App-Ordner) auf der SD-Karte vorhanden sind. Die Dateinamen werden die Liste der Fragen sein. Es wird die JSON oder Xml analysieren und Fragen Fenster entsprechend, zum Beispiel für Text Frage ein Etikett mit der Frage Text und ein Textfeld für die Antwort, für einzelne Auswahl mehrere Optionen eine Reihe von Optionsfelder, für Bildfragen öffnen Sie die mobile Kamera etc.

    1. Beim Füllen (Beantworten) der Fragen speichern Sie die Antworten und die Frage Nummer und spülen sie in eine JSON-Datei. und legen Sie die Antwortdateien in ein anderes Verzeichnis (Sie benötigen eine Art von Identifikation).

    2. laden Sie später die Antwortdateien auf den Server hoch.

Die Server-Seite wird die folgenden Rest apis benötigen: 1. Liste der Fragensätze eines Benutzers (von db ??) 2. api (WebService) eine Reihe von Fragen zum Download . 3. Eine API zum Hochladen eines Antwortbogens für eine Frage. 4. Benutzerverwaltung natürlich.

Hoffe, das hilft.

+0

Sie haben Recht, ich werde keine HTML mit diesem Ansatz benötigen und nur api-Service von meiner asp.net Web App aussetzen. Ich konnte nicht darüber nachdenken, weil ich mich zu sehr auf meine bestehende Webanwendung konzentriere und keine Kenntnisse in der Android/iOS-Entwicklung habe, sondern nach einer Möglichkeit, die bereits erstellte HTML-Datei einfach an die mobile App zu senden. Können Sie einen Weg vorschlagen, eine einfache mobile App ohne eine komplexe Lernkurve für einen Webentwickler wie mich zu erstellen? Meine Zielplattform für jetzt ist Android –

+0

betten Sie Ihre Webapp in webview –

+0

Nicht mit Webview widerspricht der erste Plan, der nicht HTML-Datei vom Webserver direkt zu dienen ist –