HTml文件:
<html>
<head>
<script>
//给函数一个返回值
function val(){
var vname=document.getElementById("uname").value; //获取文本框中的值
var vpwd=document.getElementById("upwd").value; //获取密码文本框中的值===>赋值给变量vpwd
if(vname==""){
alert("用户名不能为空!");
return false;
}else if(vpwd==""){
alert("密码不能为空!");
return false;
}
//把值给android应用程序
guo.getlogin(vname,
}
</script>
</head>
<body>
<form action="welcome.html" οnsubmit="return val()">
用户名<input id="uname" name="uname" /><br/>
密码<input id="upwd" type="password" /><br/><br/>
<input type="submit" value="登录"/>
</form>
</body>
主代码:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取控件
WebView webview= (WebView) findViewById(R.id.webview);
//设置编码集
WebSettings settings = webview.getSettings();
settings.setDefaultTextEncodingName("utf-8"); // 加载中文网页
settings.setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());
//给webview设置addjavascriptinterface
webview.addJavascriptInterface(new getjavaScript(), "guo");//参数二:javascript连接java的时候,使用什么名
//实现获取网页中的值
//设置wevview加载的路径
webview.loadUrl("file:///android_asset/aa.html"); //加载网络地址:配置权限? 如果是本地文件,可以不需设置权限
}
class getjavaScript{
//获取js网页中的值,javascript点击登录按钮后,调用loginInfo
@JavascriptInterface
public void getlogin(String uname,String pwd){
Toast.makeText(MainActivity.this, "用户名:"+uname, 1).show();
}
}
}
清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.day18_demo01"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.day18_demo01.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>