http://www.phonegap.cn/
http://www.aliued.cn/2012/04/11/%E5%88%9D%E8%AF%86phonegap.html
使用phonegap让前端开发人员也能构建自己绚丽的手机应用程序
phonegap框架是一个开源框架
封装了各种手机系统的常用功能,供javascript使用,
对html5支持较好(css,html5标签,javascript),
配置好相关的属性,就可以完全像开发web一样开发自己的手机程序。
http://banxi1988.iteye.com/blog/1292494
注意引入顺序
<link rel="stylesheet" type="text/css"
href="css/themes/default/jquery.mobile-1.1.0.min.css" />
<script type="text/javascript" charset="utf-8" src="js/cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" charset="utf-8"
src="js/jquery.mobile-1.1.0.min.js"></script>
phonegap文档自带的
phonegap-phonegap-2dbbdab\lib\android\example\assets\www\main.js
var deviceInfo = function() {
document.getElementById("platform").innerHTML = device.platform;
document.getElementById("version").innerHTML = device.version;
document.getElementById("uuid").innerHTML = device.uuid;
document.getElementById("name").innerHTML = device.name;
document.getElementById("width").innerHTML = screen.width;
document.getElementById("height").innerHTML = screen.height;
document.getElementById("colorDepth").innerHTML = screen.colorDepth;
};
var getLocation = function() {
var suc = function(p) {
alert(p.coords.latitude + " " + p.coords.longitude);
};
var locFail = function() {
};
navigator.geolocation.getCurrentPosition(suc, locFail,{enableHighAccuracy:true});
};
var beep = function() {
navigator.notification.beep(2);
};
var vibrate = function() {
navigator.notification.vibrate(0);
};
function roundNumber(num) {
var dec = 3;
var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
return result;
}
var accelerationWatch = null;
function updateAcceleration(a) {
document.getElementById('x').innerHTML = roundNumber(a.x);
document.getElementById('y').innerHTML = roundNumber(a.y);
document.getElementById('z').innerHTML = roundNumber(a.z);
}
var toggleAccel = function() {
if (accelerationWatch !== null) {
navigator.accelerometer.clearWatch(accelerationWatch);
updateAcceleration({
x : "",
y : "",
z : ""
});
accelerationWatch = null;
} else {
var options = {};
options.frequency = 1000;
accelerationWatch = navigator.accelerometer.watchAcceleration(
updateAcceleration, function(ex) {
alert("accel fail (" + ex.name + ": " + ex.message + ")");
}, options);
}
};
var preventBehavior = function(e) {
e.preventDefault();
};
function dump_pic(data) {
var viewport = document.getElementById('viewport');
console.log(data);
viewport.style.display = "";
viewport.style.position = "absolute";
viewport.style.top = "10px";
viewport.style.left = "10px";
document.getElementById("test_img").src = data;
}
function fail(msg) {
alert(msg);
}
function show_pic() {
navigator.camera.getPicture(dump_pic, fail, {
quality : 50
});
}
function close() {
var viewport = document.getElementById('viewport');
viewport.style.position = "relative";
viewport.style.display = "none";
}
function contacts_success(contacts) {
alert(contacts.length
+ ' contacts returned.'
+ (contacts[2] && contacts[2].name ? (' Third contact is ' + contacts[2].name.formatted)
: ''));
}
function get_contacts() {
var obj = new ContactFindOptions();
obj.filter = "";
obj.multiple = true;
navigator.contacts.find(
[ "displayName", "name" ], contacts_success,
fail, obj);
}
function check_network() {
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
confirm('Connection type:\n ' + states[networkState]);
}
var watchID = null;
function updateHeading(h) {
document.getElementById('h').innerHTML = h.magneticHeading;
}
function toggleCompass() {
if (watchID !== null) {
navigator.compass.clearWatch(watchID);
watchID = null;
updateHeading({ magneticHeading : "Off"});
} else {
var options = { frequency: 1000 };
watchID = navigator.compass.watchHeading(updateHeading, function(e) {
alert('Compass Error: ' + e.code);
}, options);
}
}
function init() {
// the next line makes it impossible to see Contacts on the HTC Evo since it
// doesn't have a scroll button
// document.addEventListener("touchmove", preventBehavior, false);
document.addEventListener("deviceready", deviceInfo, true);
}
更多http://www.phonegap.cn/?page_id=402
- 大小: 39.3 KB
分享到:
相关推荐
使用jQuery Mobile + PhoneGap 开发Android应用程序
PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript + CSS的强大功能在多个手机平台上开发程序。本人介绍了该平台的一些基本特性和开发程序需要的知识,以帮助大家快速入手移动开发。 详细可...
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速...使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
grunt-phonegap, 为Phonegap应用程序提供本地构建任务的Grunt插件 : Phonegap提供为 Phonegap应用程序提供构建任务的插件插件 grunt-phonegap 通过包装 Phonegap 3.0 命令行 接口,将Phonegap开发与 Grunt -based...
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器...
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速...使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
PhoneGap是一款开源的手机应用开发平台,它仅仅只用HTML和JavaScript语言就可以制作出能在多个移动设备上运行的应用。PhoneGap将移动设备本身提供的复杂的API进行了抽象和简化,提供了一系列丰富的API供开发者调用,...
PhoneGap 是一款HTML5平台,通过它,开发商可以使用HTML、CSS及JavaScript来开发本地移动应用程序。因此,目前开发商可以只 编写一次应用程序,然后在7个主要的移动平台和应用程序商店(app store)里进行发布,这些...
PhoneGap开发人员应用程序 在您附近的应用商店中可用! 概述 PhoneGap Developer应用程序是使用PhoneGap框架的Web开发人员和设计人员的测试实用程序。 安装PhoneGap Developer应用程序后,您可以连接到PhoneGap桌面...
现在Web开发人员可以使用他们熟悉的语言来创建跨平台的移动应用程序 你是那个非常渴望迁移到移动领域,但又没有时间学习新语言的Web开发人员吗?那么,PhoneGap就是你所需要的。PhoneGap是一个免费的开源框架,...
本文将介绍如何利用您已经掌握的HTML、CSS和JavaScript技能和两种新框架来开发本地移动应用程序,这两种框架分别是Jo和开源的PhoneGap,后者使您能够利用最流行的移动平台上的一些本地特性。移动应用程序开发基本上...
使用phonegap框架开发android应用程序,免不了需要涉及js与java原生代码的交互,自定义phonegap插件可以满足这个需求。 在本教程中,介绍了怎么使用phonegap插件跳转到另一个Android Activity
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速...使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
费用经理 使用 Phonegap 开发的 Android 应用程序来管理团队/个人开支。
我们知道一般情况下使用Objective-c开发iPhone平台的应用,用Java开发Android平台的应用,用Silverlight开发WindowsPhone平台的应用,但如果你想开发一个在以上的平台都可以运行的应用,你是不是得学三种语言?...
phonegap插件开发(功能实现:获取第三方应用,打开第三方应用,判断第三方应用程序是否正在运行,获取手机全球唯一序列号,判断文件是否存在)
模拟/仿真可以使用iOS模拟器和/或Android模拟器测试iParade应用程序。 有关更多信息,请查看。的iOS 当涉及到位置服务时,iOS模拟器可能会有些古怪。 如果未在加载应用程序之前设置位置,则可能会抛出地理位置错误回...
■ 深入NFC体系结构,了解NFC和RFID的关系 ■ 用PhoneGap和它的NFC插件写Android上的NFC应用程序用例 ■ 深入了解NDEF结构:测试已有的写...■ 通过Raspberry Pi和BeagleBone上的例子来探索嵌入式Linux应用程序的开发