项目中要用PhoneGap开发,了解了下基本规则,记录一下,以备后查。(只针对Android平台)
一、安装
在安装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-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最后看起来会像这样:
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>

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

PhoneGap开发环境搭建的更多相关文章

  1. (转)PhoneGap开发环境搭建

    (原)http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html PhoneGap开发环境搭建   项目中要用PhoneGap开发,了解 ...

  2. Phonegap 开发环境搭建

    以Android为例介绍Phonegap开发环境搭建 一. 软件下载 1. JDK 8 下载 http://www.oracle.com/technetwork/java/javase/downloa ...

  3. phoneGap开发环境搭建(android)

    1.  首先安装nodejs  (http://nodejs.org/) 2.  然后在命令行输入 npm 回车 假设出现下图: 则表示成功安装 3. 安装 npm install -g cordov ...

  4. Cordova phonegap开发环境搭建

    1.下载并安装Android Studio, 2.下载并安装nodejs 3.通过nodejs来安装cordova(npm install -g cordova ) 4.使用cordova来创建pho ...

  5. 搭建phonegap开发环境,搭建安卓开发环境

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  6. 在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏

    一.在Android平台下搭建PhoneGap开发环境具体怎么搭建我这里就不详细说了,如有需要我后面再讲 . PhoneGap 官方地址有详细说明:http://www.phonegap.com. 在 ...

  7. Cordova+ionic 开发hybird App --- 开发环境搭建

    Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...

  8. (转)phoneGap-Android开发环境搭建

    (原)http://www.cnblogs.com/shawn-xie/archive/2012/08/15/2638480.html phoneGap-Android开发环境搭建   一.安装 在安 ...

  9. HTML5 移动应用开发环境搭建及原理分析

    开发环境搭建: 一.Android 开发平台搭建 安装java jdk:\\10.194.151.132\Mewfile\tmp\ADT 配置java jdk 1)  新建系统变量,JAVA_HOME ...

随机推荐

  1. TFS2017持续发布中调用PowerShell启停远程应用程序

    目前团队项目中有多个Web.服务以及与大数据平台对接接口等应用,每次的发布和部署采用手工的方式进行.停止应用程序,拷贝发布包,启动应用程序,不停的循环着,并且时不时地会出现一些人为错误性问题.这种模式 ...

  2. gitup问题的处理

    在使用本地建立git仓库后,准备使用 因为之前已经登录了,所以没有给登录的命令行 1.git init         命令初始化仓库 2.git add .     命令将所有的文件传输到git仓库 ...

  3. ios7 以后准确获取iphone设备的MAC(物理地址)

    通过参考 钉钉 项目,知道是通过wifi拿到路由的MAC地址.那么可不可以拿到iphone 设备的MAC 地址呢? 经过一番搜索,发现所有文章都是针对 ios 7 以前 可以拿到. 而且方法也都是同一 ...

  4. js 判断是否为数组的方式 及 类数组转换成数组格式

    1. 判断是否为数组的通用方式 Object.prototype.toString.call(o)=='[object Array]' 其他方式: typeof ,  instanceof,  ary ...

  5. Solr7.1---数据库导入并建立中文分词器

     这里只是告诉你如何导入,生产环境不要这样部署你的solr服务. 首先修改solrConfig.xml文件 备份_default文件夹 修改solrconfig.xml 加入如下内容 官方示例:< ...

  6. 实现一个websocket常驻进程服务

    由于工作的原因,近期调查了一下mac系统下常驻服务的接收websocket信息和创建进程的方法原理.将具体实现细节记录下来备忘. (一).准备工作 1.安装brew,在终端中输入: ruby -e & ...

  7. iOS 断点上传文件

    项目开发中,有时候我们需要将本地的文件上传到服务器,简单的几张图片还好,但是针对iPhone里面的视频文件进行上传,为了用户体验,我们有必要实现断点上传.其实也不是真的断点,这里我们只是模仿断点机制. ...

  8. PHP 数据库连接池实现

    摘要 xml 读取配置文件 简易方式 常规方式 PHP解析XML 配置文件 解析 数据库连接池 測试 申请过多时拒绝请求 已满后拒绝放入 总结 摘要 之前总是以脚本面向过程的方式写PHP代码,所以非常 ...

  9. 编译器 STVD 与 IAR 的差别 个人体验

    编译器 STVD 与 IAR 的一些差别,这些事个人的体验,欢迎扔砖和指点或者补充. 1:全局查找功能: STVD:全局查找功能全局查找功能比較麻烦.有3个动作. IAR:有全局查找功能比較方便.仅仅 ...

  10. Hadoop Yarn 安装

    环境:Linux, 8G 内存.60G 硬盘 , Hadoop 2.2.0 为了构建基于Yarn体系的Spark集群.先要安装Hadoop集群,为了以后查阅方便记录了我本次安装的详细步骤. 事前准备 ...