Android中获取网页表单中的数据
16lz
2021-01-23
MainActivity如下:
package cn.testjavascript;import java.util.StringTokenizer;import android.os.Bundle;import android.webkit.WebView;import android.app.Activity;/** * Demo描述: * 在Android中获取网页里表单中的数据 */public class MainActivity extends Activity { private WebView mWebView; private String date =null; private String email = null; private String username = null; private String sex = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init(){mWebView=(WebView) findViewById(R.id.webView);initWebViewSettings();mWebView.loadUrl("file:///android_asset/form.html");//注意addJavascriptInterface方法中第二参数//它表示我们的java对象javaClass的别名.//这样Javascript就可以通过该别名来调用Android中的方法//即Javascript代码中的:window.testform.send(date+"|"+email+"|"+name+"|"+sex);//send是方法名//testform是别名mWebView.addJavascriptInterface(new Object() {public void send(String userInfo) {StringTokenizer userInfoStringTokenizer = new StringTokenizer(userInfo, "|");date = userInfoStringTokenizer.nextToken();email = userInfoStringTokenizer.nextToken();username = userInfoStringTokenizer.nextToken();sex = userInfoStringTokenizer.nextToken();System.out.println("userInfoStringTokenizer="+userInfoStringTokenizer.toString());System.out.println("date=" + date);System.out.println("email=" + email);System.out.println("username=" + username);System.out.println("sex=" + sex);};}, "testform");}private void initWebViewSettings(){mWebView.setVerticalScrollBarEnabled(false);mWebView.setHorizontalScrollBarEnabled(false);mWebView.getSettings().setJavaScriptEnabled(true);mWebView.getSettings().setSupportZoom(true);mWebView.getSettings().setDomStorageEnabled(true);mWebView.getSettings().setPluginsEnabled(true);mWebView.requestFocus();mWebView.getSettings().setUseWideViewPort(true);mWebView.getSettings().setLoadWithOverviewMode(true);mWebView.getSettings().setSupportZoom(true);mWebView.getSettings().setBuiltInZoomControls(true);}}
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerInParent="true" /></RelativeLayout>
form.html如下:
<body><form action="" method="post">时间:<br><select id="shijian" name="date"> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option></select><br>邮箱:<input id="email" type="text" name="emailID" /><br>昵称:<input id="name" type="text" name="username" /><br>性别:<br><input id="men" type="radio" name="sex" value="men"/>男 <input id="women" type="radio" name="sex" value="women"/>女 <br> <input type="submit" value="注册" onclick="f()"/> <input type="button" value="取消" /></form></body><script type="text/JavaScript" language="javascript"> function f(){ var email = document.getElementById('email').value; var name = document.getElementById('name').value; var date = document.getElementById('shijian').value; if(document.getElementById('men').checked && !document.getElementById('women').checked){ var sex = document.getElementById('men').value; }else if(!document.getElementById('men').checked && document.getElementById('women').checked){ var sex = document.getElementById('women').value; } window.testform.send(date+"|"+email+"|"+name+"|"+sex); } </script>
更多相关文章
- Unity调用Android配置方法
- Android 滑动手势侦测方法介绍
- 安卓selector使用方法
- 应用界面主题Theme使用方法
- Android 使用html做UI的方法---js与java的相互调用
- Android关闭JIT的方法
- android:初级 [Android] Eclipse Android中设置模拟器屏幕大小几