美文网首页
Android H5开发,这可能是伪装的“混合开发”

Android H5开发,这可能是伪装的“混合开发”

作者: 刘坤林 | 来源:发表于2020-04-08 16:54 被阅读0次

    以前有接触过一下Android H5开发,但后来个人看着没什么用,就放弃了,知道现在(2020年4月8日)我意识到了事情的严重性,很多app都需要用到h5了啊,可我本行并不是写html。。。没办法,时代这样发展,那就这样走吧。

    先看效果图吧:

    效果图

    新建一个Android项目,然后创建一个webView控件,配置如下

    WebSettings webSettings = webView.getSettings();

    webSettings.setJavaScriptEnabled(true);//打开js支持

    webView.addJavascriptInterface(new JsInteration(), "android");

    webView.setWebViewClient(new WebViewClient());

    webView.setWebChromeClient(new WebChromeClient());

    //然后加载一个html文件,或者是远程文件也可以

    webView.loadUrl(urlRemoteLogin);    //远程文件

    webView.loadUrl("file:///android_asset/files/index.html");    //本地文件,该文件存在于下图文件夹中

    index的位置

    然后,为了让html文件能调用得了Java方法,上文提到的别名“android”是必要的,另外还需要一个类。

    /** * 提供给H5访问的方法 * 方法前一定要写@JavascriptInterface,否则H5调用不到 */

    public class JsInteration {

    @JavascriptInterfacepublic String back() { return "Java方法返回当前时间:" + sdf.format(new Date());}@JavascriptInterfacepublic String login(String name, String pwd) { return loginByPwd(name, pwd);}@JavascriptInterfacepublic String register(String name, String pwd) { return registerByNamePwd(name, pwd);}

    }

    由于编辑器问题,我还是截图吧,一目了然

    JsInteration 类的方法

    该类中的方法有自己定义,html中可直接调用,调用方法

    window.android.login(name,pwd);

    其中android,是我们自己定义的,login()这个方法也是我们自己添加的。

    这样就能实现了。

    相关文章

      网友评论

          本文标题:Android H5开发,这可能是伪装的“混合开发”

          本文链接:https://www.haomeiwen.com/subject/kpntmhtx.html