APP封装从一门开始
一门提供APP封装底层开发框架,一键在线APP封装,200+原生APP模块,2000+JS映射接口按需自助封装

app嵌入h5怎么制作

嵌入H5页面是目前许多APP应用中常见的功能之一,它可以使应用的交互更加丰富,同时也能够给用户带来更好的用户体验。一般来说,H5页面可以通过WebView和jsBridge两种技术嵌入到APP中。本文将详细介绍这两种实现方式。

一、通过WebView嵌入H5页面

1. WebView介绍

WebView是Android系统提供的一个内置浏览器控件,可以在应用中显示浏览器内容,支持HTML、CSS、JavaScript等标准语言。WebView可以加载远程网页,也可以加载本地HTML文件。

在Android中,我们可以通过xml或者Java代码来创建WebView控件,使用方法类似于普通的View控件。我们可以设置WebView的各种属性,包括宽度、高度、是否显示水平滚动条、是否启用缩放等等。

2. WebView的嵌入方式

将WebView嵌入到APP中需要经过以下几个步骤:

(1)引入WebView控件:在布局文件或者Java代码中引入WebView控件。

(2)设置WebView属性:设置WebView的一些属性,比如宽度、高度等。

(3)加载H5页面:通过loadUrl()方法加载H5页面。

下面是一个简单的示例代码:

```java

public class MainActivity extends AppCompatActivity {

private WebView webView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

webView = findViewById(R.id.webView);

webView.getSettings().setJavaScriptEnabled(true); // 开启JavaScript支持

webView.loadUrl("https://www.baidu.com");

}

}

```

此代码可以在界面上加载百度网页。我们首先在布局文件中添加一个WebView控件,然后在Java代码中引用该控件,并设置了一些属性,如启用JavaScript等,最后通过loadUrl()方法加载了百度网页。

3. WebView的交互

WebView默认是不支持JavaScript交互的,如果需要与JavaScript交互,需要开启JavaScript支持。在Android中,实现JavaScript与Native交互可以通过jsBridge的方式来实现。

二、通过jsBridge嵌入H5页面

1. jsBridge介绍

jsBridge 是一种用于解决 WebView 与 Native (Java 代码) 之间通信的方式,通常由 Native 端的 Java 代码和 Javascript 代码构成。

jsBridge 可以实现普通的 WebView 的所谓方法调用(JavaScriptInterface)所实现的所谓的 "桥接" 效果,但在此基础上扩展了如异步回调和传递JS对象等功能库实现。同时提供了方法安全检查、处理异常的能力。

2. 实现步骤

搭建原生项目:

分为创建一个 Android Studio 项目和在项目中创建 assets\www 目录,将 H5 页面的 JS、CSS、图片等资源文件放到该目录下。

集成 jsBridge:

在项目中集成 jsBridge,jsBridge 也可以使用 gradle 依赖上的方式进行集成。

加载 H5 页面:

在 MainActivity.java 的 onCreate() 方法中加载 H5 页面,页面的 URL 为本地 h5 页面的位置。为了将本地 h5 页面存在 assets\www 目录下的 index.html 页面作为 html 文件来使用,可以这样:

webView.loadUrl("file:///android_asset/www/index.html");

完整 jsBridge 代码实现步骤:

添加 Polyfill

```java

webView.loadUrl("javascript:" + IOUtils.toString(getActivity().getAssets().open("js/WebViewJavascriptBridge.js"), "UTF-8"));

```

注册 JS Handler

```java

bridge.registerHandler("onButtonClick", new BridgeHandler() {

@Override

public void handler(String data, CallBackFunction function) {

Toast.makeText(getActivity(), data, Toast.LENGTH_SHORT).show();

}

});

```

调用 JS Handler

```java

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String data = "Hello, jsBridge!";

bridge.callHandler("onButtonClick", data, new CallBackFunction() {

@Override

public void onCallBack(String data) {

Toast.makeText(getActivity(), data, Toast.LENGTH_SHORT).show();

}

});

}

});

```

三、总结

WebView 和 jsBridge 均可用于在 APP 中嵌入 H5 页面。WebView 需要逐层嵌套,逐层加载页面,实现难度较小,但是它的性能相对较低,而且在页面跳转时有一定的延迟。而 jsBridge 所需要的实现初期就较为困难,需要认真梳理代码的逻辑和通信机制,但对于性能的控制和调用来说相对较低。因此,在实际的开发过程中需要针对需求进行选择,选用最优的实现方式。


