安卓开发

android混合开发,学习android软件开发

微信,微博以及现在市面上大量的软件使用内嵌了H5页面;有些外包公司,为了节约成本,采用Android内嵌H5模式开发,便于在iOS上直接复用页面, 从而提高开发效率。

本质是:Java代码和Java调用

H5页面,只是Html的扩展,Java用来处理页面的逻辑

Android和H5互调案例

WebView的基本设置:

Java调用js原理就是Java代码调用了Js里面的函数。

二.Java调java

1.在初始化webview代码中配置Java接口:

2.在该Activity中实现Java接口类:

3.Java中调用java代码的核心代码段:

点击js页面的button,将执行js的onclick方法(onclick=”window.Android.showToast()”),根据该Android标示与webview配置接口方法的第二个参数相匹配,然后执行js接口实现类的showToast()方法。从而实现js代码调用java代码。

H5页面调用Android播放视频

基本思路和上面的例子(执行流程)一样,业务逻辑层面来说播放视频主要是从H5页面点击播放跳转(把视频播放的url传递给Java层)并触发Java实现播放视频的代码即可。

1. webview中的核心配置:

//设置支持js调用javawebView.addJavaInterface(newAndroidAndJSInterface(),”android”);

2.在该Activity中实现Java接口类:

3.Java中调用java代码的核心代码段:

java:android.playVideo(itemid, videourl, itemtitle);

H5页面调用Android拨打电话

思路都是一样的,点击H5页面把电话号码传到java层并调用拨号核心代码即可。

在该Activity中实现Java接口类:

@JavaInterface

public void call(String phone) {

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” + phone));

if (ActivityCompat.checkSelfPermission(JsCallJavaCallPhoneActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

startActivity(intent);

1.如果调用如下方法时候报错,那么可以在Java接口类的具体实现方法上面加注解:@JavaInterface,或者把targetSdkVersion 改为 16(一般不适用)

//设置支持js调用javawebView.addJavaInterface(newAndroidAndJSInterface(), “Android”);

2.该申请的权限不要忘了在AndroidManifest.xml中加上。

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注