当前位置:文档之家› 智能移动终端应用开发 设计报告

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

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

(2013/2014学年第2学期)

题 目 : 电子相册 学 院 : 信息与电气工程学院 专 业 : 电子信息工程 姓 名 : 学 号 : 设计成绩 :

2014年5月15日 1

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

图1 电子相册系统功能结构图 2 软件总体设计 2.1 软件介绍 电子相册是现在时下很流行的一种网络元素,它可以应用于很多的领域。制作好的电子相册可以在电脑上,各类影碟机上,以及手机和MP4里都能观看。当然,如果考虑到长期保存的话,也可以保存在硬盘上,也便于随时调阅、欣赏,永久保存。通过电子相册软件,我们的照片可以更加动态、更加多姿多彩的展现,刻录在光盘上保存,或在影碟机上播放。 电子相册是指可以在电脑上观赏的区别于CD/VCD的静止图片的特殊文档,其内容不局限于摄影照片,也可以包括各种艺术创作图片。电子相册具有传统相册无法比拟的优越性:图、文、声、像并茂的表现手法,随意修改编辑的功能,快速的检索方式,永不褪色的恒久保存特性,以及廉价复制分发的优越手段。

电子相册系统 创建相册

浏览相片 上传相片 删除相册或相片 播放查看照片

添加图片说明 2

2.2 程序流程图

图2 电子相册系统功能流程图 3 2.3 程序界面

图3 电子相册程序主界面 4 图4 电子相册图片文件 5 图5 电子相册图片浏览 3 关键技术分析 制作电子相册首先要获得图片文件,通过拍摄,可以直接得到电子图片文件。电子相册分两种,一种是软件类型电子相册,一种是硬件类型电子相册。 本设计是属于硬件类型的电子相册,一些数码相框只能够显示JPEG这种通用格式的图片,也就是说有些高端产品也是可以显示比如png这类型的图片格式的。大多数数码相框是以幻灯片的形式显示照片的,通常可以通过调节切换时间间隔来达到满意的效果。某些相框还也可以通过互联网上的RSS,图片共享网站还有电子邮件这些媒介来加载图片。而具备这种网络功能的相框通常是支 6

持无线连接的。还有些其他的电子相框可以显示txt文件的。电子相框显示的图片文件通常是从手机存储卡读取的,尽管某些相框还提供内部存储。某些框架电子相框具备使用USB接口从电脑直接传输文件到电子相框的功能。然而,由于价格过高,一般很少有数码相框内置有记忆体的。其中一些人还包括一个或者是可充电电池的。因此,手机安卓版电子相册已经成为浏览图片的一种潮流。

4 软件详细设计 (1)创建相册 用户可以根据自己的需要来创建新的相册,把照片分类。 通过“相册主页”左侧的链接点击“创建相册”进入到“创建目录页面”,根据提示输入新创建的相册名称,选择创建,则新建相册成功,转到新建的相册里。 (2)浏览相册 用户可直接或用打开相册的方式浏览主页上的照片和相册里的照片 (3)上传相片 用户可以根据自己的需要上传照片。 通过“相册主页”左侧的链接点击“上传照片”进入到“上传照片页面”,根据提示输入选择上传方式。如果从本地上传,选择“浏览”在本地打开一张照片,点击“上传”则上传照片成功,否则提示“上传文件出错”。上传照片完成后,返回到相册主页或某相册。 (4)删除相片 用户可以根据自己的需要删除相册或照片。 每个相册和每张照片后面都有“删除”的字样,点击后会出现提示“是否删除”,选择确认则删除成功,返回相册主页;选择取消则无变化,返回相册主页。 (5)添加图片说明 用户可以根据自己的需要给已经上传的照片添加相应的说明。 选择所要浏览的图片后,在“添加你对照片的描述”文本框上,删除掉“添加你对照片的描述”,并写入你对图片的描述 (6)软件设计基本思路 gallery选中的图片在ImageView中显示出来,ImageView的一个View实际上就是一个ImageView,gllery的一个View也是一个ImageView. //通过这个来进行循环 public int getCount() { 7

return Integer.MAX_VALUE; } //制作View public View getView(int position, View convertView, ViewGroup parent) { ImageView image=new ImageView(context); image.setImageResource(preImages[position%preImages.length]); image.setScaleType(ImageView.ScaleType.FIT_XY); image.setLayoutParams(new Gallery.LayoutParams(200, 120)); image.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0)); return image; } //设置View的背景 typedArray = obtainStyledAttributes(R.styleable.Gallery); image.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0)); //设置ImageSwitcher中的ImageView switcher.setFactory(new ViewFactory(){ public View makeView() { ImageView image=new ImageView(Scan_pic.this); image.setScaleType(ImageView.ScaleType.FIT_CENTER); image.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT)); return image; } }; public class Scan_pic extends Activity { private ImageSwitcher switcher; private Gallery gallery; 8

private int[] preImages; private int[] afterImages; private int postion; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scanpic); switcher=(ImageSwitcher)findViewById(R.id.imageSwitcher_scan_pic); gallery=(Gallery)findViewById(R.id.gallery1_scan_pic); afterImages=new int[]{R.drawable.after0,R.drawable.after1,R.drawable.after2,R.drawable.after3}; preImages=new int[]{R.drawable.pre0,R.drawable.pre1,R.drawable.pre2,R.drawable.pre3}; gallery.setAdapter(new ImageAdapter(preImages,Scan_pic.this)); //设置gallery的项单击事件,更换ImagerSwitcher中的图片 gallery.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { switcher.setImageResource(preImages[arg2%preImages.length]); postion=arg2%preImages.length; } }; //设置ImageSwitcher中的ImageView switcher.setFactory(new ViewFactory(){ public View makeView() { ImageView image=new ImageView(Scan_pic.this); image.setScaleType(ImageView.ScaleType.FIT_CENTER); image.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

相关主题