相关知识:
原生 h5的app开发框架
原生 H5 应用开发框架,其实就是一款便于开发人员创建原生 H5 应用的工具,可以让开发者使用 H5 技术开发出原生应用。这些框架的本质是让开发者利用 HTML、CSS 和 JavaScript 编写出的页面,以原生应用的形式发布到各大应用商店,并在各大平
2023-05-26
什么app可以免费做h5
H5,即HTML5,是一种用于创建网页和网应用程序的标准语言。使用H5技术可以创建精美的网页,使用户能够在不同设备上获得相同的使用体验。H5技术的应用非常广泛,从Web游戏到视频,包罗万象。许多人都希望能够使用H5技术来制作自己的网页或者应用程序,但是可能
2023-05-26
青海h5开发app
H5开发App是一种通过HTML5网页技术来开发和构建App的方法。它允许开发人员使用Web技术构建Native应用程序,减少了开发和构建App的时间和成本。此外,H5开发的App也可以跨平台运行,为用户提供更好的用户体验。那么在青海,如何进行H5开发Ap
2023-05-26
免费h5页面制作软件app
近年来,随着互联网技术和移动设备的发展,H5页面逐渐成为互联网应用开发的重要基础。而为了更好地满足市场需求,一些厂商推出了免费的H5页面制作软件,方便用户快速制作H5页面。下面本文将为大家介绍几款免费的H5页面制作软件。1. MagicHTMLMagicH
2023-05-26
h5制作软件app还有哪些
HTML5制作软件app是一种使用HTML5技术开发应用的软件,这种技术减少了不必要的插件和扩展保持卓越的性能,还允许程序员在一个点开发单一代码版本,以便在不同的设备上运行,这种跨平台的开发方式已经成为了业界趋势。HTML5技术的快速发展已经产生了数百个开
2023-05-25
h5开发电视app
随着智能电视市场的普及,越来越多的开发者将目光投向电视app开发。h5技术因其跨平台、易于维护、开发成本较低等优势,也成为开发电视app的一种选择。本文将介绍h5开发电视app的流程、技术要点和注意事项。## 电视app开发流程电视app开发的基本流程包括
2023-05-25
h5开发app的好处
近年来,随着移动互联网的迅猛发展,越来越多的企业开始关注移动应用的开发。而在移动应用开发的选择上,H5开发成为热门的选择之一。那么,H5开发App的好处是什么?我们来具体了解一下。H5开发是一种基于Web技术的移动应用开发方式。它采用HTML5、CSS3、
2023-05-25
h5地图app开发框架
随着手机硬件、网络技术、地理信息技术的飞速发展,基于地图的应用越来越多,而H5地图App开发框架应运而生。H5地图App开发框架是一个基于HTML5标准的移动Web应用框架,能够方便快捷地开发出功能丰富、体验良好的地图应用。它主要包括以下几个方面:1.地图
2023-05-25
h5打包app清理缓存
随着移动互联网的普及,APP已经成为人们日常生活中不可或缺的一部分。然而,由于APP的使用频繁,就会导致很多缓存文件和垃圾文件的产生,这些文件占用了用户的存储空间,而且还会影响APP的运行速度和性能。因此,清理APP的缓存成为了一个非常重要的问题。在本篇文
2023-05-25
h5打包的app如何上架
H5打包的App是指利用Web技术开发App,并将其打包成可以在手机上运行的本地应用。这种开发模式成为Hybrid开发(混合式开发)模式。所以,H5打包的App看似是一个Native程序,但实际上是将HTML5、CSS3、JavaScript等Web技术组
2023-05-25
app制作用h5制作
随着移动互联网的快速发展,越来越多的企业和个人开始注重移动应用和H5页面的开发。在过去,开发移动应用一般需要掌握多种语言和技术,如Java、Swift、Objective-C等。而现在,企业和开发者可以利用基于HTML5的Hybrid开发技术,通过Web技
2023-05-25
app开发用h5好还是原生
App开发是一个颇为复杂的过程,需要开发者对不同技术、平台、语言都有深入的理解。在选择开发方式时,开发者通常会面临H5和原生开发的选择。那么,究竟是用H5好还是原生好呢?1. H5开发H5即指基于HTML、CSS、JavaScript等技术开发的Web应用
2023-05-25
©2015-2021 一门APP yimenapp.com  川公网安备 51019002001185号 蜀ICP备17005078号-3