1. 程式人生 > >Java 和webview 的互動

Java 和webview 的互動

html程式碼

<html>
 <head>
  <title>提交重置事件</title>
  <script type="text/javascript">
    /* 
        1 提交事件  onsubmit
            1.1 是form的事件
            1.2 onsubmit 必須寫成 return 方法名
            1.3 方法必須是有返回值的,而且返回值只能是true false

    */
    function _onsubmit(){
        var uname = document.getElementsByName("uname"
)[0].value; var uclass= document.getElementsByName("uclass")[0].value; if(uname == ''){ javascript:window.javaCode.toast("姓名或班級不能為空"); return false; }else{ javascript:window.javaCode.setinfo(uname,uclass); } return true; }
</script> </head> <body> <form action="" method="" onsubmit="return _onsubmit()" > 姓名:<input type="text" name="uname" /><br/> 班級:<input type="text" name="uclass" /><br/> <input type="submit" value="提交" /> </form> </body
>
</html>
java程式碼

public class MainActivity extends Activity {
    private WebView wv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        initWebView();
        wv.loadUrl("file:///android_asset/jstest.html");
        //引數一:   引數二:js提供物件名
        wv.addJavascriptInterface(new Object(){
            //提供方法供javascript 呼叫
            // 對於4.0以後版本,添加註解
            @android.webkit.JavascriptInterface
            public void toast(String str){
                Toast.makeText(MainActivity.this,str,0).show();
            }
            @android.webkit.JavascriptInterface
            public void setinfo(String uname,String uclass){
                Toast.makeText(MainActivity.this,uname+":"+uclass,0).show();
            }
        },"javaCode");
    }
    //初始化控制元件
    private void init() {
        wv=(WebView)findViewById(R.id.wv);
    }
    //初始化WebView
    private void initWebView() {
        //設定瀏覽器不跳轉
        wv.setWebChromeClient(new WebChromeClient());
        WebSettings set = wv.getSettings();
        //支援javascript
        set.setJavaScriptEnabled(true);
    }
    public void get(View view) {
        //呼叫javascript 裡的函式
        //javascript:_onsubmit() 固定格式 _onsubmit() 函式名
        wv.loadUrl("javascript:_onsubmit()");
    }
}

相關推薦

Java webview互動

html程式碼 <html> <head> <title>提交重置事件</title> <script type="text/javas

關於javajavascript互動中的日期處理問題彙總

javascript部分 分兩種情況: —-後臺接收long型 ——–js處理 (new Date()).getTime()//Date轉long,預設new Date()可以把當前日期時間精確到秒 輸出結果:1455862677881//即2016/2/19 14:17:5

Android中JavaJavaScript互動 Android原生html互動

1.WebView開啟JavaScript指令碼執行 WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); 2.WebView設定

安卓混合開發——原生JavaH5互動,保證你一看就懂!

** 在Android開發中,越來越多的商業專案使用了Android原生控制元件與WebView進行混合開發,當然不僅僅就是顯示一個WebView那麼簡單,有時候還需要本地Java程式碼與HTML中的JavaScript進行互動,Android也對互動做了很好的封裝,所以很容易實現例如:點選網頁中的按鈕An

使用JNI在JAVAC++之間進行互動操作

原文連結地址: https://library.vuforia.com/articles/Solution/How-To-Communicate-Between-Java-and-C-using-the-JNI 本文旨在描述如何使用JNI(Java Native Interface)實現JA

JNI 之Javac/c++互動,提升Java變成效率

JNI 主要是java和c++相互呼叫,java可以把效率低,耗時操作比較嚴重的邏輯放在c++裡面。可以大大提升效率和節省資源。 下面是java呼叫的windows下的 c++的dll動態庫,還有一種是標準c的linux的so動態庫。工程結構圖如下: 第一步:編寫Java程式

webViewjs互動

1.匯入網路許可權 2.View佈局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res

xamarin.form 使用WebViewAPP互動

<WebView Source="https://www.baidu.com"> </WebView>   可以用後臺程式碼和webview互動,例如webview.Eval("alert('hello')"); xamarin.form原生webvi

javapython使用grpc互動

本文實現Java和Python之間通過grpc互動,只使用最基本的單項rpc。 一、Java實現grpc 使用idea新建maven專案,專案目錄如下 專案的pom.xml檔案如下: <?xml version="1.0" encoding="UTF

java 後臺android 互動 保持session通訊

主要實現是:使用者登入成功後返回sessionID 給app ,app 上需要使用者登入後才能操作的,在每次請求的時候把sessionID 當成引數傳過來。 web.xml程式碼:(主要是建立一個監聽) <listener> <listener-clas

android java層直接kernel互動的最快的方法

http://blog.csdn.net/zengkexu/article/details/8805339  android java 和kernel 的互動方式  按照常規的要通過JNI實現, 然後jni 呼叫HAL的IOCTL ,或者類似Vold 中建立netli

Android webViewjs互動

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layo

javapython之間資料互動,不同語言間傳輸資料:使用RabbitMQ

java和python之間資料互動,不同語言間傳輸資料:使用RabbitMQ 問題描述 方法 方法一:java直接執行python指令碼.py檔案,把資料放到引數裡傳遞 方法二:通過第三方檔案作為中間站 方法三:使用訊息佇列的方式,

JNI介面實現JavaC的互動

        當面對帶有原生代碼的 Java 的應用程式時,程式設計師問的最通常的問之一,是在 Java 程式語言中的資料型別怎樣對映到本地程式語言C和C++中的資料型別。實際上,大多數程式將需要傳遞引數給本地方法,和也從本地方法接受結果。 1、基本型別的對映      

Android開發之WebViewJS互動詳解

Android提供了一個很強大的WebView控制元件用來處理Web網頁,而在網頁中,JavaScript又是一個很舉足輕重的指令碼。本文將介紹如何實現Java程式碼和Javascript程式碼的相互呼叫。 如何實現 實現Java和js互

JavaC/C++互動的位元組工具類

package cn.com.insigma.utils; import java.util.Calendar; import java.util.Date; /** * 位元組工具類 * @author jingxuan */ public class Byt

關於webview最詳細講解(包含 h5 android 互動

http://blog.csdn.net/qq_24530405/article/details/52067474 為什麼要學習Android與H5互調? 微信,QQ空間等大量軟體都內嵌了H5,不得不說是一種趨勢。Android與H5互調可以讓我們的實現混合開發,至於

iOS原生WebView中JavaScriptOC互動

在iOS開發中很多時候我們會和UIWebView打交道,目前國內的很多應用都採用了UIWebView的混合程式設計技術,最常見的是微信公眾號的內容頁面。前段時間在做微信公眾平臺相關的開發,發現很多應用場景都是利用HTML5和UIWebView來實現的。 注意事項 (

WebView中jsandroid互動遇到的坑

js呼叫Android程式碼 //android程式碼 private int load_state = -1;//記錄當前的載入狀態 private WebView mWebView; @SuppressLint("JavascriptInterface"

jspjava前後臺的互動

後臺返回前臺 1,java生成infoStuString private String infoStuString;public String getInfoStuString() { return infoStuString; } public void setInfoS