- 浏览: 7339036 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
目前项目中Android中第一次加载使用用户的个人图像时候,如果没有采用默认的如果有采用用户设置的。实现如下:
拍照的js代码camera.js:
function take_pic() { navigator.camera.getPicture(onPhotoDataSuccess, function(ex) { alert("Camera Error!"); }, { //这里的更多设置参数参见官方文档 quality : 50, targetWidth: 320, targetHeight: 240, //用data_url,而不用file_url的原因是,file_url在不同平台有差异 //不好编写,而用data_url就可以不考虑这个,加上,拍张图片,不要太好的话,就几十k存到数据库里面也没多慢.. destinationType:destinationType.DATA_URL }); } function onPhotoDataSuccess(imageData) { console.log("* * * onPhotoDataSuccess"); var cameraImage = document.getElementById('settingImage'); cameraImage.style.visibility = 'visible'; //把图片存进数据库里面 kset("image",imageData); cameraImage.src = "data:image/jpeg;base64," + imageData; }
启动是加载的硬件js:device.js
function init() { document.addEventListener("deviceready", onDeviceReady, true); } var onDeviceReady = function() { console.log("deviceready event fired"); // api-camera Photo URI //这个是设置图片是调用摄像头还是,本机相册,默认是调用摄像头 //更多参见官方文档 pictureSource=navigator.camera.PictureSourceType; //这个是,当phonegap 获取图片的时候,我们希望获取的是路径?还是 //给予base64编码的图像格式 destinationType=navigator.camera.DestinationType; //这里是初始化主页,如果,已经有头像的话,就加载 var saveImage = kget("image"); if(saveImage){ //console.log("have image"+saveImage); var cameraImage = document.getElementById('cameraImage'); cameraImage.style.visibility = 'visible'; cameraImage.src = "data:image/jpeg;base64," + saveImage; } //系统的事件,按需求实现自己的回调方法,这里就默认了.. document.addEventListener("searchbutton", onSearchKeyDown, false); document.addEventListener("menubutton", onMenuButtonDown, false); document.addEventListener("pause", onEventFired, false); document.addEventListener("resume", onEventFired, false); document.addEventListener("online", onEventFired, false); document.addEventListener("offline", onEventFired, false); document.addEventListener("backbutton", onEventFired, false); document.addEventListener("batterycritical", onEventFired, false); document.addEventListener("batterylow", onEventFired, false); document.addEventListener("batterystatus", onEventFired, false); document.addEventListener("startcallbutton", onEventFired, false); document.addEventListener("endcallbutton", onEventFired, false); document.addEventListener("volumedownbutton", onEventFired, false); document.addEventListener("volumeupbutton", onEventFired, false); };
存储 storage.js:
function kset(key, value){ console.log("key"+key+"value"+value); window.localStorage.setItem(key, value); } function kget(key){ console.log(key); return window.localStorage.getItem(key); } function kremove(key){ window.localStorage.removeItem(key); } function kclear(){ window.localStorage.clear(); } //���Ը��·��� function kupdate(key,value){ window.localStorage.removeItem(key); window.localStorage.setItem(key, value); }
html页面如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!--自适应界面,如果出现,在某些设备出现界面偏小的话,检查一下有没有加入这句 --> <meta http-equiv="Content-type" name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width"> <!--样式--> <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.0.1.min.css" /> <!--end--> <!--导入的js框架--> <script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script> <script src="jquery.mobile/jquery-1.6.4.min"></script> <script src="jquery.mobile/jquery.mobile-1.0.1.min.js"></script> <!--end--> <!--import custom library --> <script type="text/javascript" charset="utf-8" src="js/camera.js"></script> <script type="text/javascript" charset="utf-8" src="js/device.js"></script> <script type="text/javascript" charset="utf-8" src="js/storage.js"></script> <!--end--> <!--自己写的js--> <script type="text/javascript"> //在页面初始化的时候,利用phonegap初始化我们的应用 $('body').live("pageinit",function(){ init(); }); $('#setting').live("pageinit",function(){ //显示头像图片 var saveImage = kget("image"); if(saveImage){ //console.log("have image"+saveImage); var cameraImage = document.getElementById('settingImage'); cameraImage.style.visibility = 'visible'; cameraImage.src = "data:image/jpeg;base64," + saveImage; } //当我们向右滑动的时候,回到主页 $('#settingContent').bind("swiperight",function(){ $.mobile.changePage('#home',{ transition: "fade"}); }); //进行拍照 $('#takePhoto').bind("tap",function(){ take_pic(); }); }); $("#btnSubmit").click(function(){ var saveImage = kget("image"); if(saveImage){ //console.log("have image"+saveImage); var cameraImage = document.getElementById('settingImage'); cameraImage.style.visibility = 'visible'; cameraImage.src = "data:image/jpeg;base64," + saveImage; } }); </script> <!--end--> </head> <body> <div data-role="page" id="home"> <div data-role="header"> <h1>个人信息</h1> <a href="#setting" data-rel="dialog" data-icon="home" id="intro" class="ui-btn-right">设置</a> </div> <div data-role="content" id="homeContent" data-theme="b"> <p>头像</p> <img id="cameraImage" src="images/default.jpg" width="100%" height="200"/> <!--这一块的动态实现你会图片的读取和存储,这个就很简单了..这里就不做介绍了..--> <p>名字:阿柴</p> <p>联系方式:xxxxx</p> </div> </div> <div data-role="dialog" id="setting" data-overlay-theme="a" data-theme="b" data-title="设置"> <div data-role="header"> <h1>头像设置</h1> </div> <div data-role="settingContent"> <div style="text-align: center;" align="center"> <img align="middle" id="settingImage" src="images/default.jpg" width="90%" height="200"/> </div> <br> <div style="text-align: center;" align="center"> <div style="text-align: center;" align="center"><div data-role="button" id="takePhoto">拍照</div></div> </div> </div> <br/> <fieldset class="ui-grid-a"> <div class="ui-block-a"> <a href="index.html" data-role="button" data-rel="back" data-theme="c" id="btnSubmit">确定 </a> </div> <div class="ui-block-b"> <a href="index.html" data-role="button" data-rel="back" data-theme="b">取消 </a> </div> </fieldset> </div> <script type="text/javascript" charset="utf-8" src="js/camera.js"></script> <script type="text/javascript" charset="utf-8" src="js/device.js"></script> <script type="text/javascript" charset="utf-8" src="js/storage.js"></script> </body> </html>
源代码如下:
- PhonegapCamerajqm.zip (891.9 KB)
- 下载次数: 624
发表评论
-
[转]年度最实用50款免费Android应用推荐
2012-11-08 16:39 3377据国外媒体报道,有人说Android应用市场比iPhone应用 ... -
GIS的学习(四十五)【转】Integration of the MBTiles format on Android
2012-10-22 17:13 2945转载自 http:/ ... -
GIS的学习(四十四)osmdroid sdcard检查
2012-10-15 16:12 2339在许多应用中使用到sdcard的检查,在osmdro ... -
GIS的学习(四十三)osmdroid基于几个经典代理类
2012-10-15 16:06 2629在osmdroid中给基于位置的代理类如下: pack ... -
Android中PopupWindow的用法(位置、动画、焦点)
2012-10-12 14:12 11521在Android中有很多级别的Window,不同级别的Wind ... -
【转】Android根据分辨率进行单位转换-(dp,sp转像素px)
2012-10-11 09:18 27133Android系统中,默认的单位是像素(px)。也就是说,在没 ... -
GIS的学习(二十九)Osmdroid 离线地图存放位置的研究和详细分析
2012-09-23 11:49 11538在手机通过osmdroid调用离线地图必须放在 ... -
GIS的学习(二十八)Osmdroid相关的开源项目
2012-09-23 11:31 25428osm 数据格式(openstreet map)与Ro ... -
GIS的学习(二十七)通过geoserver的georss访问第三方地图
2012-09-23 00:34 3601在geoserver中如果想调用第三方地图可以采 ... -
android中使用 定时更新界面定时器Timer的使用
2012-09-22 22:09 25521handler的使用 一、Handler的定义: ... -
【转】Android应用程序的自动更新升级(自身升级、通过tomcat) .
2012-09-16 15:03 7363http://blog.csdn.net/mu0206mu/a ... -
GIS的学习(二十七)OGC 的WCS WFS 及WMS 服务
2012-09-11 22:22 12120http://www.gisall.com/?6678/v ... -
GIS的学习(二十六)geotools 使用 部分代码总结
2012-09-11 22:20 5728前段时间的一个项目 本来用ae完成了种种的 查询,空间分析等等 ... -
GIS的学习(二十五)geoserver wms中的各种操作API详细讲解和使用
2012-09-10 17:42 9707官方geoserver中WMS服务中几种操作的API的详细说明 ... -
GIS的学习(二十四)android异步调用geoserver wms中的地图
2012-09-10 17:38 8165在geoserver的客户端通过wms的GetMap实现 ... -
GIS的学习(二十三)geoserver中CQL和ECQL的使用
2012-09-10 16:29 6631以下引用自官方文档: CQL and ECQL¶ CQ ... -
GIS的学习(二十二)osmdroid中添加縮放控件
2012-09-06 23:09 2787package com.geoserver.osmdroid; ... -
GIS的学习(二十一)在osmdroid 地图中添加marker 并添加事件
2012-09-06 22:27 6625我有 osmdroid,overlayswithf ... -
GIS的学习(二十)基于Geoserver的WFS服务与Openlayers实现地理查询
2012-08-30 18:48 11408基于Geoserver发布的wfs服务,与Openlayers ... -
GIS的学习(十九)Geoserver使用添加,删除,查询地图中的POI
2012-08-30 17:28 10354在geoserver自定义的地图中通过geoserver ...
相关推荐
在"PhoneGap拍照,图片保存应用"这个主题中,我们将探讨如何利用PhoneGap API调用Android设备的摄像头功能,并将拍摄的照片保存到应用内部。以下是一些关键的知识点: 1. **PhoneGap安装与配置**:首先,你需要在...
开发者可以通过调用`navigator.camera.getPicture`方法,选择拍照或从相册选取图片,并获取图片的Base64编码或文件路径。 4. **图片处理**:在上传之前,可能需要对图片进行一些处理,如调整尺寸、裁剪或者压缩,以...
在"phonegap拍照上传"这个主题中,我们将探讨如何使用PhoneGap来实现在移动应用中拍照并上传到服务器的功能。这一过程通常包括以下几个关键步骤: 1. **安装和配置PhoneGap**:首先,你需要在本地环境安装PhoneGap...
例如,创建一个按钮触发拍照或选图操作,并在成功获取图片后更新页面: ```html 选择图片 <div id="imagePreview"></div> $(document).ready(function() { $('#getPic').click(function() { navigator.camera....
`camera` API则允许用户拍照或从相册选择图片。`geolocation` API可以获取设备的位置信息。这些功能在`phonegap100_apidemo`中通常会有专门的示例代码来演示如何调用和使用。 3. **文件系统访问**:通过`file` API...
7. **社区和文档**:PhoneGap拥有强大的社区支持,开发者可以通过论坛、博客和教程获取帮助。不过,对于较旧的版本,文档可能不如最新版完善,因此找到可靠的资料和示例代码至关重要。 8. **性能考虑**:在PhoneGap...
8. **摄像头** (Camera): 通过调用`navigator.camera`,用户可以访问设备的摄像头,拍照或选择现有图片。 9. **联系人** (Contacts): `navigator.contacts`接口用于创建、读取、更新和删除联系人信息。 10. **加速...
例如,通过Geolocation API获取用户的地理位置,通过Camera API拍照或选取图片,使用Accelerometer API检测设备的加速度等。 4. **PhoneGap Build**:除了本地开发环境,PhoneGap还提供了在线的PhoneGap Build服务...
章节可能涵盖`navigator.camera.getPicture()`用于拍照或选取相册图片,以及`Media`对象用于录制和播放音频。 10. 应用生命周期管理:PhoneGap应用遵循设备的生命周期,如启动、暂停、恢复和关闭。开发者需要理解...
1. 设备功能插件:如Camera插件,允许用户在应用内拍照或从相册选择图片;Geolocation插件,用于获取设备的地理位置信息;Accelerometer插件,用于读取设备的运动数据。 2. 用户界面插件:例如Toast插件,可以显示...
**加速度计**是PhoneGap API中的一个重要模块,用于获取设备在X、Y、Z三个方向上的物理加速度。它主要用于监测设备的物理运动,比如摇晃、倾斜等动作。 - **方法** - `accelerometer.getCurrentAcceleration()`: ...
1. `getPicture`: 这是获取图片的主要方法,可以用来打开摄像头拍照或者从设备的相册选择图片。它接受三个参数,分别是: - `successCallback`: 图片数据(以Base64编码或文件路径)返回的回调函数。 - `...
// 成功获取图片后执行的回调函数 console.log('图片已拍摄:', imageUri); // 在这里可以处理图片,如显示在页面上或上传服务器 }, function(error) { // 拍照失败时执行的回调函数 console.error('拍照失败:...
PhoneGap 5.4.1 是一个开源框架,它...通过这个Demo,开发者可以学习如何在PhoneGap应用中实现拍照和上传功能,同时也了解了如何在Java后端接收并处理这些上传的文件。这对于开发跨平台的移动应用具有实际指导意义。
这个方法接受三个回调参数:成功处理函数、错误处理函数和配置选项,用于指定获取图片的方式(相机或相册)、图片质量、存储位置等。 2. **HTML5文件API**:获取到图片后,我们需要在前端进行裁剪操作。HTML5的...
例如,在调用设备相机拍照后,可以通过`onSuccess`和`onError`回调处理图片数据或错误。 7. **安全与性能** JS与Android交互时需要注意权限管理,确保只访问必要的设备功能。同时,频繁的跨层通信可能影响性能,...
5. **相机API(Camera API)**:拍照或从图库选择图片,并进行裁剪。 6. **文件系统API(File System API)**:读写文件和目录,实现本地文件存储。 7. **通知API(Notification API)**:弹出警告框、振动设备或者...
例如,`Camera` API用于拍照或从相册选择图片,`Geolocation` API获取设备位置信息,`Accelerometer` API监测设备的运动状态。 4. **插件系统**:PhoneGap的核心API可能无法满足所有需求,但其强大的插件系统允许...