`
king_tt
  • 浏览: 2114043 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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文件,内容看起来像这样:
复制代码
<!DOCTYPEHTML>

<html>
<head>
<title>PhoneGap</title>
<scripttype="text/javascript"charset="utf-8"src="phonegap-x.x.x.js"></script>
</head>
<body>
<h1>HelloWorld</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-permissionandroid:name="android.permission.CAMERA"/>
<uses-permissionandroid:name="android.permission.VIBRATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permissionandroid:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.RECEIVE_SMS"/>
<uses-permissionandroid:name="android.permission.RECORD_AUDIO"/>
<uses-permissionandroid:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
<uses-permissionandroid:name="android.permission.WRITE_CONTACTS"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid: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.引入以下类:
importcom.phonegap.api.Plugin;

importcom.phonegap.api.PluginResult;
importcom.phonegap.api.PluginResult.Status;

4.重写父类的execute方法:
复制代码
publicPluginResultexecute(Stringaction,JSONArraydata,StringcallbackId){

PluginResultpr=null;
if(action.equals("method1")){
pr=newPluginResult(Status.IO_EXCEPTION,"method1");
}elseif(action.equals("method2")){
pr=newPluginResult(Status.OK,"method2");
}

returnpr;
}

复制代码

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

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

name是你在调用时要使用的类名,value是类在jar包中的全路径

8.最后再打开assets/www/index.html文件,写入类似于这样的内容:
复制代码
<scripttype="text/javascript"charset="utf-8"src="phonegap-x.x.x.js"></script>
<scripttype="text/javascript">
PhoneGap.exec(successCallback,
//成功后的回调方法
failureCallback,//失败后的回调方法
'PluginTest',//刚才配置的类名
'method1',//方法名称,就是之前提到的action参数
["/sdcard"]);//sdcard路径

functionsuccessCallback(data){
alert(
"data:"+data);
}

functionfailureCallback(data){
alert(
"error:"+data);
}
</script>
复制代码

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

相关链接:

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics