`

使用phonegap开发自己的手机应用程序

 
阅读更多

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
分享到:
评论

相关推荐

    入门必看:用PhoneGap开发手机应用程序(android,iPhone等)

    PhoneGap 是一款开源的开发工具,它允许开发者利用 HTML、JavaScript 和 CSS 这些Web前端技术来构建跨平台的移动应用程序。PhoneGap 开发的主要优势在于它的跨平台性,覆盖了包括 Android、iOS、BlackBerry 在内的多...

    使用jQuery Mobile + PhoneGap 开发Android应用程序

    使用jQuery Mobile + PhoneGap 开发Android应用程序

    使用phonegap编写的小程序查看某月某日的事件列表.rar

    这可以帮助你掌握使用PhoneGap开发移动应用的基本流程,并且为今后的项目打下基础。 总之,这个项目提供了一个很好的起点,让你了解如何使用PhoneGap来开发一个实用的日历应用,展示特定月份和日期的事件列表。通过...

    PhoneGap 手机应用开发平台 v1.5.1

    PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速...使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。

    基于phoneGap的跨平台应用的源码

    PhoneGap是一种开源框架,它允许开发者使用HTML5、CSS3和JavaScript来构建原生的移动应用程序,而无需学习特定的移动开发语言,如Java或Swift。这个“基于PhoneGap的跨平台应用的源码”提供了在寒假期间创建的一个...

    grunt-phonegap, 为Phonegap应用程序提供本地构建任务的Grunt插件.zip

    grunt-phonegap, 为Phonegap应用程序提供本地构建任务的Grunt插件 : Phonegap提供为 Phonegap应用程序提供构建任务的插件插件 grunt-phonegap 通过包装 Phonegap 3.0 命令行 接口,将Phonegap开发与 Grunt -based...

    iOS 使用PhoneGap 开发HTML5 的APP

    PhoneGap是一种开源框架,它允许开发者使用HTML5、CSS3和JavaScript来构建原生的移动应用程序,尤其适合iOS平台。这个教程将引导你通过在Mac上使用PhoneGap开发iOS平台的HTML5应用。 首先,我们需要了解PhoneGap的...

    手机Web应用开发平台PhoneGap.zip

    PhoneGap 是一款HTML5平台,通过它,开发商可以使用HTML、CSS及JavaScript来开发本地移动应用程序。因此,目前开发商可以只 编写一次应用程序,然后在7个主要的移动平台和应用程序商店(app store)里进行发布,这些...

    Phonegap拍照,图片保存应用

    PhoneGap是一款跨平台的移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用程序。PhoneGap的核心理念是通过Web技术来桥接移动设备的原生功能,如摄像头、地理位置、存储等,让Web开发者...

    在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏[参考].pdf

    安卓平台PhoneGap开发环境搭建和HTML5游戏开发 PhoneGap是一个基于HTML5标准的跨平台开源手机Web应用开发框架,它允许用户通过Web技术访问移动设备的本地应用、API接口及应用程序框架等。PhoneGap现在更名为Cordova...

    使用PhoneGap实现离线功能【技术文档】

    《使用PhoneGap实现离线功能的技术探索》 PhoneGap,一个强大的跨平台移动应用开发框架,以其独特的HTML、CSS和JavaScript技术,让开发者能够轻松构建原生移动应用。在许多情况下,尤其是对于那些需要在无网络环境...

    PhoneGap 开发的一个例子

    PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速...使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。

    phoneGap手机安装apk

    PhoneGap是一款跨平台的移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用程序。PhoneGap的核心理念是通过Web技术来桥接移动设备的原生功能,如摄像头、GPS、加速度计等,为开发者提供...

    phoneGap得到手机加速度

    PhoneGap是一种跨平台的移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用程序。PhoneGap的核心理念是通过Web技术来桥接移动设备的硬件功能,如摄像头、加速度计等,使得Web开发者也能...

    phonegap开发示例服务器端开发

    其核心在于使用WebView(移动设备内置的浏览器组件)作为应用程序的基础,同时提供JavaScript接口,让开发者能够调用设备的原生功能,如地理位置、加速度计、联系人列表、音频、振动等。 PhoneGap 的工作原理依赖于...

    PhoneGap Build的使用

    ### PhoneGap Build的使用 #### 一、简介与背景 PhoneGap是一款开源框架,它允许开发者使用HTML、CSS和JavaScript等Web技术来构建跨平台的移动应用。PhoneGap Build则是Adobe提供的一项云端服务,用于帮助开发者更...

    PhoneGap 构建跨平台移动应用

    PhoneGap是一种开源框架,它允许开发人员利用HTML5、CSS3和JavaScript来构建原生的移动应用程序,同时实现跨平台兼容性。这个技术的核心理念是将Web开发的技术与移动设备的原生功能相结合,使开发者可以使用熟悉的...

    中文Phonegap开发大全

    PhoneGap是一种开源框架,它允许开发者使用HTML5、CSS3和JavaScript来构建原生的移动应用程序,而无需深入学习各种平台的特定编程语言,如Java(Android)或Swift(iOS)。这种技术极大地降低了跨平台移动应用开发的...

Global site tag (gtag.js) - Google Analytics