项目中要用PhoneGap开发,了解了下基本规则,记录一下,以备后查。(只针对Android平台)
一、安装
在安装PhoneGap开发环境之前,需要先安装以下框架:
1.Java SDK
2.Eclipse
3.Android SDK
4.ADT Plugin
5.PhoneGap
说明:
1.Java SDK直接下载安装即可,没什么可说的,安装不了就是人品问题了;
2.Eclipse 也是直接下载安装,建议为classic版的;
3.Android SDK和ADT Plugin安装完成后,重启eclipse进入Window->Android SDK Manager进行选择要安装的Android开发框架进行安装
4.PhoneGap包不用安装,直接解压。
二、第一个PhoneGap项目
1.在eclipse中新建Android Project,名字神马的随便取吧;
2.在项目的目录下,建两个文件夹:
/libs
/assets/www
3.进入将刚刚下载并解压的PhoneGap包里Anroid目录,我们需要的资源都在这个目录下。
将phonegap-x.x.x.js这个js文件(具体名称视当时下载的版本而定)copy到/assets/www目录下,
把phonegap.jar文件copy到/libs目录下。
再把xml目录copy到android项目的res目录下。
4.在/assets/www下建立index.html文件,内容看起来像这样: 
<!DOCTYPE HTML> <html><head><title>PhoneGap</title><script type="text/javascript" charset="utf-8" src="phonegap-x.x.x.js"></script></head><body><h1>Hello World</h1></body></html>

5.将以下权限配置的xml内容copy到AndroidManifest.xml文件中:

<supports-screensandroid:largeScreens="true"android:normalScreens="true"android:smallScreens="true"android:resizeable="true"android:anyDensity="true"/><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.RECEIVE_SMS" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.WRITE_CONTACTS" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />

6.将以下内容添加到AndroidManifest.xml文件的activity标签中:

android:configChanges="orientation|keyboardHidden

7.AndroidManifest.xml最后看起来会像这样:
8.在刚刚新建的Android Project中找到libs目录并在phonegap-x.x.x.jar上点击右键,选择 Build Path->Add to Build Path
9.最后再修改下src下的Java主文件:
1)添加import com.phonegap.*;
2)将类改成继承为DroidGap;
3)删掉import android.app.Activity;
4)把setContentView()这行替换为super.loadUrl("file:///android_asset/www/index.html");
5)最后看起来就像这样:

然后就可以试着运行一下,成功的话会出现Hello World的界面。

三、PhoneGap Plugin
PhoneGap的插件机制其实就是一个android类导出为jar文件,然后再被PhoneGap的项目引用,再通过js来调API:
1.创建一个Android Project;
2.打开Java主文件,将继承的类改为Plugin;
3.引入以下类:
import com.phonegap.api.Plugin;    import com.phonegap.api.PluginResult;import com.phonegap.api.PluginResult.Status;

4.重写父类的execute方法:

public PluginResult execute(String action, JSONArray data, String callbackId) {        PluginResult pr=null;if(action.equals("method1")){pr=new PluginResult(Status.IO_EXCEPTION,"method1");}else if(action.equals("method2")){pr=new PluginResult(Status.OK,"method2");}return pr;}

其中,第一个参数action可以作为分类调用时的类型,我们就可以用该参数来实现多方法功能。
返回的PluginResult实例可以通过状态Status类型的控制来描述当前结果的执行状态。
最后,代码看起来可能像这样:

5.将该类导出为jar(在类文件上右键->Export->JAR File)
6.回到之前创建的PhoneGap项目中,按上面添加jar包的方法再将该jar添加到工程中。
7.在/res/xml/plugins.xml文件中添加以下内容:
<plugin name="PluginTest" value="aralork.moblie.plugin.PluginTest"/>

