美文网首页
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