学习啦>知识大全>方法百科>产品使用方法>

android js调用java方法

时间: 陈哲凡673 分享

  ajax调用java后台的方法学习啦在线学习网,其实是通过url链接来访问。下面是学习啦小编为大家带来一篇ajax调用java方法,希望对大家有所帮助。

  android js调用java方法(一)

学习啦在线学习网   [java] view plaincopypublic class JsInterface {

  /*interface for javascript to invokes*/

  public interface wvClientClickListener {

  public void wvHasClickEnvent();

  }

学习啦在线学习网   private wvClientClickListener wvEnventPro = null;

  public void setWvClientClickListener(wvClientClickListener listener) {

  wvEnventPro = listener;

  }

学习啦在线学习网   public void javaFunction() {

  if(wvEnventPro != null)

  wvEnventPro.wvHasClickEnvent();

  }

  }

学习啦在线学习网   /*Js2JavaActivity.JAVA*/

  /*程序入口*/

学习啦在线学习网   [java] view plaincopypublic class Js2JavaActivity extends Activity{

  private Button btn_show,btn_hide;

  private WebView wv;

  private JsInterface JSInterface2 = new JsInterface();

学习啦在线学习网   @Override

  protected void onCreate(Bundle savedInstanceState) {

  // TODO Auto-generated method stub

学习啦在线学习网   super.onCreate(savedInstanceState);

学习啦在线学习网   setContentView(R.layout.js2java);

学习啦在线学习网   btn_show = (Button)findViewById(R.id.btn_java2js_show);

学习啦在线学习网   btn_hide = (Button)findViewById(R.id.btn_java2js_hide);

学习啦在线学习网   wv = (WebView)findViewById(R.id.wv_js2java);

  wv.getSettings().setJavaScriptEnabled(true);

  wv.addJavascriptInterface(JSInterface2,"JSInterface2");

学习啦在线学习网   wv.setWebViewClient(new webviewClient());

  wv.loadUrl("file:///android_asset/index.html");

  }

学习啦在线学习网   class webviewClient extends WebViewClient {

学习啦在线学习网   @Override

  public void onPageFinished(WebView view, String url) {

学习啦在线学习网   // TODO Auto-generated method stub

  super.onPageFinished(view, url);

  btn_show.setOnClickListener(new OnClickListener() {

  @Override

学习啦在线学习网   public void onClick(View v) {

学习啦在线学习网   // TODO Auto-generated method stub

  Toast.makeText(getBaseContext(), "You click show button", 1000).show();

  wv.loadUrl(String.format("javascript:java2js(0)"));//这里是java端调用webview的JS

  }

  });

  btn_hide.setOnClickListener(new OnClickListener() {

  @Override

  public void onClick(View v) {

学习啦在线学习网   // TODO Auto-generated method stub

学习啦在线学习网   Toast.makeText(getBaseContext(), "You click hide button", 1000).show();

学习啦在线学习网   wv.loadUrl(String.format("javascript:java2js(1)"));//这里是java端调用webview的JS

  }

  });

  JSInterface2.setWvClientClickListener(new webviewClick());//这里就是js调用java端的具体实现

  }

  }

  class webviewClick implements wvClientClickListener {

  @Override

  public void wvHasClickEnvent() {

  // TODO Auto-generated method stub

学习啦在线学习网   Toast.makeText(getBaseContext(), "link be on click", 1000).show();

  }

  }

  }

  android js调用java方法(二)

学习啦在线学习网   JavaJsDemo.java

学习啦在线学习网   package com.demo.android.JavaJsDemo;

学习啦在线学习网   import android.app.Activity;

学习啦在线学习网   import android.os.Bundle;

学习啦在线学习网   import android.webkit.WebView;

  import java.util.ArrayList;

  import java.util.List;

  public class JavaJsDemo extends Activity {

学习啦在线学习网   /** Called when the activity is first created. */

  private WebView web;

  public List<String> list;

  @Override

学习啦在线学习网   public void onCreate(Bundle savedInstanceState) {

学习啦在线学习网   super.onCreate(savedInstanceState);

  initData();

  setContentView(R.layout.main);

  web = (WebView)this.findViewById(R.id.webview);

  //开启javascript设置

学习啦在线学习网   web.getSettings().setJavaScriptEnabled(true);

学习啦在线学习网   //把RIAExample的一个实例添加到js的全局对象window中

学习啦在线学习网   //这样就可以使用window.javatojs来调用它的方法

学习啦在线学习网   web.addJavascriptInterface(this, "javatojs");

  //加载网页

学习啦在线学习网   web.loadUrl("file:///android_asset/index.html");

  }

  void initData(){

学习啦在线学习网   list=new ArrayList<String>();

学习啦在线学习网   for(int i=0;i<5;i++){

  list.add("我是List中的第"+(i+1)+"行");

  }

  }

  /**

学习啦在线学习网   * 该方法将在js脚本中,通过window.javatojs.....()进行调用

学习啦在线学习网   * @return

  */

学习啦在线学习网   public Object getObject(int index){

学习啦在线学习网   return list.get(index);

  }

  public int getSize(){

学习啦在线学习网   return list.size();

  }

学习啦在线学习网   public void Callfunction(){

学习啦在线学习网   web.loadUrl("javascript: GetList()");

  }

  }

学习啦在线学习网   index.html

学习啦在线学习网   DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://xxx.w3.org/TR/html4/loose.dtd">

学习啦在线学习网   <html>

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  <title>demotitle>

  <script language="javascript">

学习啦在线学习网   function GetList(){

学习啦在线学习网   var i=window.javatojs.getSize();

  for(var n=0;n<i;n++){

  var jsdata= window.javatojs.getObject(n);//拿到activity里面的属性javadata

  var datalistdiv = document.getElementById("datalist"); //得到页面的div

学习啦在线学习网   pnode = document.createElement("p");//创建一个p标签,再建个textnode

学习啦在线学习网   tnode = document.createTextNode(jsdata);

  pnode.appendChild(tnode);//p中加入数据

  datalistdiv.appendChild(pnode);//div中键入新的p

  }

  }

  script>

  head>

  <body onload="javascript:window.javatojs.Callfunction()">//调用java方法

  <div id = "datalist">

学习啦在线学习网   this is a demo

  div>

  body>

学习啦在线学习网   html>

android js调用java方法

ajax调用java后台的方法,其实是通过url链接来访问。下面是学习啦小编为大家带来一篇ajax调用java方法,希望对大家有所帮助。 android js调用java方法(一) [java] view plaincopypublic class JsInterface { /*interface for javascript
推荐度:
点击下载文档文档为doc格式
374453