android调用html里的函数,讲解如何利用HTML5开发android教程

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的中

Html代码

333381b86e72d162824692618c1a8b05.png

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

Html代码

73b3d762b873e9e1b7e8495b2b6d5e28.png

2 CSS控制设备密度

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

Html代码

a372f1fead58816b1d8e5c605d2615f6.png

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

Html代码

ffcd26ac6e6a9f53a99210f88179bdbc.png

Html代码

6fea9d214aa2631745615335a066edfa.png

3 JS控制

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

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

JS中查询设备密度的方法

Js代码

eb111d3360ae25e4c4cafa5e242d014a.png

● Android中构建HTML5应用

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

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

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

f2a78cabe192a2ae865331bc0bb4c3f7.png

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

Xml代码

0e2ebf05b03a5a15a956ecedf7e97e82.png

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

Java代码

08bcbc874e7989a26add64c41d1afeb2.png

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

Java代码

41adb004ed77f3e3524862c8b2614e67.png

之后:

Java代码

61a61f357e2ba25a0f6c50c613c471e4.png

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

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

Java代码

2f9e7579445968148daf0e91f9199926.png

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

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

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

Java代码

76a154bebd0d12a723cbc551a66d1c31.png

Java代码

8effc8d82bfecacb31ee7e3b2a39660f.png

Js代码

272c8c46b727c00c2e2b7166837a0292.png

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

Js代码

d0535f3cfbae8dbdb484d7aba84c653e.png

在Android调用该方法,

Java代码

5670a6796f46a46f4747bbd90af16389.png

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

Java代码

ad54cfaca5c817c78eda596f402c3345.png

4cf3b6d154c55fdc9b96ce28226efa98.png

d66e207b3986dcaff0a59051778ac2cf.png

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

Js代码

8186db36a7857593cfa6a7cf5f1bc62c.png

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

Java代码

39b75b68e09c961184c31b055b47c263.png

以及

Java代码

57d04d69bb53c12931afb42ec8899d6c.png

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

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

Js代码

c0ff9b31acf9ec9d00e06a99712460f4.png

WebStorage的API:

Js代码

1ceb1dc1b3cceb8dcb172012cb408bdc.png

在Android中进行操作

Java代码

17969f8bbda85d1ff6c67d7408f06f74.png

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

Js代码

e923fb4ea078e27e079bb858ebc9abe1.png

f6a962578e1918d72a889e089162e2f6.png

9cf0e9e3fbb473dd1f81f82878489994.png

11a8074f3d04c213fcd27e1cf09dbb5a.png

75aa369214573643d7d162f527c78dfb.png

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

Java代码

73da3f1f21e48877c3452e8a1400d204.png

在Manifest中添加权限

Xml代码

850ff942d9e23b93514d50c895526b32.png

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

Js代码

faff735eee2da87f7ce2b504ea7c8d63.png

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

Js代码

a2d369a74b6c02384cb549c34c10a79b.png

084c140d4167239b4e447bbc707bdeee.png

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

Manifest代码

f8a7095320149ec83cf4dd1bc9739490.png

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

Js代码

8dcbb3e054733ba0dfeaee6a14672712.png

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

Java代码

9d0684c5c3881e6d6c561e6403887df4.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C开发Android教程PDF是指以C语言开发Android应用的教程,并提供以PDF格式为载体进行传播和阅读。C是一种广泛应用的编程语言,它具有高性能和灵活性,因此在开发Android应用时使用C语言能够提高应用程序的性能和效率。 C开发Android教程PDF主要包含以下内容: 1. Android开发环境的安装:详细介绍如何安装配置Android Studio和相关的开发工具,以及如何设置开发环境。 2. C语言基础知识:介绍C语言的基本语法和语法规则,包括变量、函数、控制语句等,为后续的Android开发做好基础。 3. JNI介绍:JNI(Java Native Interface)是用于在Java和C语言之间进行交互的桥梁。教程将介绍JNI的基本概念、使用方法和注意事项,帮助读者理解如何在C语言中编写和调用Android的API。 4. Android应用程序设计:从零开始讲解如何使用C语言进行Android应用程序的设计和开发。包括如何创建项目、编写代码、调试程序、运行应用等方面的内容。 5. 高级主题:进一步介绍C语言在Android开发中的应用。比如如何处理多线程、内存管理、性能优化等方面的内容。 通过C开发Android教程PDF,读者可以了解到如何使用C语言开发Android应用,并学会基本的Android应用开发技术和方法。这对于希望深入学习Android开发,或者对于想要通过C语言提升Android应用性能的开发者来说都是非常有价值的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值