现在的移动平台有Android、iOS、Windows Phone等好几种,同一款应用程序移植到不同的平台要从头做过,花费的力气很大。如果换做Web页面就很容易跨平台了,不管什么系统,打开浏览器就可以使用。但是普通的Web页面有很多不方便,比如无法使用本地的资源,像摄像头、通讯录等。而PhoneGap就是介于原生应用与普通Web页面之间的。它是一个开源的开发框架,它通过浏览器,可以轻松的实现跨平台。开发人员利用它,就可以使用HTML、JavaScript、CSS来完成应用的开发,并且也可以调用本地的摄像头、通讯录等资源。在某一个平台开发完成后,通过比较少的调整,就可以发布到另外的平台。
今天我看了一下PhoneGap,并且小试了一下做了一个查看通讯录的Demo。
首先按照官方的教程 http://docs.phonegap.com/en/1.5.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android,完成一个HelloWorld。
然后修改www目录下的index.html为以下内容:
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta contentType="text/html; charset=utf-8"/>
- <title>Contact Example</title>
- <style type="text/css">
- .contact{
- padding:5px;
- border-bottom:1px solid gray;
- }
- </style>
- <script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>
- <script type="text/javascript" charset="utf-8" src="jquery-1.7.2.min.js"></script>
- <!--script type="text/javascript" charset="utf-8" src="jquery.mobile-1.0.1.js"></script-->
- <script type="text/javascript" charset="utf-8">
- $(function(){
- // Wait for PhoneGap to load
- //
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap is ready
- //
- function onDeviceReady() {
- var options = new ContactFindOptions();
- var fields = ["displayName", "phoneNumbers"];
- navigator.contacts.find(fields, onSuccess, onError);
- }
- var list = $("#contacts");
- function onSuccess(contacts) {
- for (var i=0; i<contacts.length; i++) {
- /* console.log("Display Name = " + contacts[i].displayName);*/
- $("<p class='contact'/>").text(contacts[i].displayName)
- .data("name", contacts[i].displayName)
- .data("number", contacts[i].phoneNumbers[0].value)
- .click(function(){
- $("#name").text($(this).data("name"));
- $("#number").text($(this).data("number"));
- $("#detail").show();
- $("#contacts").hide();
- })
- .appendTo(list);
- }
- }
- // onError: Failed to get the contacts
- //
- function onError(contactError) {
- alert('onError!');
- }
- $("#back").click(function(){
- $("#detail").hide();
- $("#contacts").show();
- });
- });
- </script>
- </head>
- <body>
- <h1>通讯录</h1>
- <div id="contacts"></div>
- <div id="detail" style="display:none">
- 姓名:<span id="name"></span><br/>
- 手机号:<span id="number"></span><br/>
- <div style="text-align:center;margin-top:10px"><button id="back" style="width:90px;height:60px;">返回</button></div>
- </div>
- </body>
- </html>
这里我用到了JQuery,需要把jquery下载回来放到www目录。之前我还把jquery.mobile也引入到页面中来了,这样的话Button的值会显示两遍(比如会显示两个返回,一个显示在Button上面,一个显示在Button左边)。可能是jquery.mobile与谁有冲突。
然后贴一下效果图:
首先展示通讯录列表,点击任一行查看详细。
相关推荐
通过对Zirco浏览器源码的深入分析,我们可以学习到Android平台上浏览器开发的方方面面,包括UI设计、网络通信、数据存储、性能优化以及安全策略等。这对于Android开发者,特别是想要涉足浏览器开发的人员来说,是一...
通过以上知识点的学习和实践,开发者能够完成一个基本的Android文件浏览器应用。此应用不仅可以让用户浏览、管理本地文件,还可能支持云存储服务的集成,例如Google Drive或Dropbox,提供更全面的文件操作功能。在...
标题中的“简易的浏览器”指的是一个基于Android平台开发的轻量级浏览器应用,可能是由个人开发者“改好浏览器”创建的。这样的应用通常旨在提供基本的网页浏览功能,可能包括地址栏输入、前进/后退按钮、书签管理等...
本文主要介绍了基于 Android 平台的文件浏览器 App 的设计与实现,旨在解决 Android 手机用户在日常文件处理时遇到的问题。该系统的设计基于 Android 手机终端设备的可操作性和软件可定制性,旨在为 Android 手机...
1. **移动浏览器模拟**:模拟手机浏览器的核心功能是模仿不同型号和操作系统(如Android、iOS)的移动设备浏览器,包括其渲染引擎、屏幕尺寸和分辨率,甚至网络条件,以便用户能在桌面系统上获得接近真实的移动浏览...
本研究提出了一个新的Android手机微信语音提取方法,该方法利用逻辑算法将微信语音与对应的消息记录进行关联,并通过还原解码得到相应的微信语音数据。 首先,本研究简介了Android系统的文件系统格式,包括YAFFS2和...
### Android手把手开发一个图片浏览器 #### Android平台简介与历史背景 Android平台是目前全球最广泛使用的移动操作系统之一。它最初是由安迪·鲁宾(Andy Rubin)在2003年创立的一个小型科技公司开发的,专注于为...
这个话题主要涉及如何通过HTML5的Web API与Android系统交互,从而得到诸如设备型号、操作系统版本、网络状态等信息。下面我们将深入探讨这个主题。 首先,HTML5提供了一个名为`navigator`的对象,它是浏览器的一...
在Android开发中,输入/输出(I/O)操作是非常重要的一个环节,它涉及到设备与外部世界的数据交换,包括通过网络、存储设备等多种途径进行数据的读取与写入。深入理解Android的I/O概念对于开发者来说至关重要,这有...
数据存储部分,如 Web 存储(Web Storage)和 Web 数据库(Web Database),允许浏览器在本地存储用户数据,实现一定程度的离线应用功能。 在浏览器的用户界面上,常见的元素包括地址栏、前进/后退按钮、书签、刷新...
本压缩包文件“Android应用源码之使用html5得到手机设备信息的.rar”提供了这样一个示例,展示了如何通过HTML5获取Android设备的相关信息。以下是对这个主题的详细讲解: 1. **WebView组件**:在Android中,`...
【应用效果】实际应用中,这款多功能文件浏览器得到了良好的反馈,表明它满足了用户对文件管理和处理的需求,特别是在处理办公文档方面,提升了用户的使用便利性。 【结论】基于Android的多功能文件浏览器的设计与...
然而,随着3G和4G网络的普及,以及Android和iOS设备上浏览器性能的显著提高,这些问题得到了极大改善。特别是Android系统搭载的WebKit引擎,对于HTML和CSS的优秀支持,使得开发者能够创造出更加丰富和动态的Web应用...
【标题】:“安卓浏览器WebViewJSHTML5相关-使用html5得到手机设备信息的.zip”指出,这个压缩包包含了关于在Android环境下,通过WebView组件利用HTML5技术获取手机设备信息的相关资料。WebView是Android SDK中的一...
通过将管理界面搬到计算机的Web浏览器上,用户可以获得更大的屏幕空间和更方便的操作体验。 程序的核心组成部分包括客户端程序和服务器程序。客户端程序是专门针对Android系统设计的,它被安装在用户的安卓手机上。...
在深入探讨Zirco-Browser浏览器的源码之前,我们首先要理解的是,Android系统是一个基于Linux内核的开源操作系统,主要用于移动设备,如智能手机和平板电脑。Android源码是整个系统的基础,包含了操作系统的核心组件...
然后在开发者选项中开启USB调试,这允许我们通过电脑连接手机并进行数据操作。 2. **连接电脑**:使用USB数据线将手机与电脑连接,并在手机上选择文件传输模式或媒体设备(MTP)模式,确保电脑可以访问手机的文件...
1. **网络接口**:Android设备可能连接多个网络接口,如移动数据(蜂窝网络)和WiFi。每个接口都有一个或多个IP地址,我们需要根据应用场景选择合适的接口。 2. **IPv4与IPv6**:Android支持IPv4和IPv6两种协议。...
### 手机QQ浏览器与Web App开发者共赢白皮书核心...同时,它还详细介绍了手机QQ浏览器如何通过强大的内核技术、开放平台以及云服务等手段来支持Web App的开发与推广,旨在构建一个健康可持续发展的Web App生态系统。
Android是Google开发的一个基于Linux内核的开源操作系统,被广泛用于智能手机和平板电脑等移动设备。在Android平台上开发应用,需要熟悉Java编程语言以及Android SDK(软件开发工具包)。 2. 数据管理系统的设计:...