



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android平台下电子相框的设计 夏 翀(湖北工业大学电气与电子工程学院,湖北 武汉 430068)摘 要利用Android这个良好的平台,开发出一些适用的Android应用程序,建立更好的人机交互体系,完善各种应用需求,才能够更好的满足这个时代的发展需要。关键词Android;Java;Eclipse;电子相框中图分类号 TN927.35 文献标识码: A 1. 引言Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备,如手机,平板电脑。对基于Android平台的应用程序开发将会更好的促进Android系统的发展,电子相框将是对此最好的解释,电子相框设计的主要目的就是能够个性化的浏览图片,适应广大Android用户的需求,同时也是作为一个开发人员的适应性开发的工作需求,Android应用程序开发,通常通过Android SDK(Android软件开发包)下使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用。通常开发Android应用程序采用的是第三方提供的开发工具,Eclipse或者MyEclipse,两者很相似,关键就是一个是免费的一个是收费的,笔者使用的是Eclipse,因为他免安装,启动速度快,使用很方便,Android的结构如图1所示: 图1、Android结构图2. 介绍2.1.项目背景 随着android系统手机的不断普及,越来越多的Android应用应运而生,越来越多的需求铺天盖地而来,为了紧跟时代的潮流,提升自我对新生事物的适应速度,检测自己对这学期所学知识的掌握程度,同时也为了为以后的工作积累经验,特意制作一个Android版的电子相框来熟悉Android应用程序的开发过程。2.2. 开发环境介绍Java:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司推出的Java程序设计语言和Java平台的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。Eclipse:Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具,所以说只要是关于Java的开发基本上都是在Eclipse上完成的。Android SDK:Android SDK是Android专属的软件开发工具包,其中包含我所需要的所有功能函数和API。3. 总体设计3.1. 任务概述针对拥有Android操作系统手机的用户,为其构建出能够在Android平台上运行的电子相框,实现简单的图片亮度调节和循环浏览。3.2. 需求分析根据用户所持手机的不同,能够自动的适应不同分辨率的手机屏幕,可以根据手机屏幕的大小,自动的调整图片的大小,实现简单的图片增亮和减暗。3.3. 系统设计电子相框的结构很简单,只需要实现图片的上翻下翻就可以了,外加一点美化图片的功能,所用到的组件最主要的就是Java中的图像视图组件,具体架构如图2所示: 图2、相框布局架构布局设计采用xml文件控制,采用线性布局LinerLayout类来实现,它会将容器里的组件一个挨着一个地排列起来。LinerLayout不仅可以控制各组件横向排列(通过设置android:orientation属性控制),也可以控制各组件纵向排列,在本例中用到的是横向排列(设置属性为vertical即可),部分代码如下: 界面上的各个按钮是通过Android内置的Button类来实现的,该按钮可以供用户单击,当用用户单击按钮时,按钮会触发一个OnClick事件,为了使每个按钮都有自己特定的功能,每定义一个Button都必须为之分配相应的ID,以便在实现代码中定义相应的功能,并且还要为之分配对应的名称以便区别,本例其中一个Button的源码如下: 相册在初始化的时候我们需要为其固定一张默认的图片,否则相册是无法知道从哪里开始的,在这里我们用的图像视图(ImageView)类,ImageView继承自View组件,它的主要功能是用于显示图片,具体构造方法如下:4. 程序实现首先将事先准备好的图片存放在drawable文件夹下,然后新建一个接口:public interface ImageResource /用一个Integer数组保存图像资源 Integer dImageID = R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5, ; 这个接口里有一个int型的数组保存了drawable下的图片,这样方便以后修改。下面来实现图片透明的改变,本例的图片浏览器可以改变所查看图片的透明度,可以通过调用ImageView的setAlpha方法来实现,为了能够动态改变图片的透明度,接下来需要为按钮编写事件监听器,当用户单击按钮时能够动态地改变图片的Alpha值。首先初始化图像的透明度为255:Private int alpha = 255 ;/定义改变图片透明度的方OnClickListener listener = new OnClickListener()public void onClick(View v) if(v =plus)alpha += 20;if(v = minus)alpha -= 20;if(alpha = 255)alpha = 255;if(alpha 0)alpha = 0;/改变图片透明度image.setAlpha(alpha); ;接下来就是要实现图片的上下浏览的功能,我们采用的是循环检测机制来实现的,首先必须固定默认显示图片的编号,以便程序自我计数,确定当前图片的位置,当越界的时候能够自动的跳转到起始位置,同时我们在图片查看中定义了强制回收机制,以便程序在没有回收的图片的时候实现程序自动强制回收,显示下一个图片,实现代码如下:/定义查看上一张图片的监听器 last.setOnClickListener(new OnClickListener()public void onClick(View v) / TODO Auto-generated method stubif(currentImg=0)currentImg = 24 ;BitmapDrawable bitmapDrawable = (BitmapDrawable) image.getDrawable();/如果图片还未回收,先强制回收该图片if(!bitmapDrawable.getBitmap().isRecycled()bitmapDrawable.getBitmap().recycle();/改变ImageView显示的图片image.setImageBitmap(BitmapFactory.decodeResource(getResources(), images-currentImg); );最终效果如图3所示: 图3、实物图5. 系统测试5.1. 测试平台介绍电子相框的测试主要的硬件平台是XP系统平台上的Android模拟器和装有Android系统的真机,模拟器主要是做开发测试,可以直接对源码进行操作,测试比较方便;真机测试主要是在实际环境下的测试,看看能否具体满足需求。5.2. 测试结果图 5.3. 测试结果分析软件的基本功能都能实现,由于系统版本和硬件的原因而导致程序的意外终止,程序代码上不存在语法上的错误,只是存在读写和存取效率的问题,这些问题在日后的编码过程中是能够完全改善的,测试过程中所出现的bug完全不会影响程序的正常运行。6. 结束语在本文中我们提到了一个简单的Android应用程序的开发过程,同时也向读者们介绍了时下最流行的手机操作系统,从开发工程中不难看出,Android系统的应用前景还是相当宽广,在今后的发展过程中Android系统将会像windows系统占领广大PC市场一样占领广大的手机市场,届时将会有更多的Android应用需求和广阔市场需求,对Android开发有兴趣的读者不妨也试试,练一练手,熟悉一下Android应用程序的开发过程,相信你也会收获很多的。7. 参考文献1 李刚:疯狂Android讲义M,电子工业出版社,2011第2版。2 马洪连:嵌入式系统设计教程M,电子工业出版社,2009第1版。3 姚昱旻:Android的架构与应用开发研究 J,计算机系统应用,2012年第5期。4 J.F. DiMarzio:Android A Programmers GuideM,2008。DigitalphotoframeintheAndroidplatform-baseddesign Xia Chong(School of Electrical & Electronic Engin. ,Hubei Univ. of Technology, Wuhan 430068)Abstract:WithAndroid,agoodplatformtodevelopf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师职业道德守则标准解读
- 综合布线施工安全技术交底资料
- 临床医学招工考试试题及答案2025年版
- 临床遗传咨询考试题及答案2025年版
- 临床医学考研学硕试题及答案2025年版
- 2025年上海市建筑三类安全员考试题库及答案
- 2025年建筑安全员安全生产知识竞赛试题库(含答案解析)
- 2025年综合安全治理试题及答案
- 岗位能力模型构建流程
- 四年级科学声音单元横向测试题
- 房地产质量管理制度
- 《电力建设工程施工安全管理导则》(NB∕T 10096-2018)
- 2024医疗设备融资租赁法规解读
- 2020-2024年五年高考政治真题分类汇编专题19 世界多极化(原卷版)
- 水平定向钻施工方案(专家论证)
- 胃食管反流-讲稿
- 2024至2030年中国扇数据监测研究报告
- 2024-2030年中国化工新材料行业需求趋势及发展可行性分析报告
- 急诊急救流程大全
- 山西血液净化护理知识竞赛考试题库(含答案)
- 2024年提前解除终止服务合同协议书
评论
0/150
提交评论