安卓Html5编程(一)

最近复习html5+css3的编程,发现很多知识都有点模糊,哎,突然感悟好记性不如烂笔头的真理 。废话不多说,开始今天的学习之路:

安卓端加载html5的配置

  • 首先配置布局为WebView。

  • web.getSettings().setJavaScriptEnabled(true);//此处打开加载js脚本,如果不设置会直接忽略js脚本而不执行。

  • web.setWebChromeClient(new WebChromeClient(){});//有人说我自己的alert()方法怎么不弹出,原因你是没设置这里。复写空方法就行。

  • web.loadUrl(“http://192.168.1.127/Myhtml5web/MyHtml.html“);//这里写上自己的网页地址。如果是在安卓工程地址:
    myWebView.loadUrl(” file:///android_asset/demo.html “);
    //打开本地sd卡内的demo.html文件
    myWebView.loadUrl(“content://com.android.htmlfileprovider/sdcard/demo.html”);

  • 如果出现JS加载的时候页面还没加载完毕的情况:
    web.setWebViewClient(new WebViewClient(){
    @Override
    public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    }
    });

到此所有的配置结束,下面介绍安卓与html5的通信,也是本文章的核心地方.


html5与安卓通信

  1. html5调用安卓

    • 首先在安卓端设置: web.addJavascriptInterface(new testjs(), “t”);
      第一个参数:是个object 对象,就是传入的对象载体
      第二个参数:是这个对象外部调用的又名。

    • 第二步,实现testjs类

“`ruby
class testjs {
@JavascriptInterface
public void test() {

        Toast.makeText(Web.this, "周强最帅", 
        0).show();
    }

}
```
** @JavascriptInterface这个注解在4.2以后必须加上,否则会报错**
  • 第三步,在html5调用:
    <h2 onclick="javascript:t.test()">
    是不是很简单,这个方法可以传递参数的,和java方法一样的

    1. 安卓调用html5的方法

      • 首先在html5定义方法

         function html5() {
            alert("我还是最帅的");
        } 
      • 在安卓端调用

        web.post(new Runnable() {
            @Override
            public void run() {
                web.loadUrl("javascript:html5()");
            }
        });

        至此安卓与html5互相通信结束。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑着巨人找巨人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值