本设计是基于Google公司开发的Android操作系统,该系统基于Linux内核,2007年11月5日,Google公司将其对外公开,开放之后便由手机联盟进行开发。Android系统的底层的组成结构为操作系统、中间件、用户界面和应用软件4个层面,它是建立在Linux系统之上。使用的是一种被叫做软件叠层(Softtware Stack)的构建方式。让层与层之间互相隔开是这种结构的最大的特点,各个层面能够分工合作,各司其职,保证了低耦合。不论下层发生什么样的变化,上层都不需要做出任何的理会。各公司可自行开发应用软件,因为Android只负责提供基本功能。
Camera做为Android的一大功能,同样可以分为三层,应用层、HAL层和Linux驱动层。Linux驱动层关系到Camera控制驱动和Camera Sensor驱动。Camera控制驱动的参考代码是由芯片厂商提供的,Camera Sensor驱动是手机设计研发公司按照Camera控制器驱动提供的接口对具体的Camera外设进行初始化和配置以能够协调Camera控制器和Camera Sensor,使他们能够正常工作。HAL层通常是由提供芯片的厂商提供参考代码,需要和驱动层相配合。提供的厂商不同,所以标准也不尽统一。而应用层,也就是我所即将研究的一层,是由Google提供的参考代码,有较为成熟完善的接口。
本设计所研究的Camera的功能描述主要包括:打开摄像头开启预览功能、实现相机拍照功能、实现相机录像功能、手势缩放焦距功能、闪光灯切换功能、对图片及视频保存和操作功能、删除已保存图片或视频功能。
1 简介
1。1背景
现代社会科学技术和移动互联网的飞速发展,影响着大街小巷的家家户户。几乎人手一部的移动智能手机拥有着一些强大的功能。而现在智能机的开发平台中Android平台占据着大半个市场。说起挑选手机,很多人将手机中的相机作为重要的参考因素,主要是因为移动智能手机的便携还有其日趋完善强大且不弱于单反相机的拍照和录像功能。
本设计就是基于现在为大众所熟用的Android系统,主要运用java语言对Camera进行开发,使摄像头能够物尽其用,发挥出它真正的作用个,留住人与人在交流、生活、工作和学习时的美好的瞬间。不同的摄像头所呈现的效果也不尽相同,分辨率高的就比较清晰,而分辨率低的摄像头则画质比较模糊,现在市场上的手机、相机对于摄像头的要求与配置也是愈来愈高,这标志着人们的生活水平质量的显著提高。
1。2 目的
快节奏的生活给人们平添了许多无形的压力,许多时候,就是因为忙忙碌碌的快节奏让我们的生活流失掉了很多美好的瞬间,而这个时候,相机也许就是我们大家留住身边的美好的重要媒介。
随着移动互联网的快速发展,移动智能端已经遍及每个城市的大街小巷。人们的生活越来越离不开移动手机所带来的生活的便捷,而手机相机作为一个重要的功能也在为人类的生活增光添彩。
Android端Camera不仅操作简单,功能强大,而且相比较笨重的单反相机、数码相机更有着便携的优势,人们可以将相机放进口袋,放进包包,随时随地的享受留住美好瞬间的快乐。
1。3 Camera模块功能说明
本设计研究内容基于Linux操作平台,开发工具为配置ADT的Eclipse,使用Java语言进行开发,在真机Coolpad 8675-HD上进行实验调试。模仿360相机实现基本功能,图片资源来源于360相机,仅供论文学习使用,未对所有机型做适配和SDK版本做适配!
2 开发平台及语言介绍
2。1 Linux操作平台
Linux简介
Linux系统是一套类Unix系统,它不仅免费让用户体验使用,而且还可以由用户自由传播。它的强大在于它基于POSI和UNIX的多用户、多任务、支持多线程和多CPU,而且UNIX主要的工具软件、应用程序和网络协议Linux都可以使用。它能够支持32位和64位的硬件。Linux的核心设计思想就是来自于Unix的以网络为核心,它不仅性能稳定,还支持多用户操作。它主要用于在Intel x86系列CPU的 计算机上。这个系统的创造者是来自于全球千千万万的程序员,创造它的目的是建立一个不会被商品化软件的版权制约的、全世界都可以放心的免费使用 的Unix兼容产品。当前Linux系统中存在着许多不同的版本,但它们都有着一个共同点,那就是都基于Linux内核。Linux还有一个大特点,那就是它可以安装在各种计算机硬件设备中。