智能移动终端应用开发 设计报告.docx

上传人:b****3 文档编号:5471472 上传时间:2023-05-08 格式:DOCX 页数:13 大小:1.41MB
下载 相关 举报
智能移动终端应用开发 设计报告.docx_第1页
第1页 / 共13页
智能移动终端应用开发 设计报告.docx_第2页
第2页 / 共13页
智能移动终端应用开发 设计报告.docx_第3页
第3页 / 共13页
智能移动终端应用开发 设计报告.docx_第4页
第4页 / 共13页
智能移动终端应用开发 设计报告.docx_第5页
第5页 / 共13页
智能移动终端应用开发 设计报告.docx_第6页
第6页 / 共13页
智能移动终端应用开发 设计报告.docx_第7页
第7页 / 共13页
智能移动终端应用开发 设计报告.docx_第8页
第8页 / 共13页
智能移动终端应用开发 设计报告.docx_第9页
第9页 / 共13页
智能移动终端应用开发 设计报告.docx_第10页
第10页 / 共13页
智能移动终端应用开发 设计报告.docx_第11页
第11页 / 共13页
智能移动终端应用开发 设计报告.docx_第12页
第12页 / 共13页
智能移动终端应用开发 设计报告.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

智能移动终端应用开发 设计报告.docx

《智能移动终端应用开发 设计报告.docx》由会员分享,可在线阅读,更多相关《智能移动终端应用开发 设计报告.docx(13页珍藏版)》请在冰点文库上搜索。

智能移动终端应用开发 设计报告.docx

智能移动终端应用开发设计报告

智能移动终端应用开发

设计报告

(2013/2014学年第2学期)

 

题目:

电子相册

学院:

信息与电气工程学院

专业:

电子信息工程

姓名:

学号:

设计成绩:

2014年5月15日

1软件需求分析

本系统应该具有创建相册、浏览相片、上传相片、删除相册或相片、实现随机播放照片以及循环播放照片、可以添加图片的相关说明等功能,功能如图

 

图1电子相册系统功能结构图

2软件总体设计

2.1软件介绍

电子相册是现在时下很流行的一种网络元素,它可以应用于很多的领域。

制作好的电子相册可以在电脑上,各类影碟机上,以及手机和MP4里都能观看。

当然,如果考虑到长期保存的话,也可以保存在硬盘上,也便于随时调阅、欣赏,永久保存。

通过电子相册软件,我们的照片可以更加动态、更加多姿多彩的展现,刻录在光盘上保存,或在影碟机上播放。

电子相册是指可以在电脑上观赏的区别于CD/VCD的静止图片的特殊文档,其内容不局限于摄影照片,也可以包括各种艺术创作图片。

电子相册具有传统相册无法比拟的优越性:

图、文、声、像并茂的表现手法,随意修改编辑的功能,快速的检索方式,永不褪色的恒久保存特性,以及廉价复制分发的优越手段。

 

2.2程序流程图

图2电子相册系统功能流程图

 

2.3程序界面

图3电子相册程序主界面

图4电子相册图片文件

图5电子相册图片浏览

3关键技术分析

制作电子相册首先要获得图片文件,通过拍摄,可以直接得到电子图片文件。

电子相册分两种,一种是软件类型电子相册,一种是硬件类型电子相册。

本设计是属于硬件类型的电子相册,一些数码相框只能够显示JPEG这种通用格式的图片,也就是说有些高端产品也是可以显示比如png这类型的图片格式的。

大多数数码相框是以幻灯片的形式显示照片的,通常可以通过调节切换时间间隔来达到满意的效果。

某些相框还也可以通过互联网上的RSS,图片共享网站还有电子邮件这些媒介来加载图片。

而具备这种网络功能的相框通常是支持无线连接的。

还有些其他的电子相框可以显示txt文件的。

电子相框显示的图片文件通常是从手机存储卡读取的,尽管某些相框还提供内部存储。

某些框架电子相框具备使用USB接口从电脑直接传输文件到电子相框的功能。

然而,由于价格过高,一般很少有数码相框内置有记忆体的。

其中一些人还包括一个或者是可充电电池的。

