您的位置:首页 > 其它

PhoneGap配置说明&&PhoneGap API 应用示例&&插件应用示例

2014-12-02 16:46 423 查看
1、PhoneGap配置说明:

下载PhoneGap源码,然后直接解压。我下载的版本是PhoneGap2.9.0版本,以下步骤也是按照这个版本进行,对其他版本可能有些许不同。

在安卓工程目录asserts下新建一个文件夹www,如图所示。然后把phonegap/lib/android目录下的cordova1.js(下载的phonegap版本为准)文件拷贝到刚刚创建的www目录下。





把cordova-2.9.0.jar文件拷贝到libs文件夹里。如图所示:





phonegap里的xml文件夹拷贝到项目目录下的res文件夹里。





在/assets/www下建立index.html文件(此文件在phonegap解压文件asserts里有html示例文件),并链接上phonegap的js文件,如:





对src文件夹下的XXX.java文件作如下修改(这个不一定准,有错误就点击左侧的红叉):

  1)修改类的继承 将Activity 修改为 DroidGap;
  2)把setContentView()这行替换为super.loadUrl("file:///android_asset/www/index.html");

3)将onCreate类从protected变为public属性;
  4)需要添加import org.apache.cordova.DroidGap;
以我的文件为例,具体如下:





在项目根目录下右键点击AndroidManifest.xml文件,选择Open With > Text Editor(打开方式->文本编辑器),添加如下内容,具体添加为止请参考PhoneGap-2.9.0文件夹下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" />



以android application方式运行,结果如下 :





至此,phonegap配置完成,这是实现了一个小小的应用。



2、phonegap自带API应用实例:

在此,以PhoneGap自带的camera对象提供对设备默认摄像头应用程序的访问。方法是amera.getPicture

详细代码如下:
文件index.html
<!DOCTYPE html>

<html>

<head>

<title>Capture Photo</title>

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>

<script type="text/javascript" charset="utf-8">

var pictureSource; //图片来源

var destinationType; //设置返回值的格式

// 等待PhoneGap连接设备

document.addEventListener("deviceready",onDeviceReady,false);

// PhoneGap准备就绪,可以使用!

function onDeviceReady() {

pictureSource=navigator.camera.PictureSourceType;

destinationType=navigator.camera.DestinationType;

}

// 当成功获得一张照片的Base64编码数据后被调用

function onPhotoDataSuccess(imageData) {

// 取消注释以查看Base64编码的图像数据

// console.log(imageData);

// 获取图像句柄

var smallImage = document.getElementById('smallImage');

// 取消隐藏的图像元素

smallImage.style.display = 'block';

// 显示拍摄的照片

// 使用内嵌CSS规则来缩放图片

smallImage.src = "data:image/jpeg;base64," + imageData;

}

// 当成功得到一张照片的URI后被调用

function onPhotoURISuccess(imageURI) {

// 取消注释以查看图片文件的URI

// console.log(imageURI);

// 获取图片句柄

var largeImage = document.getElementById('largeImage');

// 取消隐藏的图像元素

largeImage.style.display = 'block';

// 显示拍摄的照片

// 使用内嵌CSS规则来缩放图片

largeImage.src = imageURI;

}

// “Capture Photo”按钮点击事件触发函数

function capturePhoto() {

// 使用设备上的摄像头拍照,并获得Base64编码字符串格式的图像

navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50 });

}

// “Capture Editable Photo”按钮点击事件触发函数

function capturePhotoEdit() {

// 使用设备上的摄像头拍照,并获得Base64编码字符串格式的可编辑图像

navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true });

}

//“From Photo Library”/“From Photo Album”按钮点击事件触发函数

function getPhoto(source) {

// 从设定的来源处获取图像文件URI

navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,

destinationType: destinationType.FILE_URI,sourceType: source });

}

// 当有错误发生时触发此函数

function onFail(mesage) {

alert('Failed because: ' + message);

}

</script>

</head>

<body>

<button onclick="capturePhoto();">Capture Photo</button> <br>

<button onclick="capturePhotoEdit();">Capture Editable Photo</button> <br>

<button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button><br>

<button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">From Photo Album</button><br>

<img style="display:none;width:60px;height:60px;" id="smallImage" src="" />

<img style="display:none;" id="largeImage" src="" />

</body>

</html>

只需修改index.html代码即可运行。

3、插件应用示例

待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