您的位置:首页 > 移动开发 > Android开发

Android与Js的简单交互例子

2016-05-06 15:50 387 查看
package com.itcast.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

import butterknife.Bind;
import butterknife.ButterKnife;

public class MainActivity extends Activity {

@Bind(R.id.webview)
WebView webview;
@Bind(R.id.zhuce)
Button zhuce;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
WebSettings set = webview.getSettings();
//开启javascript
set.setJavaScriptEnabled(true);
//设置编码格式
set.setDefaultTextEncodingName("utf-8");
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

return false;

}
});
//stub是接口名字。
webview.addJavascriptInterface(new JsToJava(),"stub");

webview.loadUrl("http://192.168.1.57:8080/a.html");
zhuce.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

//调用html中的zhuce()方法
webview.loadUrl("javascript:zhuce()");
}
});
}

class JsToJava
{
@JavascriptInterface
public void jsMethod(String paramFromJS)
{
//js返回的值
System.out.println(paramFromJs);
}
}

}

下面是html

<?xml version="1.0" encoding="utf-8"?>
<html>
 <head>
 </head>
 <body>   
  
     <input type="button" value="注册" onclick="zhuce()"/>
    <br></br>
    <input type="text" value="js" id="mytext"/>
     <script>
  function zhuce(){
   var my=document.getElementById("mytext")
      my.value="androidtojs";
   var result="java传回来的String";

//这里调用java 的jsMethod();
   window.stub.jsMethod(result);
  };
 </script>
 </body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android javascript webview