当前位置: 移动技术网 > IT编程>移动开发>Android > Android中获取网页表单中的数据实现思路及代码

Android中获取网页表单中的数据实现思路及代码

2019年07月24日  | 移动技术网IT编程  | 我要评论

作者素材库,电高压锅好用吗,警察帮忙捞人索贿

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;
@override
protected 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>

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网