(转)PhoneGap开发环境搭建

摘要:
将phonegap-x.js.js文件复制到/sets/www目录,并将phonegap.jar文件复制到/libs目录。

(原)http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html

PhoneGap开发环境搭建

 
项目中要用PhoneGap开发,了解了下基本规则,记录一下,以备后查。(只针对Android平台)
一、安装
在安装PhoneGap开发环境之前,需要先安装以下框架:
 
说明:
1.Java SDK直接下载安装即可,没什么可说的,安装不了就是人品问题了;
2.Eclipse 也是直接下载安装,建议为classic版的;
3.Android SDK和ADT Plugin安装完成后,重启eclipse进入Window->Android SDK Manager进行选择要安装的Android开发框架进行安装
(转)PhoneGap开发环境搭建第1张
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-screens android: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最后看起来会像这样:
(转)PhoneGap开发环境搭建第6张
 
8.在刚刚新建的Android Project中找到libs目录并在phonegap-x.x.x.jar上点击右键,选择 Build Path->Add to Build Path
(转)PhoneGap开发环境搭建第7张
 
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)最后看起来就像这样:
(转)PhoneGap开发环境搭建第8张
 

然后就可以试着运行一下,成功的话会出现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类型的控制来描述当前结果的执行状态。
最后,代码看起来可能像这样:

 (转)PhoneGap开发环境搭建第11张

 
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>
复制代码
 

人品没问题的话,这样就能run起来了。。。。。。。

相关链接:

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

免责声明:文章转载自《(转)PhoneGap开发环境搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇获取项目中所有URL--获取swagger上展示的接口信息在 CentOS 上部署 Nginx 环境下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

XML系列之--解析电文格式的XML(二)

      上一节介绍了XML的结构以及如何创建。讲到了XML可作为一种简单文本存储数据,把数据存储起来,以XML的方式进行传递。当接收到XML时,必不可少的就是对其进行解析,捞取有效数据,或者将第三方数据以节点的形式填充至此XML。无论如何,都离不开对XML的解析,XML有一般的,同样也有二般的,这一节就来介绍如何对这些XML进行解析。 1. 普通XML...

KETTLE集群搭建

KETTLE集群搭建 说明: 本文档基于kettle5.4 一、集群的原理与优缺点 1.1集群的原理          Kettle集群是由一个主carte服务器和多个从carte服务器组成的,类似于master-slave结构,不同的是’master’处理具体任务,只负责任务的分发和收集运行结果。 Master carte结点收到请求后,把任务分成多个部...

【Android 应用开发】 ActionBar 基础

作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/39204393 示例代码下载 :  -- GitHub : https://github.com/han1202012/Octopus_ActionBar.git -...

详析手游圈从业人员必须知道的行业术语

想要入行手游,首先就需要对整个行业有一个全面的认知。刚刚接触手游行业的时候,也许你会问,业内人士口中的CPS、CPA、APRU值、迭代、冲榜都是什么意思?今天,本文就从手游圈的术语讲起,带你全面了解手游行业。  一、手游行业常见名词解释  手游开发商——也叫CP,即ContentProvider内容提供商的英文首字母缩写,顾名思义,就是指制作手游产品的公司...

Linux中部署Maven项目, 自定义setting.xml文件

查看Linux中maven地址 [root@iZbp1cj4z3w66bw25x346qZ Portal]# mvn -v Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-14T04:10:27+08:00) Maven home: /usr/local/mave...

Android百度地图的使用

    做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需求需要使用百度地图的一些功能,所以这几天研究了一下,现写一下blog记录一下,欢迎大家评论指正! 一、申请AK(API Key)     要想使用百度地图sdk,就必须申请一个百度地图的api key。申请流程挺简单的。     首先注册成为百度的开发者,然后打开http://...