zoukankan      html  css  js  c++  java
  • (转)PhoneGap开发环境搭建

    (原)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开发框架进行安装
    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 官方网站:http://www.phonegap.com 

  • 相关阅读:
    Azure 虚拟机安全加固整理
    AzureARM 使用 powershell 扩容系统磁盘大小
    Azure Linux 云主机使用Root超级用户登录
    Open edX 配置 O365 SMTP
    powershell 根据错误GUID查寻错误详情
    azure 创建redhat镜像帮助
    Azure Powershell blob中指定的vhd创建虚拟机
    Azure Powershell 获取可用镜像 PublisherName,Offer,Skus,Version
    Power BI 连接到 Azure 账单,自动生成报表,可刷新
    Azure powershell 获取 vmSize 可用列表的命令
  • 原文地址:https://www.cnblogs.com/allearner/p/3837861.html
Copyright © 2011-2022 走看看