因此,手机安卓版电子相册已经成为浏览图片的一种潮流。

4软件详细设计

(1)创建相册

用户可以根据自己的需要来创建新的相册,把照片分类。

通过“相册主页”左侧的链接点击“创建相册”进入到“创建目录页面”,根据提示输入新创建的相册名称,选择创建,则新建相册成功,转到新建的相册里。

(2)浏览相册

用户可直接或用打开相册的方式浏览主页上的照片和相册里的照片

(3)上传相片

用户可以根据自己的需要上传照片。

通过“相册主页”左侧的链接点击“上传照片”进入到“上传照片页面”,根据提示输入选择上传方式。

如果从本地上传,选择“浏览”在本地打开一张照片,点击“上传”则上传照片成功,否则提示“上传文件出错”。

上传照片完成后,返回到相册主页或某相册。

(4)删除相片

用户可以根据自己的需要删除相册或照片。

每个相册和每张照片后面都有“删除”的字样,点击后会出现提示“是否删除”,选择确认则删除成功,返回相册主页;选择取消则无变化,返回相册主页。

(5)添加图片说明

用户可以根据自己的需要给已经上传的照片添加相应的说明。

选择所要浏览的图片后,在“添加你对照片的描述”文本框上,删除掉“添加你对照片的描述”,并写入你对图片的描述

(6)软件设计基本思路

gallery选中的图片在ImageView中显示出来,ImageView的一个View实际上就是一个ImageView,gllery的一个View也是一个ImageView.

//通过这个来进行循环

publicintgetCount(){

returnInteger.MAX_VALUE;

}

//制作View

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

ImageViewimage=newImageView(context);

image.setImageResource(preImages[position%preImages.length]);image.setScaleType(ImageView.ScaleType.FIT_XY);

image.setLayoutParams(newGallery.LayoutParams(200,120));

image.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground,0));

returnimage;

}

//设置View的背景

typedArray=obtainStyledAttributes(R.styleable.Gallery);

image.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground,0));

//设置ImageSwitcher中的ImageView

switcher.setFactory(newViewFactory(){

publicViewmakeView(){

ImageViewimage=newImageView(Scan_pic.this);

image.setScaleType(ImageView.ScaleType.FIT_CENTER);

image.setLayoutParams(newImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

returnimage;

}

};

publicclassScan_picextendsActivity{

privateImageSwitcherswitcher;

privateGallerygallery;

privateint[]preImages;

privateint[]afterImages;

privateintpostion;

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.scanpic);

switcher=(ImageSwitcher)findViewById(R.id.imageSwitcher_scan_pic);

gallery=(Gallery)findViewById(R.id.gallery1_scan_pic);

afterImages=newint[]{R.drawable.after0,R.drawable.after1,R.drawable.after2,R.drawable.after3};

preImages=newint[]{R.drawable.pre0,R.drawable.pre1,R.drawable.pre2,R.drawable.pre3};

gallery.setAdapter(newImageAdapter(preImages,Scan_pic.this));

//设置gallery的项单击事件,更换ImagerSwitcher中的图片

gallery.setOnItemClickListener(newOnItemClickListener(){

publicvoidonItemClick(AdapterView

>arg0,Viewarg1,

intarg2,longarg3){

switcher.setImageResource(preImages[arg2%preImages.length]);

postion=arg2%preImages.length;

}

};

//设置ImageSwitcher中的ImageView

switcher.setFactory(newViewFactory(){

publicViewmakeView(){

ImageViewimage=newImageView(Scan_pic.this);

image.setScaleType(ImageView.ScaleType.FIT_CENTER);

image.setLayoutParams(newImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

returnimage;

}

};

switcher.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

Intentintent=newIntent(Scan_pic.this,StartGame.class);

intent.putExtra("position",postion);

startActivity(intent);

}

};

}

classImageAdapterextendsBaseAdapter{

int[]preImages;

Contextcontext;

TypedArraytypedArray;

publicImageAdapter(int[]preImages,Contextcontext){

this.preImages=preImages;

this.context=context;

typedArray=obtainStyledAttributes(R.styleable.Gallery);//设置Gallery中的ImageView即每一项的背景

}

publicintgetCount(){

returnInteger.MAX_VALUE;//通过这个来进行循环

}

publicObjectgetItem(intposition){

returnposition;

}

publiclonggetItemId(intposition){

returnposition;

}

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

ImageViewimage=newImageView(context);

image.setImageResource(preImages[position%preImages.length]);//通过这个来进行循环

image.setScaleType(ImageView.ScaleType.FIT_XY);

image.setLayoutParams(newGallery.LayoutParams(200,120));image.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground,0));

returnimage;

}

}

}

