说到phonegap,很多人不知道是什么,来自百度百科“
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的
快速开发平台
。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是免费的,但是它需要特定平台提供的附加
软件
,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。”简单来说,就是提供给开发人员一套api,这套api类似于html和js的语法,所以方便了前台编程人员可以快速的开发出webapp,并且该app通过一定的处理可以在iOS、android、windows等各个平台运行,就是常说的一次编码、多次编译。
这套api听起来很诱人,这也是近期webapp和nativeapp存在的争议,但经我验证,在普通的android手机2.3.5版本上,测试手机是G7,性能太差,运行起来太卡,但我相信,随着硬件条件的不断加强,webapp其实还是很有潜力的,有一天应该会超过webapp,这里展示phonegap在android端的使用方法(官网
http://phonegap.com/)
This guide describes how to set up your development environment for Cordova and run a sample application. Note that Cordova used to be called PhoneGap, so some of the sites still use the old PhoneGap name.
1. 开发环境
- Eclipse 3.4+
2. 需要下载的软件及jar包
- 下载安装Eclipse Classic
- 下载安装Android SDK
- 下载安装 ADT Plugin
以上三步是搭建android开发环境的要求,不熟悉的朋友可以网上查查
- 下载phonegap需要的jar包Cordova在官网上可以下http://phonegap.com/download
3. 创建新工程
这一步就是创建android的工程
- Then select a graphic
- Then Create a Blank Activity
- 点击完成就创建完成了一个新的android工程,可以在手机上跑跑看,简单的hello world
- 在根目录上下创建如下两个目录
- /libs 放jar包的
- assets/www 放开发好的HTML文件的
- 从官网上下载cordova-2.0.0.js 放到 assets/www目录下
- 从官网上下载cordova-2.0.0.jar 放到 /libs目录下
-
从官网上下载xml放在工程的 /res目录下
-
导入jar包,cordova-2.0.0.jar在工程上点击右键选择Build Paths/ > Configure Build Path 然后将jar包导入cordova-2.0.0.jar
-
mainactivity需要做如下修改:
- import org.apache.cordova.*;
- 把继承自Activity 改成DroidGap
- 把原来的setContentView() 改成super.loadUrl(“file:///android_asset/www/index.html”);
- file:///android_asset/www/index.html这是android里面读文件的样式
-
打开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.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" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
-
在 <activity>标签中加入这句话
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
-
修改完是这个样子的
4. Hello World
-
写一个helloworld放在assets/www 目录下
<!DOCTYPE HTML>
<html>
<head>
<title>Cordova</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>