AM安卓完整报告.docx
《AM安卓完整报告.docx》由会员分享,可在线阅读,更多相关《AM安卓完整报告.docx(12页珍藏版)》请在课桌文档上搜索。
1、AM安卓完整报告Android照相机软件1.软件需求分析如今很多科技进步更新很快,也给人们带来了便利,手机的功能越来越强大,人们对手机的需求早已不是基本的打电话和发短信,人们更多的是希望手机能像电脑一样便利,所以智能手机慢慢成为人们选择的目标。其中Android照相机的种类也越来越多。设计Android照相机首先要比照相机的各种性能有肯定的解,要知道一个Android照相机都包含哪些必备的东西,在大脑里形成肯定的脉络。布没有硬件的状况卜可以在虚拟机里创建开发环境和测试。Eclipse就是一个开放源代码的、基于Java的可扩绽开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建
2、开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKitJDK)0基于Android的笑脸识别照相机和一般照相机有大部分的性能是一样的,都须要进行对主界面的设置,相机焦距的自动调整,配置相机特性的参数,保存图片等等。不同的在于,笑脸识别照相机是一款手机处在拍摄界面时通过被拍摄人是否微笑来感应从而实现拍照功能,即先轻敲摄像头按钮,当被拍人物微笑就会时自动拍照。2.软件总体设计2.1过程设计(1)主界面:全屏,半透亮;(2)轻敲摄像头按钮,当被拍人物微笑时自动拍照:(3)图片被点击触发的时间:(4)拍摄的图片的预览设置:预览大小,设置Su
3、rface辨别率;(5)图片保存和保存拍摄图片后还须要配置相机特性的参数,设置保存的图片尺寸以及设置图片质量;(6)拍摄效果:反光,黑白等:(7)写相应的数据权限。2.2拍摄流程图主界面笑脸感应拍摄相机自动焦距保存图片开启相机拍摄图片预览退出屏幕常亮放弃拍摄返回拍摄主界面2.2拍摄流程图3.关键技术分析设计Android照相机过程一些可能须要用到的函数:(1)创建一个ACtiVity用来标识恳求照相功能。activity在创建的时候回调的函数主要用来初始化一些变量。SurfaceHoldcr.Callback接口:SurfaceHolder.Callback是用于接受发生在SurfaceVie
4、w中变化的信息SurfaceHoldcr.CalIback实现三个函数:SurfaccChanged当surface的大小或是尺寸变更的时候调用SurfaceCreated:当surface被创建时调用SurfaccDcstroyed:当surface被毁坏时调用。(2)SurfaceView控件显示照相机中的预览效果。(3)屏幕显示设为半透亮,全屏,没有标题:SetContentView(R.layout,main):mSurfaceView=(SurfaceView)findViewById(R.id.surface_camera)(4) SurfaceHolderSUrfaCeHolde
5、r用来限制SurfaceView,它是系统供应的一个用来设置SurfaceVicw的一个对象,而它通过SurfaceView.gelHolder0这个方法来获得。而Camera提供一个SetPreviewDisplay(SurfaceHolclcr)的方法来连接SUrfaCeHOlder,并通过来它限制SurfaceViewo(5) StartPreVieW()和StoPPreVieW()开启和关闭预览。(6) Camera.open()这走个静态方法,假如相机没有别人用着,则会返回一个相机引用,假如被人用着,则会抛出异样。(7) )SurfaceHolder.Callback这是个holde
6、r用来显示SUrfaCCVieW数据的接口,他分别必需实现3个方法:SUrfaCeCreatedo这个方法是surface被创建后调用的:SUrfaCeChangedo这个方法是当SurfaceVicw发生变更后调用的;SUrfaCeDeStrOyed()这个是当SurfaceView销毁时调用的。SurfaccHolde通过addCallBack()方法将响应的接I绑定到他身上。SurfaceHoldcr还必需设定一个SeITyPeO方法。(8)MySurfaceView类它继承于SurfaceView,并在里面实现了照相机的预览功能.(9)camera.tackPiture()Canler
7、a.tackPiture()这个方法是用来实现拍照功能,这个方法有二个参数:ShutterCalIBackshutter,PictureCallBackraw和PictureCallBackjpeg.(10) shutter作用:拍照瞬间调用。(11) raw作用:获得没有压缩过的图片数据。(12) jpeg作用:返回jpeg的图片数据。(13) null当不须要对图片进行处理时,可以干脆用null代替。须要留意的事当调用camera.takePiture方法后,camera关闭了预览,这时须要调用StartPreVieW()来重新开启预览。(14) notify_calIback用于处理一些
8、通知的消息,如按了快门等。(15)我们通过BitmapFactory.decodeByterray(data,0,data,length)来获得图片并通过io处理,将图片保存到想要保存的位置。(16) setPreviewCallBack0.功能是为每一帧图片增加回调,处理并显示。4.软件具体设计4.1授权(1)首先,须要授权。uses-permissionandroid:name=android.permission.CAMERA(2)自动对焦功能:uses-featureandroid:name=android.hardware,camera,autofocus/4.2主界面的设计主界面准
9、备运用Absolute1.ayout布局来设计该界面,并且定义了一个全屏的SurfaceView用来拍摄者在进入程序的第一个界面(就是拍照界面):两个BUlIon分别是:拍照、退出。摄像头界面将通过全屏(横屏)显示。屏幕显示设为半透亮的,其代码为:setContentView(R.layout,main)04.3 拍照设置依据拍摄的方向旋转图片,还要设置被点击触发的时间配置。但是,这是对于一般的相机,对于笑脸感应照相机则是不须要被点击触发的时间配置的,它是依据人的面部表情来确认是否拍照,当人物微笑时拍摄主界面就会有所感应,就会实现拍照功能,但是,当人物面部没有任何表情或不是微笑时,拍摄界面就不
10、会有任何反应,即须要先轻敲摄像头按钮,当被拍人物微笑时就会自动拍照。还有很重要的一点就是这个笑脸感应照相机是须要前置摄像头的。拍照前的设置完毕了,那么接下来就是拍照了,拍照用到了一个Camera.tackPiture()这个方法,这个方法,有二个参数分别是ShutterCallBackshutter,PiclureCalIBackraw,PictureCa11Backjpeg。当起先拍照时,会依次调用ShUtter的OnShUtter()方法:raw的OnPictureTaken方法:jpeg的OnPiCtUreTaken方法。三个参数的作用是shutter,拍照瞬间调用;raw,获得没有压缩
11、过的图片数据:jpeg,返回jpeg的图片数据。当你不须要对图片进行处理,可以干脆用null代替。再接下来就是在Android相机快门关闭时候的回调接口,通过这个接口来通知用户快门关闭的事务,这时Android相机在快门关闭的时候都会发出响声,依据须要可以在该回调接口中定义各种动作,例如:使设备振动等等。而且这里须要留意,当调用CameraJakePiture方法后,camera关闭了预览,这时须要调用StartpreVieW()来重新开启预览。这样就是实现了拍照的功能。起先拍照时,还要准备用于表示对焦状态的图片,对焦胜利后,变更状态图片,最终停止拍照。还须要创建一个PictureCallba
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AM 完整 报告
链接地址:https://www.desk33.com/p-1498458.html