下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

讲解如何利用HTML5开发android教程

作者:课课家教育     来源: http://www.kokojia.com点击数:1344发布时间: 2016-05-09 11:50:57

标签: 开发android安卓HTML5

  HTML5是万维网的核心语言以及标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改,且HTML5手机应用中存在最大优势就是可以在网页上直接调试和修改,能够把原先应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行,也有许多手机杂志客户端是基于HTML5标准,开发人员可以轻松调试修改。那么本文只要讲解如何利用HTML5开发Android

  ● Android设备多分辨率的问题

  在Android浏览器默认的情况下预览模式浏览,会缩小页面W,ebView中则会以原始大小显示。

  然而在Android浏览器和WebView默认情况若为mdpi。hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍。

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

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

 

  Html代码

讲解如何利用HTML5开发android教程_开发android_安卓_HTML5_课课家

  在meta中的viewport属性设置如下,

  Html代码

meta中viewport的属性

     2 CSS控制设备密度

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

  Html代码

密度创建独立的样式表

  在一个样式表中,可以指定不同的样式,

  Html代码

密度创建独立的样式表代码

  Html代码

Html代码

  3 JS控制

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

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

  JS中查询设备密度的方法

  Js代码

JS中查询设备密度的方法

  ● Android中构建HTML5应用

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

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

  在WebView中加载Web页面,使用loadUrl()

  java代码

使用loadUrl()

  注意在manifest文件中加入访问互联网的权限:

  Xml代码

访问互联网的权限

  如果在Android中点击一个链接,其默认的是调用应用程序来启动,那么因此WebView是需要代为处理这个动作,其是通过WebViewClient方法,

  Java代码设置WebViewClient

  然而这个WebViewClient对象是可以自己扩展的,例如

  Java代码

扩展WebViewClient对象

  之后:

  Java代码

WebView代码解释

  考虑到用户习惯上的的问题,我们需要将WebView表现得更像一个浏览器,也就是需要可以回退历史记录

  因此需要覆盖系统的回退键 goBack,goForward可向前向后浏览历史页面

  Java代码

回退键 goBack

  webSetting在这里的用处是非常大,其是可以开启很多设置,在之后的本地存储,地理位置等之中都会使用到,

     1 在JS中调用Android的函数方法

      首先,是需要在Android程序中建立接口,

  Java代码

Android程序中建立接口

  Java代码

 JS全局对象

  在Javascript中调用

  Js代码

JavaScript中调用

  2 在Android中调用JS的方法,在JS中的方法:

  Js代码

Android中调用JS的方法

  在Android调用该方法,

  Java代码

Android调用该方法

  3 Android中处理JS的警告,对话框等在Android中处理JS的警告,对话框等需要对WebView设置WebChromeClient对象

  Java代码

对WebView设置WebChromeClient对象设置WebChromeClient对象WebChromeClient对象

  ● Android中的调试通过JS代码输出log信息

  Js代码

输出log信息

  在WebChromeClient中实现onConsoleMesaage()回调方法,让其在LogCat中打印信息

  Java代码

LogCat中打印信息

  以及

  Java代码

onConsoleMesaage()回调方法

  *ConsoleMessage 还包括一个 MessageLevel 表示控制台传递信息类型。 您可以用messageLevel()查询信息级别,以确定信息的严重程度,然后使用适当的Log方法或采取其他适当的措施。

     ● HTML5本地存储在Android中的应用HTML5提供了2种客户端存储数据新方法:localStorage 没有时间限制sessionStorage 针对一个Session的数据存储

  Js代码

Js代码解释

  WebStorage的API:

  Js代码

WebStorage的API

  在Android中进行操作

  Java代码

Android中进行操作

  在JS中按常规进行数据库操作

  Js代码

JS中按常规进行数据库操作JS中进行数据库操作JS中按常规操作按常规进行数据库操作JS操作

  ● HTML5地理位置服务在Android中的应用Android中

  Java代码

HTML5地理位置服务

  在Manifest中添加权限

  Xml代码

Manifest中添加权限

  HTML5中 通过navigator.geolocation对象获取地理位置信息常用的navigator.geolocation对象有以下三种方法:

  Js代码

获取地理位置信息常用的navigator.geolocation对象

  其中success_callback_function为成功之后处理的函数,error_callback_function为失败之后返回的处理函数,参数position_options是配置项是在JS中的代码,

  Js代码

参数position_options是配置项JS中的代码

  其中position对象包含很多数据 error代码及选项 可以查看文档● 构建HTML5离线应用需要提供一个cache manifest文件,理出所有需要在离线状态下使用的资源例如

  Manifest代码

Manifest代码

  在html标签中声明 HTML5离线应用更新缓存机制分为手动更新和自动更新2种自动更新:在cache manifest文件本身发生变化时更新缓存 资源文件发生变化不会触发更新手动更新:使用window.applicationCache

  Js代码

使用window.applicationCache

  在线状态检测HTML5 提供了两种检测是否在线的方式:navigator.online(true/false) 和 online/offline事件。在Android中构建离线应用,

  Java代码

Android中构建离线应用

  综上文,主要是通过不大部分讲解利用HTML5开发android,第一部分是 Android设备多分辨率的问题,从viewport属性、CSS控制设备密度和JS控制这三方面类介绍,第二部分是 Android中构建HTML5应用,其实首先是在空间的设置,还有在JS中调用Android的函数方法、在Android中调用JS的方法以及Android中处理JS的警告中介绍,第三部分是Android中的调试通过JS代码输出log信息,第四部分是HTML5本地存储在Android中的应用HTML5提供了2种客户端存储数据新方法,和最后一部分是HTML5地理位置服务在Android中的应用Android中。

赞(26)
踩(3)
分享到:
华为认证网络工程师 HCIE直播课视频教程