5软件测试方案

软件的基本功能都能实现,能实现基本的对手机里面的图片进行浏览,可以左右滑动,或者点击图片下方的按钮实现,如果不想一张张浏览,还可以像播放幻灯片一样的效果来浏览所有图片,点击播放键能实现该功能;点击下方删除键可以实现对图片的删除,对于文件夹,按住不动会出现删除或者返回的选项;如果要对某张图片添加备注或者解释,点击下方按钮实现添加说明功能,直接进行文字的添加或者删除,添加完后返回就立即保存,等要查看图片的说明时,直接双击图片就能出现已经添加的文字说明;不光图片来自手机拍摄,有时候需要上传其它地方来的图片或者相册文件夹,软件也同样可以创建相册,上传照片等。

由于系统版本和硬件的原因而导致程序的意外终止,程序代码上存在读写和存取效率的问题,这些问题在日后的编码过程中是能够完全改善的,测试过程中所出现的问题完全不会影响程序的正常运行。

6设计总结

通过两周的设计,收获颇丰,我有了学习上的成果的喜悦,在课堂上学java编程,但是那些都是学的皮毛而已,没有真正应用到实际例子中,也很难发现自己的不足,这次设计电子相册,知识得到了扩充,认识得到了加深,也使得我们的自学能力得到了很大的提高,在此,我向老师表示由衷地感谢。

这次学习让我对安卓开发又有了新的认识,我们必需边总结边学习,遇到问题要虚心请教老师,学习知识的过程其实就是相互学习相互进步的过程。

有些知识点以前没有学过,但我也没有去研究,做设计才突然间觉得自己真的有点无知,虽然现在去看依然可以解决问题,但要浪费许多时间,这一点是我必须在以后的学习中加以改进的地方,同时也要督促自己在学习的过程中不断的完善自我。

我从前觉得以为只要程序编得能够好就行,很少有意识的训练自己对整个系统的设计。

而且每次课程题目都是急于编码,根本不从整体考虑系统和设计。

显然,这种方法是不可取得,若是一个小程序还可以,但是涉及到稍微大一些的项目时,就会出现顾此失彼,多次返工,最后会心有余而力不足,使整个系统以失败结束。

在这次系统设计中我深刻体会到以下三点:

(1)需求分析是以后设计和实现能顺利进行的保证和依据。

需求分析必须认真做好,为以后设计和实现奠定好的基础。

(2)不要急于做总体设计,也不要忽略总体设计的重要性。

在做总体设计之前一定要对所做系统有个清楚地认识,也要对开发系统得技术尤其是关键技术有清楚的认识,然后选择设计模式或设计思想,这样可以避免把系统复杂化或过于简单化。

(3)整体规划或总体设计不必过于注重实现细节。

在做总体设计时不要一味的把某个功能具体到实现,不要老是把精力放在怎么实现上,而是要放在怎样完整的抽象整个系统上。

总之,由于在这两个星期内,学到了很多,个人的知识水平和经验都增长了许多,本设计中可能存在很多的问题,我会在今后的学习中逐步加强。

7参考资料

[1]李艳丽.Android事件处理过程剖析[N]长春理工大学学报2009

[2]孙卫琴.java面向对象编程[N]电子工业出版社2006年7月

[3]马越.Android的架构与应用[D]中国地质大学(北京),2008.

[4]叶炳发.Android操作系统移植及关键技术研究[D]暨南大学,2010.

[5]岳传真.Android系统移植和应用程序开发[D]复旦大学,2010.

[6]陈勋.基于android平台的资源管理器设计[D]电子科技大学,2011

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2