如何将html5程序打包成Android应用

如何将html5程序打包成Android应用,第1张

问题分析:

html5网站主要由html+css+js的形式组成,需要使用浏览器进行展现。

Android需要使用Java语言来开发,对于前端工程师来说,无疑是增加了很大的难度。

随后出现了很多打包工具,来协助我们将网页元素打包成手机app,将我们编写的html转化为Java语言。

解决方案:

推荐一款我们常用的打包工具:HBuilder。

该工具不仅提供了Android应用打包,还可以直接连接手机进行调试,配合HTML5+可以实现很多Android原生的功能。比如:扫码二维码,拍照,摇一摇等等。

具体 *** 作步骤:

1、真机调试

进入软件后,第一步点击“运行”,第二步点击“手机运行”,第三步选择已连接的手机,示例中我使用的是安卓模拟机进行连接的。市面上常用的几款安卓模拟机器都可以直接连接上。

按如上几个步骤 *** 作后,会自动执行打包并将应用安装在链接的手机(模拟器)中,可以 *** 作手机(模拟机)进行测试。

2、打包生成Android的安装格式apk文件

① 打开软件,选择发行->发行为原生安装包,随即打开下图窗口。

② 勾选Android复选框,如果使用Dcloud公用证书的话,可以直接进行打包,手机可以安装使用。如果需要上传发行到第三方应用平台的话,需要使用自有证书,自用证书可以使用JRE自带的创建和管理数字证书的工具Keytool来生成自有证书,生成过程是免费的。

勾选Android选项后,在下方表单中填写Android包名,为保证唯一性,可以使用自有网站域名的反写方式加上应用名称。如果使用自有证书的话,还需要填写证书别名,密钥密码,证书文件。

填写完毕后,点击打包,即可生成apk文件。

其他注意事项:

1、在开发过程中,不需要进行打包,应更多的使用真机调试,可以节约很多时间。

2、开发完毕后,尽可能在各种版本的android机器上做一下测试,因为一些网页的样式在不同的android版本中呈现的效果略有不同。

3、重新编辑一下html5网站代码,将一些网页功能转换为手机功能,比如网页元素的<a>标签跳转,就应该使用Webview来完成。可以解决页面切换白屏的问题,还可以提高网站在手机中的运行效率。

H5开发安卓界面需要注意以下三点:

(上)包括Android设备多分辨率的问题,Android中构建HTML5应用程序基础

(中)包括Android与JS之间的互动,Android处理JS的警告对话框等,Android中的调试

(下)包括本地储存在Android中的应用,地理位置的应用,离线应用的构建

进入正题

● Android设备多分辨率的问题

Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示

Android浏览器和WebView默认为mdpi。hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍

三种解决方式:1 viewport属性 2 CSS控制 3 JS控制

1 viewport属性放在HTML的<meta>中

html代码:

<span style="font-size: x-small"> <head>

<title>Exmaple</title>

<meta name=”viewport” content=”width=device-width,user-scalable=no”/>

</head></span>

meta中viewport的属性如下:

<span style="font-size: x-small"> <meta name="viewport"

content="

height = [pixel_value | device-height] ,

width = [pixel_value | device-width ] ,

initial-scale = float_value ,

minimum-scale = float_value ,

maximum-scale = float_value ,

user-scalable = [yes | no] ,

target-densitydpi = [dpi_value | device-dpi |

high-dpi | medium-dpi | low-dpi]

"

/>

</span>

2 CSS控制设备密度

为每种密度创建独立的样式表(注意其中的webkit-device-pixel-ratio 3个数值对应3种分辨率)

html代码:

<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />

<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />

<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.css" />

3 JS控制

Android浏览器和WebView支持查询当前设别密度的DOM特性

window.devicePixelRatio 同样值有3个(0.75,1,1.5对应3种分辨率)

JS中查询设备密度的方法

js代码:

if (window.devicePixelRatio == 1.5) {

alert("This is a high-density screen")

} else if (window.devicePixelRation == 0.75) {

alert("This is a low-density screen")

}

Android中构建HTML5应用

使用WebView控件 与其他控件的使用方法相同 在layout中使用一个<WebView>标签

WebView不包括导航栏,地址栏等完整浏览器功能,只用于显示一个网页。

你说的这个主要制作思路是使用响应式设计,结合html5和css的一些特性制作(主要是css3的媒体检查,根据不同视口载入不同样式),但制作出来的东西能否被称为手机app,这个还要看功能,如果你制作出来的东西能完成某些功能或者某种任务,这能被叫做webapp,如果不能就不要叫什么app,最多算是一种手机展示方式。

至于安卓和ios版本的问题,考虑主要是图片分辨率的问题,区别不大。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7265142.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存