Android, Webview, übermittelte Formulardaten

9

Ich möchte, dass meine Android-Anwendung Webview verwendet, um ein HTML-Formular anzuzeigen. Wenn der Benutzer die Submit-Schaltfläche drückt, möchte er, dass die Name / Wert-Paare an mein Programm gesendet werden. Wie mache ich das?

Ich habe mir andere ähnliche Fragen angeschaut, aber nicht die Antworten sagen, wie man das konkret macht.

    
Xarph 01.06.2012, 00:14
quelle

3 Antworten

0

Ich habe gefunden, was ich brauchte. Wenn ich action = 'FORM' in der Form html setze, kann ich die Aktion mit:

abfangen %Vor%

Die Name / Wert-Paare sind in String d.

    
Xarph 03.06.2012, 03:17
quelle
1

Sehen Sie sich die Verwendung von JavaScript-Schnittstellen in WebView an. Bitte lesen Sie diesen Bereich des Android Developers Guide . Grundsätzlich sollten Sie in der Lage sein, von der Seite zum Gerät mit der Javascript-Schnittstelle zu kommunizieren und Ihre WebView-Aktivität wissen zu lassen, wenn die Submit-Taste gedrückt wird und ihre Werte gesendet werden.

    
Anthony Atkinson 01.06.2012 16:13
quelle
0

Wenn Sie Name / Wert-Paare speichern und jQuery verwenden möchten, ist das ganz einfach. Angenommen, Sie fügen jQuery in Ihren Ressourcenordner ein, können Sie es in einer Datei lesen:

%Vor%

Im WebViewClient, den Sie festgelegt haben (vorausgesetzt, Sie haben den Client überschrieben), können Sie Folgendes tun:

%Vor%

Stellen Sie dann sicher, dass Sie ein JavaScript-Interface für Ihre Webansicht mit einer Methode namens "ReturnJSONFromForm (String json)" für "MyJInterface" konfiguriert haben, laden Sie dann das Formular in die Seite und versuchen Sie es dann:

%Vor%

Erstellen Sie jetzt in Ihrer Schnittstelle einfach ein JSONObject aus der resultierenden Zeichenkette und fertig! Name / Wert-Paare aus Ihrem Formular.

Serialize wird keine deaktivierten Felder erfassen oder Schaltflächen senden. Wenn Sie das brauchen, gibt es eine komplexere Javascript-Lösung, aber es ist viel schwieriger.

    
d0nut 12.07.2013 17:37
quelle

Tags und Links