欢迎来到天天文库
浏览记录
ID:36012108
大小:702.02 KB
页数:18页
时间:2019-04-29
《嵌入式linux驱动开发大作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《嵌入式Linux驱动开发》大作业专业:计算机科学与技术班级:计算机13-1班学号:13034480149姓名:刘炳君16目录一、系统分析与总体设计11.1课题意义11.2需求分析11.3概要设计11.4总体设计31.5系统的开发环境31.5.1嵌入式与Android平台的介绍31.5.2Linux介绍31.6模块图31.6.1图片刷新模块31.6.2滑动处理模块4二、系统的详细设计52.1用户操作流程52.2算法实现62.2.1图片的数据结构62.2.2图片的切换72.2.3消图7三、系统实现与调试83.1调试过程83.1.1错误信息83.1.2解决方法83.2系统运行8四、附
2、有程序代码10五、总结1616一、系统分析与总体设计1.1课题意义随着嵌入式系统在手机领域的发展,消费者对嵌入式系统的相册功能也越来越关注,对于嵌入式系统而言,在软件方面,基于Linux的Android系统是较为完整的嵌入式操作系统,Eclipse下的Android更是一个极具效率的软件开发工具,因此“Android”成为主流的嵌入式应用开发系统。1.2需求分析在相册功能中,3D显示是较为流行的功能。可以根据个人的需要自由的选择图片。功能要求如下:界面需求:良好的用户界面、级别显示和分数显示。把图片放在界面上,用户通过滑动来观看图片和选择图片。用一种颜色作为背景,最好为蓝绿色,宽
3、度适中,要实现美感。滑动需求:实现动态的滑动。当切换到另一张图片时,图片缓慢的切换到另一张图片。使用户的视觉效果更逼真。滑动处理事件:当手触摸到屏幕时,可通过向左、向右滑动来对图片进行向向左、向右切换。1.3概要设计图1-1为3D相册的总体流程图。16图1-1基于Android的3D相册图流程图具体步骤如下:(1)显示界面;(2)根据滑动判断图片的方向;(3)若是左边,则向左进行滑动。若是右边,则向右进行滑动。(4)图片开始滑动。(5)图片停止滑动。161.4总体设计本界面简洁明了,没有什么花哨的东西,只要向左向右滑动就行了。操作者主要有触摸屏来完成。触摸屏可以进行左右滑动的操作
4、。相册中所用到的类如下图所示:图1-2类图1.5系统的开发环境1.5.1嵌入式与Android平台的介绍嵌入式系统作为芯片和软件的集成体,在科学研究,工业控制,军事技术,医疗卫生,消费电子等方面有着普遍的应用,本软件是基于Android的研究平台.Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由AndyRubin开发,主要支持手机。1.5.2Linux介绍Linux是一套免费使用和自由传播的
5、类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。1.6模块图1.6.1图片刷新模块在图片刷新模块中可以获取新的图片privatevoidtransformImageBitmap(ImageViewchild,Transformationt,introtationAngle){mCamera.save();16finalMatriximageMatrix=t.getMat
6、rix();finalintimageHeight=child.getLayoutParams().height;finalintimageWidth=child.getLayoutParams().width;finalintrotation=Math.abs(rotationAngle);mCamera.translate(0.0f,0.0f,100.0f);//Astheangleoftheviewgetsless,zoominif(rotation7、1.5));mCamera.translate(0.0f,0.0f,zoomAmount);((ImageView)(child)).setAlpha((int)(255-rotation*2.5));}mCamera.rotateY(rotationAngle);mCamera.getMatrix(imageMatrix);imageMatrix.preTranslate(-(imageWidth/2),-(imageHeight/2));imageMatrix.postTra
7、1.5));mCamera.translate(0.0f,0.0f,zoomAmount);((ImageView)(child)).setAlpha((int)(255-rotation*2.5));}mCamera.rotateY(rotationAngle);mCamera.getMatrix(imageMatrix);imageMatrix.preTranslate(-(imageWidth/2),-(imageHeight/2));imageMatrix.postTra
此文档下载收益归作者所有