zoukankan      html  css  js  c++  java
  • 安卓和html的互相调用

    1.写html和安卓布局

     <Button
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <WebView
            android:id="@+id/webview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </WebView>
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <input id="input">
    <button id="button" onclick="sayHello()">按钮</button>
    
        <script>
            function sayHello(){
                var name =document.getElementById("input").value;
                app.sayHello(name)
            }
    
            function showName(name){
               document.getElementById("input").value=name;
    
    
            }
        </script>
    </body>
    </html>
    

      2.编写activity

        private WebView webView;
        private WebAppInterface webAppInterface;
    

      

     class WebAppInterface{
            private Context mContext;
            public WebAppInterface(Context context){
                this.mContext=context;
            }
    
            @JavascriptInterface
            public void sayHello(String name){
                Toast.makeText(mContext,name,Toast.LENGTH_SHORT).show();
            }
    
            public void showName(final String name){
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        webView.loadUrl("javascript:showName('"+name+"')");
                    }
                });
            }
    
        }
        webView=findViewById(R.id.webview);
            String url ="http://a.st";
            webView.loadUrl(url);
    
            webView.getSettings().setJavaScriptEnabled(true);
            webAppInterface=new WebAppInterface(this);
            webView.addJavascriptInterface(webAppInterface,"app");
    
            Button button =findViewById(R.id.btn);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    webAppInterface.showName("wirhiutrhi");
                }
            });

    要看下webview控件的setting配置,来更好的设置

    可以实现互相调用,可以做hybird拉

  • 相关阅读:
    如何隔離物件之間的相依性
    Replace Temp with Query
    Replace conditional with Polymorphism
    Switch to strategy
    Microsoft Visual Studio 插件
    Windows Phone 8 开发系列(持续更新中)
    Windows Phone 如何振动手机?
    Windows Phone 如何在程序中播放提示声音?
    实现一个纵向排列的 ListBox ,并具有操作按钮
    多个 App 间启动
  • 原文地址:https://www.cnblogs.com/norm/p/8284377.html
Copyright © 2011-2022 走看看