亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

                    Android中Java和JavaScript交互

                    admin
                    2014年11月24日 21:52 本文熱度 7253
                    Android提供了一個很強大的WebView控件用來處理Web網(wǎng)頁,而在網(wǎng)頁中,JavaScript又是一個很舉足輕重的腳本。本文將介紹如何實現(xiàn)Java代碼和Javascript代碼的相互調(diào)用。

                    如何實現(xiàn)


                    實現(xiàn)Java和js交互十分便捷。通常只需要以下幾步。



                    • WebView開啟JavaScript腳本執(zhí)行

                    • WebView設置供JavaScript調(diào)用的交互接口。

                    • 客戶端和網(wǎng)頁端編寫調(diào)用對方的代碼。

                    本例代碼


                    為了便于講解,先貼出全部代碼


                    Java代碼

                    lineos:false





                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    23
                    24
                    25
                    26
                    27
                    28
                    29
                    30
                    31
                    32
                    33
                    34
                    35
                    36
                    37
                    38
                    39
                    40
                    41
                    42
                    43
                    44
                    45
                    46
                    47
                    48
                    49
                    50
                    51
                    52
                    53
                    54
                    55
                    56
                    57
                    58
                    59
                    60
                    61
                    62
                    63
                    64
                    package com.example.javajsinteractiondemo;

                    import android.annotation.SuppressLint;
                    import android.app.Activity;
                    import android.os.Bundle;
                    import android.util.Log;
                    import android.view.Menu;
                    import android.webkit.JavascriptInterface;
                    import android.webkit.WebChromeClient;
                    import android.webkit.WebSettings;
                    import android.webkit.WebView;
                    import android.webkit.WebViewClient;
                    import android.widget.Toast;

                    public class MainActivity extends Activity {
                    private static final String LOGTAG = "MainActivity";
                    @SuppressLint("JavascriptInterface")
                    @Override
                    protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
                    final WebView myWebView = (WebView) findViewById(R.id.myWebView);
                    WebSettings settings = myWebView.getSettings();
                    settings.setJavaScriptEnabled(true);
                    myWebView.addJavascriptInterface(new JsInteration(), "control");
                    myWebView.setWebChromeClient(new WebChromeClient() {});
                    myWebView.setWebViewClient(new WebViewClient() {

                    @Override
                    public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    testMethod(myWebView);
                    }

                    });
                    myWebView.loadUrl("file:///android_asset/js_java_interaction.html");
                    }

                    private void testMethod(WebView webView) {
                    String call = "javascript:sayHello()";

                    call = "javascript:alertMessage(\"" + "content" + "\")";

                    call = "javascript:toastMessage(\"" + "content" + "\")";

                    call = "javascript:sumToJava(1,2)";
                    webView.loadUrl(call);

                    }

                    public class JsInteration {

                    @JavascriptInterface
                    public void toastMessage(String message) {
                    Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
                    }

                    @JavascriptInterface
                    public void onSumResult(int result) {
                    Log.i(LOGTAG, "onSumResult result=" + result);
                    }
                    }

                    }

                    前端網(wǎng)頁代碼

                    lineos:false js_java_interaction.html





                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    <html>
                    <script type="text/javascript">
                    function sayHello() {
                    alert("Hello")
                    }

                    function alertMessage(message) {
                    alert(message)
                    }

                    function toastMessage(message) {
                    window.control.toastMessage(message)
                    }

                    function sumToJava(number1, number2){
                    window.control.onSumResult(number1 + number2)
                    }
                    </script>
                    Java-Javascript Interaction In Android
                    </html>


                    調(diào)用示例


                    js調(diào)用Java


                    調(diào)用格式為window.jsInterfaceName.methodName(parameterValues) 此例中我們使用的是control作為注入接口名稱。

                    lineos:false





                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    function toastMessage(message) {
                    window.control.toastMessage(message)
                    }

                    function sumToJava(number1, number2){
                    window.control.onSumResult(number1 + number2)
                    }

                    Java調(diào)用JS


                    webView調(diào)用js的基本格式為webView.loadUrl(“javascript:methodName(parameterValues)”)


                    調(diào)用js無參無返回值函數(shù)

                    lineos:false





                    1
                    2
                    String call = "javascript:sayHello()";
                    webView.loadUrl(call);

                    調(diào)用js有參無返回值函數(shù)


                    注意對于字符串作為參數(shù)值需要進行轉義雙引號。

                    lineos:false













                    該文章在 2014/11/24 21:52:29 編輯過
                    1
                    2
                    String call = "javascript:alertMessage(\"" 
                    關鍵字查詢
                    相關文章
                    正在查詢...
                    點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
                    點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
                    點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
                    點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
                    Copyright 2010-2025 ClickSun All Rights Reserved