PhoneGap学习笔记之原理执行实例是本文要介绍的内容,主要是来了解并学习PhoneGap框架应用中原理的具体案例运行过程,具体内容的实现来看本文详解。
PhoneGap框架
- https://github.com/phonegap/phonegap-android
Phonegap介绍参考:
Phonegap:快速开发跨平台HTML5应用的胶水层
- http://mobile.51cto.com/iphone-273446.html
在开发移动应用的过程当中,如果你的应用只定位在一种平台上,这可不是一个好主意,但是为许多不同的平台Building应用又是一件非常麻烦和非常不爽的事情,因为你会发现每一种手机平台都有自己的SDK,它们需要使用不同语言来进行开发,你可能不得不需要5、6个代码仓库来管理不同设备上的代码,而且需要不同设备的开发人员来开发维护这些仓库,你还不得不装上各个设备的sdk,设置好路径和各种配置信息,来编译不同设备上的应用包。
那么移动网站模式是不是一个可以接受的替代方案呢?幸运的是移动应用和移动网站并不是对立的两端,通过Phonegap我们可以采用html5的网站形式来开发移动应用。也许开源Phonegap 会成为 WebApp 上设备端开发的事实上标准,ShowMuch本期就为你推荐移动开发利器:PhoneGap。
我们先来看看PhoneGap的特性:
支持6种移动设备平台:iOS, Android, BlackBerry, WebOS, Symbian WRT, Windows Mobile(内部测试),以及桌面环境(内部测试)
HTML5 + CSS3 + JavaScript 利用标准的Web技术开发应用
- Phonegap Build: write once, compile on cloud, run anywhere.
提供在线Builder平台:只写一次,云端编译,运行在任何地方
目前已经有上千基于Phonegap的应用在AppStore上
Phonegap 目前标注的版本依然是0.9.x,phonegap的功能特性并不稳定,会有不少bug,要小心。
PhoneGap执行流程
1、在Android项目的html页面上执行 事件 <a href="#" class="btn large" onclick="to_smssend();">Send SMS</a>
2、调用main.js中的to_smssend()方法
- //jimmy add smssend
- function to_smssend(){
- navigator.service.sms.smssend("13510567813","this is test phonegap----jimmyliu");
3、navigator.service.sms.smssend在Phonegap.js中定义javascript对象
- var MessageSend = function(){};
- MessageSend.prototype.smssend = function(phonenumber, message){
- //this.smsWin = callback;
- PhoneGap.exec(null, null, "MessageSend", "send", [phonenumber, message]);
- }
- PhoneGap.addConstructor(function() {
- if(typeof navigator.service == "undefined") navigator.service = new Object();
- if(typeof navigator.service.sms == "undefined") navigator.service.sms = new MessageSend();
- });
4、步骤3的执行 是在 DroddGap的bindServer中添加的
- this.addService("MessageSend", "com.phonegap.MessageSend");//jimmy add
MessageSend服务,该服务实际是个CallbackServer中的定义的ServerSocket 来处理的。
即JS在PhoneGap.exec执行时存储在List中,然后被ServerSocket的socket中执行js处理
后续再做修改。
小结:PhoneGap学习笔记之原理执行实例的内容介绍完了,希望通过本文的学习能对你有所帮助!