name是你在调用时要使用的类名,value是类在jar包中的全路径
8.最后再打开assets/www/index.html文件,写入类似于这样的内容:
<script type="text/javascript" charset="utf-8" src="phonegap-x.x.x.js"></script>         <script type="text/javascript">PhoneGap.exec(successCallback, //成功后的回调方法failureCallback, //失败后的回调方法'PluginTest',//刚才配置的类名'method1', //方法名称,就是之前提到的action参数["/sdcard"]); //sdcard路径function successCallback(data){alert("data:"+data);}function failureCallback(data){alert("error:"+data);}</script>

相关链接:

PhoneGap 官方网站:http://www.phonegap.com

PhoneGap 插件示例:http://wiki.phonegap.com/w/page/36753494/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20Android
转:http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html

PhoneGap开发环境搭建相关推荐

  1. windows系统上虚拟机安装苹果雪豹系统的ios和phoneGap开发环境搭建

    最近因为工作需要,在window上用虚拟机搭建了一个苹果的snow leopard系统,在上面搭建了ios和phoneGap开发环境,搭建 过程遇到很多问题,幸好有广大网友的文章和经验分享才能快速解决 ...

  2. phonegap mysql_phoneGap-Android开发环境搭建

    一.安装 在安装PhoneGap开发环境之前,需要按顺序安装以下工具: java sdk,不安装的话不能正常安装Android SDK. 安装成功检测:启动DOS窗口start-->run--& ...

  3. (一)phoneGap之环境搭建教程及其example分析

    phoneGap之环境搭建教程及其example分析 一.环境搭建 与普通的开发android应用一样,phoneGap也同于原生android应用一样,环境相同,只是有部分不同,下面就我做理解,进行 ...

  4. phonegap安装 环境搭建与配置详解(3.4 完整版 提供下载地址)

    phonegap安装 环境搭建与配置详解(3.4 完整版 提供下载地址) 原文连接:http://blog.csdn.net/aaawqqq/article/details/19755179 phon ...

  5. phoneGap-Android开发环境搭建

    phoneGap-Android开发环境搭建 一.安装 在安装PhoneGap开发环境之前,需要按顺序安装以下工具: 1.Java SDK java sdk,不安装的话不能正常安装Android SD ...

  6. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  7. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  8. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  9. 智能合约开发环境搭建及Hello World合约

    如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...

最新文章

  1. 指针的本质--u_char*指针在Nginx源码中的应用及原因
  2. 领域驱动设计DDD实战进阶第一波(十四):开发一般业务的大健康行业直销系统(订单上下文应用服务用例与接口)...
  3. csu 1548: Design road (三分)
  4. 程序员面试100题之十三:求二叉查找树的镜像
  5. Android自定义控件之仿美团下拉刷新
  6. c语言各种变量的优缺点,C语言优缺点
  7. h.264 SODB RBSP EBSP的区别
  8. 牛客题霸 [数组中未出现的最小正整数] C++题解/答案
  9. JQuery Datatables 数据操作
  10. 70. Climbing Stairs 题解
  11. 我是如何学会不再担心和喜欢SQL中的NULL的
  12. spark之kryo序列化及其使用
  13. The database could not be exclusively locked to perform the operation(SQL Server 5030错误解决办法)(转)...
  14. hadoop tyarn冲突_hadoop集群启动yarn时出现的问题和解决方法
  15. 移动端ui设计,移动端界面
  16. Vue-elementui-admin 快捷标签导航栏解决切换路由不刷新问题
  17. 计算机中的数值和信息编码有哪些,[转载]信息编码 (数值型和字符型编码)...
  18. 嵌入式系统基础知识总结
  19. Geogebra 教程之 01 什么是Geogebra,真的可以提高我们数学水平么?
  20. Kafka读取数据是中文乱码问题

热门文章

  1. 微软紧急修复FIP-FS中的 “Year 2022” 漏洞
  2. 11个恶意python包被指窃取 Discord 令牌、安装shell
  3. 立即更新 Chrome 浏览器!这个 0day 已遭在野利用
  4. 美国国防部设立承包商网络漏洞披露计划
  5. 能让程序员瞬间崩溃的五个瞬间,共鸣的同学请举手!
  6. 艰苦的编译boost python (失败)
  7. 20155229《网络对抗技术》Exp2:后门原理与实践
  8. lenovo Win10 安装 Androd Studio 新版本编程开发的软件
  9. python 调用 C++ code
  10. 使用FileReader对象的readAsDataURL方法来读取图像文件