admin 管理员组

文章数量: 887031


2024年1月26日发(作者:scalar port)

本科毕业设计论文

题 目基于Android平台的下载图片制作手机背景的APP开发

专业名称电子科学与技术

学生姓名

指导教师

毕业时间2016.06

毕业任务书

设计

论文

一、题目

基于Android平台的下载图片制作手机背景的APP开发

二、指导思想和目的要求

随着智能手机的普及,手机在我们的生活中逐渐占据了更加重要的地位,各种各样的手机APP也孕育而生。

现在基于智能移动终端和移动网络覆盖的普及以及网速的提高,移动互联网已是人们生活中必不可少的成分。比如说:购物、阅读、社交等。同时由于现在人们的生活也比以前多元化,生活中交际的人群也趋于多元化,那么社交软件便由此产生,而且深受人们的欢迎,现已是人们生活中必不可少的成分。现在社交移动应用不仅仅是便于人们对自己周围交际的人进行信息沟通也是自己向外界释放自己心理活动的平台,这样的平台可以让大家了解自己最近的生活和心理状态。相反地,自己也可以了解到自己周围的人最近的各种生活、心理状态。由于生活得多元化,人们心理追求的精神生活也有一定的提高,社交软件不仅仅提供的是社交的便捷性和管理交际圈的便捷性,同时也是精神生活的消费和体验。随着人们生活水平逐渐的提高,那么人们生活上心理也会有微妙的变化,那么对社交应用的心理体验要求也会有微妙的变化,所以社交应用是很有市场的。更重要的是社交应用正在朝着精神生活需要的方向发展,而这个方向更是多元的和瞬息万变的。

本项目是一款基于Android平台的下载图片制作手机背景的APP开发,使Android手机拥有个性的手机背景,是手机显得更生动灵活化,与人们更为方便,让手机主人随时随地更换手机背景。本设计实现的重要功能是下载网络上更多的图片资源,并且知道图片的更多属性。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。

三、主要技术指标

Java语言:Java语言是一种能在跨平台应用程序的程序设计语言。这种语言

技术具有非常卓越的平台移植性、通用性、高效性以及安全性。

Eclipse软件:Eclipse是一种跨平台的自由集成开发环境(IDE)。它最主要的目的用来开发Java语言。但是也有人通过外挂程式使其作为其他一些计算机

语言的开发工具,比如C++语言和Python语言。

JDK :Java Development Kit (JDK)是整个Java技术的核心,其中包括了Java运行环境、Java工具和Java基础类库。

SDK: Software development kit(SDK)是一些被软件工程师用于为特

定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

运行环境:软件运行在windows7系统下,App运行在Android 4.4.2及以上版本

四、进度和要求

第2周到第3周: 了解设计课题内容,查阅资料,撰写开题报告。

第4周到第5周: 进一步查阅资料,对设计有一个初步的想法。

第6周到第7周: 学习Eclipse,JSD, SDK软件的应用,并运行一些晓得程序熟悉软件,搭建Android平台。

第8周到第9周: 进行初步的设计,是应用初具模型。

第10周到第11周: 编写相关程序,对程序进行测试查找BUG并做出修改。

第12周到第13周: 继续完善该设计,测试调试修改。

第13周到第14周: 整理完成毕业设计,撰写毕业论文。

第15周到第16周: 准备及完成毕业答辩。

五、主要参考书及参考资料

[1]李佐彬.ANDROID开发入门与实战体验[M].

机械工业出版社,2011.

[2]李鸥.实战ANDROID应用开发[M].清华大学出版社,2012.

[3]王东华.ANDROID开发实例大全[M].电子工业出版社,2012.

[4]杨丰盛.ANDROID应用开发揭秘[M].北京:机械工业出版社,2010.

[5]余志龙,陈昱勋,郑杰明.ANDROID实例开发范例大全[M].北京:人民邮电出版社,2010.

[6]

胡伟.ANDROID系统架构及其驱动研究[J].广播电视大学报,2008.

[7]郑建,贺超.ANDROID和CHROME的发展与未来[J].移动通信,2010.

[8]王克宏.JAVA技术教程(基础篇)[M].北京:高等教育出版社,2002.

[9]姚尚朗,靳岩.ANDROID开发入门和实战[M].北京:人民邮电出版社,2010.

[10]陈强.ANDROID实例开发完全手册[M].北京:人民邮电出版社,2012.

[11]张利国,代闻,龚海平.ANDROID移动开发案例详解[M].北京:人民邮电出版社,2010.

[12]关立勋.ANDROID应用开发深入学习实录[M].北京:电子工业出版社,2013.10.

[13]

宗键.WINDOWS

CE嵌入式系统[M].北京:北京航空航天大学出版社,

2006.

[14]

林涛.嵌入式操作系统WINDOWS

CE的研究[J].微计算机信息.2006,22(6):

91-93.

[15]

齐晓静,王卫东,王剑.WINDOWS

CE

OAL层的结构与开发[J].单片机与嵌入式系统应用.2005(002):

0-33.

[16]

胡军辉,王友钊.WINDOWS

CE设备驱动程序开发[J].计算机工程.2006,

32(016):41-43.

[17]

玲玲.SYMBIAN微核操作系统的研究及其在手机软件开发中的应用[D].贵州贵州大学,

2007.

学生__________ 指导教师 __________ 系主任 ___________

西北工业大学明德学院本科毕业设计(论文)

摘要

随着智能手机的逐渐普及,手机在我们的生活中占据了更加重要的地位,各种各样的手机应用软件即手机APP也孕育而生。

现在随着智能手机终端多样化的发展和移动网络的广泛覆盖,移动互联网已经成为人们生活中不可或缺的一部分。比如:网络阅读,方便快捷;网络购物,方便迅速,网络游戏,轻松愉悦;网络社交,真诚友善。同时由于现在人们的生活也比以前更加丰富多样,生活中交际的人群也多种多样,互相通讯对人们的生活工作显得尤为重要,移动手机作为重要的通讯工具,手机的价值便成为了陌生人见面的第一认知,拥有手机的品牌,手机内部应用的种类也成为彼此熟悉重要依据。现在移动应用不仅仅是便于人们对自己周围交往的人进行信息沟通也是自己向外界释放自己心理活动的平台,这样的平台可以让大家了解自己最近的生活和心理状态。还可以了解到自己周围的人近期的各种生活状态、心理活动。由于生活丰富多彩,人们的精神追求也逐渐提升,物质追求仅仅是生活的保障,精神追求上升到了一个全新的高度,精神文明的发展离不开物质文明的支持,手机应用为精神追求提供了一个良性载体。随着人们物质生活水平逐渐的提高,那么人们的心理活动变得更加丰富,那么对手机应用的心理体验要求也会有微妙的提高,所以说手机应用是很有市场价值的。更重要的是手机应用正在朝着精神生活需要的方向发展,手机应用良好的弥补了日常生活工作的空虚,手机社交也更加广泛的被应用。手机应用可以千变万化也为手机应用工作者也就是网络工程师提供了更宽广的设计空间。

该项目是一款基于Android平台的下载图片制作手机背景的APP开发,使Android手机拥有个性的手机背景,使手机显得更生动灵活化,为人们提供更多的方便,让手机主人随时随地更换手机背景,随着心情的变化更换应景的手机背景。本设计实现的重要功能是下载网络上更多的图片资源,并且知道图片的更多属性。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。

I

西北工业大学明德学院本科毕业设计(论文)

关键字:Android,下载图片,图片浏览,智能手机平台,手机背景

II

西北工业大学明德学院本科毕业设计(论文)

ABSTRACT

With the gradual popularity of smart phones, mobile phones occupy a more

important position in our life, a variety of mobile applications, mobile phone APP also

breeds and health.

Now with the development of intelligent mobile terminals and the wide coverage

of mobile networks, mobile Internet has become an indispensable part of people's

lives. For example: online reading, convenient and fast; online shopping, convenient

and rapid, online games, easy to delight; network social, sincere and friendly. Also

because now people's life also than before more rich and varied, diverse language

groups, communicate with each other on the people's life and work is particularly

important, the mobile phone as an important means of communication, the value of

mobile phone has become the stranger to meet the cognitive, who have a mobile

phone brand, the kinds of mobile phone application also become familiar with each

other an important basis. Now mobile application is not only to facilitate the people

around for their communication information communication but also of your own to

the outside world released their own psychological activities of the platform. This

platform can let everyone know your recent life and mental state. You can also learn

about the various living conditions and psychological activities of the people around

you. Due to the rich and colorful life, people's spiritual pursuit, also gradually

improve, the pursuit of material is only to protect the life, spiritual pursuit rose to a

new level, the development of spiritual civilization is inseparable from the support of

material civilization, mobile application for mental pursuit provides a good carrier.

With the people's living standards gradually improved, then people's psychological

activities become more abundant, then of mobile application of psychological

experience requirements will be a subtle increase, so that the mobile application is a

market value. More important is the mobile phone applications are moving towards

the direction of the development of spiritual life, mobile phone applications to make

III

西北工业大学明德学院本科毕业设计(论文)

up for the emptiness of daily life, mobile social networking has also been more widely

used. Mobile applications can also be a variety of mobile applications for mobile

phone applications workers also provide a broader design space.

The project is a Android platform to download images based on the production of

mobile phone background app development, make Android phones have personality

phone background, make the phone look rejuvenated dynamic flexibility, provide

more convenience for the people, let the owner of the phone anytime, anywhere to

replace mobile phone background, with the mood changes to replace the occasional

phone background. The important function of this design is to download more

pictures on the network resources, and to know more properties of the image. This

project can also make people's lives more diversified, but also to make designers more

familiar with the Android technology and other features in the market.

KEY WORDS: Android, download picture, picture browse, smart phone platform,

mobile phone background

IV

西北工业大学明德学院本科毕业设计(论文)

目录

第一章绪论 ........................................................................................................... 1

1.1选题背景 .................................................................................................. 1

1.2本文工作 .................................................................................................. 1

1.3论文组织 .................................................................................................. 2

第二章系统实现涉及技术 ................................................................................... 3

2.1 Android系统架构 ................................................................................... 3

2.2 Android发展趋势 ................................................................................... 6

2.3开发环境搭建需要的软件 ...................................................................... 6

2.4 Android开发平台的搭建 ....................................................................... 7

2.4.1 JDK安装 ...................................................................................... 7

2.4.2 Eclipse的安装 .............................................................................. 8

2.4.3 Android SDK 安装 ...................................................................... 9

2.4.4 ADT 安装 ................................................................................... 12

2.4.5 创建ADT .................................................................................. 13

第三章系统总体分析与模型设计 ..................................................................... 14

3.1 Android系统总体架构框图 ................................................................. 14

3.2 需求分析 ............................................................................................... 15

3.3 性能分析 ............................................................................................... 16

3.4 界面设计 ............................................................................................... 17

3.4.1 用户界面的设计 ........................................................................ 17

3.4.2 功能的设计 ................................................................................ 17

第四章详细设计 ................................................................................................. 19

4.1 工作流程图 .......................................................................................... 19

4.2 Android项目总体架构及其用途 ......................................................... 20

4.3 主要功能模块分析 ............................................................................... 23

4.3.1获取文件 ..................................................................................... 23

4.3.2 获取图片文件列表 .................................................................... 24

4.3.3 手机背景相册照片的设置 ........................................................ 25

4.4 主界面的照片切换 ............................................................................... 27

4.5 系统测试 ............................................................................................... 29

西北工业大学明德学院本科毕业设计(论文)

第五章全文总结与展望 ..................................................................................... 31

参考文献 ............................................................................................................. 33

致谢 ..................................................................................................................... 34

毕业设计小结 ..................................................................................................... 35

附录 ..................................................................................................................... 36

西北工业大学明德学院本科毕业设计(论文)

第一章绪论

1.1选题背景

随着智能手机的逐渐普及,手机在我们的生活中占据了更加重要的地位,各种各样的手机应用软件即手机APP也孕育而生。

现在随着智能手机终端多样化的发展和移动网络的广泛覆盖,移动互联网已经成为人们生活中不可或缺的一部分。比如:网络阅读,方便快捷;网络购物,方便迅速,网络游戏,轻松愉悦;网络社交,真诚友善。同时由于现在人们的生活也比以前更加丰富多样,生活中交际的人群也多种多样,互相通讯对人们的生活工作显得尤为重要,移动手机作为重要的通讯工具,手机的价值便成为了陌生人见面的第一认知,拥有手机的品牌,手机内部应用的种类也成为彼此熟悉重要依据。现在移动应用不仅仅是便于人们对自己周围交往的人进行信息沟通也是自己向外界释放自己心理活动的平台,这样的平台可以让大家了解自己最近的生活和心理状态。还可以了解到自己周围的人近期的各种生活状态、心理活动。由于生活丰富多彩,人们的精神追求也逐渐提升,物质追求仅仅是生活的保障,精神追求上升到了一个全新的高度,精神文明的发展离不开物质文明的支持,手机应用为精神追求提供了一个良性载体。随着人们物质生活水平逐渐的提高,那么人们的心理活动变得更加丰富,那么对手机应用的心理体验要求也会有微妙的提高,所以说手机应用是很有市场价值的。更重要的是手机应用正在朝着精神生活需要的方向发展,手机应用良好的弥补了日常生活工作的空虚,手机社交也更加广泛的被应用。手机应用可以千变万化也为手机应用工作者也就是网络工程师提供了更宽广的设计空间。

1.2本文工作

该项目是一款基于Android平台的下载图片制作手机背景的APP开发,使Android手机拥有个性的手机背景,使手机显得更生动灵活化,为人们提供更多的方便,让手机主人随时随地更换手机背景,随着心情的变化更换应景的手机背景。本设计实现的重要功能是下载网络上更多的图片资源,并且知道图片的更多1

西北工业大学明德学院本科毕业设计(论文)

属性。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点

1.3论文组织

通过对该软件的开发,可以熟悉和掌握在Android平台上的程序开发的环境的搭建,熟悉和掌握在Android平台上的程序的设计开发流程,熟悉和掌握在Android平台下编程常遇到的问题及解决办法。

第一章主要说明了下Android的发展历史,Android的系统框架以及Android的未来发展趋势。

第二章主要是对Android系统做的功能分析,性能的分析和程序设计。

第三章主要讲述的是Android开发环境的搭建的相关问题。

第四章主要描述的是本软件开发过程中的一些要点和难点,并贴上源代码来描述解决的一些方法。

第五章是对开发该程序做一个系统性的总结

2

西北工业大学明德学院本科毕业设计(论文)

第二章系统实现涉及技术

Android(安卓),是一个以Linux为基础核心的开源移动设备操作系统,主要用于智能手机和平板电脑的开发,由谷歌成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中。Android已发布的最新版本为Android

6.0.1(M)。

Android本身的意思是指“机器人”,在2007年11月5日,Google公司将其作为基于Linux平台的开源手机操作系统的名称公之于众。该平台由操作系统、中间件、用户界面和应用软件组成。这是第一次为移动终端建立真正开放和完整的移动软件。

Android系统最初由安迪·鲁宾(Andy Rubin)等人开发制作,最初开发这个系统的目的是创建一个数码相机的先进操作系统;但是后来发现市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的操作系统。于2005年8月被美国科技企业Google收购。2007年11月,Google与84家制造商、开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开放原始码许可证的授权方式,发布了Android的原码,让生产商推出搭载Android的智能手机,Android后来更逐渐拓展到平板电脑及其他领域上。

2010年末数据显示,仅正式推出两年的Android系统在市场占有率上已经超越称霸将近十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统。

2.1Android系统架构

android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,ndroid分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用; 任何一个应用程序都可以发布它的功能块并且任何3

西北工业大学明德学院本科毕业设计(论文)

其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、OperatingSystem Compatibility Library(OSCL)、Common、OpenMAX。

Android 使用skia 为核心图形引擎,搭配OpenGL/ES。Skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是阳春型的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。

Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。

Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(DalvikVirtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

隐藏在每个应用后面的是一系列的服务和系统, 其中包括;

* 丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至可嵌入的web浏览器。

* 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

* 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。

* 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。

* 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

4

西北工业大学明德学院本科毕业设计(论文)

程序库

Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。

它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:

* 系统 C 库–一个从 BSD 继承来的标准 C 系统函数库( libc ),它是专门为基于 embedded linux的设备定制的。

* 媒体库–基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC,

AMR, JPG, PNG 。

* Surface Manager –对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。

* LibWebCore–一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。

* SGL –底层的2D图形引擎。

* 3D libraries –基于OpenGL ES 1.0 APIs实现; 该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。

* FreeType–位图(bitmap)和矢量(vector)字体显示。

* SQLite –一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

运行库

Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。

Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的“dx”工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

Linux 内核

Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽5

西北工业大学明德学院本科毕业设计(论文)

象层。

Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。

2.2Android发展趋势

安卓是首款开源代码的操作系统,采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改安卓的SDK软件包。系统的开源性使其具有良好的拓展性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发”。与此相比,尽管2010年2月,塞班基本完成开源工作,但由于代码繁杂,用户界面设计缺失,塞班的开源并无实际意义,错失发展良机。

Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。其中Activity等同于J2ME的MIDlet,一个 Activity 类(Class)负责创建视窗(Windows),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行效果。如果运行中的 Activity 全部画面被其他

Activity 取代时,该 Activity 便被停止(Stopped),甚至被系统清除(Kill)。

Android系统具有以下特性:

1放性

2挣脱束缚

3丰富的硬件

4开发商

5无缝结合的Google应用

2.3开发环境搭建需要的软件

(1)

6

西北工业大学明德学院本科毕业设计(论文)

(2)Eclipse Public License – v 1.0

(3) android-sdk-windows-1.8.0_

(4) ADT插件

(5)android系统手机一部

2.4Android开发平台的搭建

2.4.1JDK安装

JDK下载及安装

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。Java的官方网站下载JDK的安装包到Oracle公司官方网站Downloads栏目下去寻找,根据自己电脑的操作系统选择正确的版本下载。地址:/technetwork/java/javase/downloads/

例如:我的电脑是windows7旗舰版操作系统

我下载的JDK就是jdk1.8.0_91最新版本,下载后安装即可。

设置环境变量:

我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:

JAVA_HOME值为:

D:Program FilesJavajdk1.8.0_91(你安装JDK的目录)

CLASSPATH值为:

.;%JAVA_HOME%;%JAVA_HOME%;%JAVA_HOME%bin;

Path:

在开始后追加 %JAVA_HOME%bin;

NOTE:

前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。当然在安装过程要注意一下,360安全卫士和百度卫士可能会提示木马防火墙,大家要选择“允许程序的所有操作”,否则可能会造成JDK安装不完整,对后续的编程造成不必要的麻烦。

JDK的环境变量经配置完成后,可以通过打开命令提示符窗口,输入命令7

西北工业大学明德学院本科毕业设计(论文)

“java –version”,看到Java版本的信息,来确定安装是否成功。

首先点击“开始”,然后点击“运行”,输入“cmd”,按“Enter”键,然后会出现命令提示符窗口的输入界面,输入命令“java –version”。当出现类似如图2.1的画面表示安装成功了:

图2.1 命令窗口

2.4.2Eclipse的安装

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse

附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。打打开官网,点击菜单栏上面的download,如图,若你的电脑是32位的则点第一个,64位的点第二个,我的电脑是windows7 64位的,所以下载的是后面的,进入下载页面,点击网址就可以下载了,下载完毕,下载完毕,你会在你保存的地方看到一个压缩包文件,它就是eclipse

右键你下载的压缩包,解压,解压完毕后即可使用,进入文件夹,就可以看到 eclipse的启动程序,第一次打开需要对工作环境的详细设置,你可以选择在别的盘或者默认c盘,点击ok,现在就成功的进入eclipse了。现在还不能进行Android的开发,还要安装其他的组件。

8

西北工业大学明德学院本科毕业设计(论文)

图2.2 eclipse首页

接下来就是软件的使用以及工程的创建了,在这里就不做详细介绍了。

2.4.3Android SDK 安装

下载最新的Android SDK 文件,到官网选择自己想要的版本下载。

解压Android SDK文件,里面有两个应用程序:“SDK ”(负责下载或更新SDK包)和“AVD ”(负责创建管理虚拟机)。我们先运行“SDK 9an ”进行SDK下载。我们选择自己想安装的 Android 版本,我选择了最新版本,然后点击“Install X packages”安装。选择接受并遵守所有许可内容(Accept All),再点击“Install”。Android SDK 管理器就开始下载并安装你所选的包了,等上一会儿就好了。

安装好后,在 Android SDK 管理器界面上你所选的包后面会显示“Installed”,表示已经安装好了安装好可以打开AVD ,新建安卓模拟器,就可以使用你喜欢的安卓版本了。

在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:AndroidDevelopandroid-sdk-windowstools)。

9

西北工业大学明德学院本科毕业设计(论文)

图2.3设置Android SDK的环境变量

“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。

运行 android –h 如果出现类似如图2.4所示的输出,表明安装成功:

图2.4验证Android SDK是否安装成功

10

西北工业大学明德学院本科毕业设计(论文)

安装完成后运行SDK,文件运行后出现下面的界面,我们选择自己想安装的 Android 版本,我选择了最新版本,然后点击“Install X packages”安装。

图2.5SDKManager界面

安装好可以打开AVD ,新建安卓模拟器,就可以使用你喜欢的安卓版本了。

图2.6模拟器开启及工程加载界面

11

西北工业大学明德学院本科毕业设计(论文)

2.4.4ADT 安装

安装eclipse软件。安装后点击HELP菜单,找到下面的Install New Software并点击。

之后会弹出一个对话框,然后我们点击add,接下来弹出ADD对话框,然后我们再点击arc hive按钮。弹出要打开的文件,我们选择我们下载好的ADT,然后打开。

图2.7安装ADT

打开之后回到install对话框,然后在name一栏中我们选择第一项即可,第二项可不选,第二项主要是可以转换C语言编程的类。接下来就是一路的next。在next过程中,有一步要我们同意一项条款,我们选择同意就可以。点击next后然后在点击finish完成即可。

图2.8安装ADT组件

但是点击完成后会出现警告的对话框,我们不管它,点击确定即可。

接下来会跳出来一个重启Eclipse后生效的对话框,然后我们点击yes重启12

西北工业大学明德学院本科毕业设计(论文)

软件即可。等我们重启了我们的eclipse后我们有时会出现sdk对话框,我们直接点击close即可,主要是你没有安装sdk工具导致的,关闭之后我们在我们工具栏的左上方会看到多出来两个绿色的图标,出现这两个图标说明我们的adt已经安装成功了。

完成之后,选择Window > Preferences…。在左面板选择Android,在右面板选择Browse然后选择SDK路径:

D:AndroidDevelopandroid-sdk-windows。

点击Apply、OK,配置完成。

2.4.5创建ADT

1、在Eclipse中。选择Windows > Android SDK and AVD Manager

2、点击左侧面板的Virtual Devices,再右侧点击New

3、填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值

4、点击Create AVD即可完成创建AVD

如果你点击左侧面板的Virtual Devices,在右侧点击New ,而target下拉列表没有可选项时,这时候你点击左侧面板的Available Packages

在右侧勾选/android/repository/,如图所示:

图2.9安装ADT组件

然后点击Install Selected按钮,要做这两步,是因为在Android SDK安装中没有安装一些必要的可用包(Available Packages)。

13

西北工业大学明德学院本科毕业设计(论文)

第三章系统总体分析与模型设计

3.1Android系统总体架构框图

安卓手机背景相册是各种精美图片的集合,其中不乏生活中精彩瞬间的记录和捕捉,图片的种类也是多种多样的,有美丽的风景山水,各地的名胜古迹,人物肖像等等。

本背景相册主要从以下几方面入手,我们从图片的显示、图片的编辑和其他多项功能对系统总体结构进行分析,后期我们会对各个模块进行详细分析和介绍以及各功能模块源代码的展示。功能模块框图如下:

Android手机背景相册显示图片编辑图片其他操作放大和缩小图片图片旋转幻灯片浏览图片切换图片删除图片上传图片名字修改设置为桌面壁纸设置为锁屏壁纸图片裁剪详细信息图3.1背景相册系统框架

对于显示图片模块,它包括了对图片的放大,缩小,旋转以及切换等具体的14

西北工业大学明德学院本科毕业设计(论文)

操作。图片的放大和缩小为了便于人们对图片的整体和局部的观察,这是非常有必要的;图片的旋转是为了对某些特殊图片进行处理,图片如果是侧身镜头拍摄,对图片进行旋转处理就能将图片视角进行调整。

对于图片编辑模块,又细分为图片删除,图片上传和图片名称修改等操作。图片删除是对一些不符合要求的照片进行操作的,一些对用户来说过时的或者是没有价值的照片应该及时的进行删除,可以减少图片对内存的占用;图片上传是用户对一些喜爱的或者是符合用户要求的照片上传分享的操作;图片名称修改是用户对图片进行分类和区分用途进行的必不可少的操作。

其他操作是很广泛的,可以对图片进行更多的操作,比如设为手机壁纸,设置为锁屏壁纸,图片的裁剪以及图片的详细信息查看等。

3.2需求分析

(1)所有功能描述:

手机背景相册的功能提供了以下几个方面:

对于手机使用者,能够对相册所有人员公开的信息进行浏览。能够对相册里的照片以及网络下载的图片进行保存到相册处理,能够在相册里任意选择照片作为手机桌面背景的设置,能够对图片进行操作,例如:涂鸦,照片美化,修改路径,能够上传网络进行网络共享。对于自己拍照的照片或者自己喜好的照片进行存储。

(2)对功能描述进行管理:

手机背景相册必须具有以下可操作性:

具有良好的人机交互性能,管理者可以随时随地的选择图片进行手机桌面背景或者主题的更换;具有良好的网络互通性能,管理者可以从网络上下载或者手机相机拍摄对背景相册中的图面进行更新和补充,还可以把相册中自己中意的图片上传到网络进行好友间的分享;具有良好的软件兼容性能,能够在QQ,微型等社交软件中浏览到手机背景相册中的图片,便于使用者进行社交;具有良好的安全性能,能够在管理软件中对背景相册进行密码设置或对照片和图片的隐藏等。由于软件非Android系统内部自带,所以在Android设备上,该背景相册应用能够安装、卸载、移动。

(3)对背景相册功能模块进行浏览

15

西北工业大学明德学院本科毕业设计(论文)

不同软件,制作出的背景相册功能也有一定差异,对图片的处理速度以及内存的释放速度也不一样,本次使用的是安卓爱好者通用的eclipse,软件完成需要再安卓模拟器中进行模拟,本次使用的是SDK工具,在此工具上模拟良好,再将app导入安卓智能手机进行使用。

3.3性能分析

本次设计的程序中的主要问题在于异步加载和内存自动溢出,为了防止程序的内存溢出,需要把程序中的图片分模块管理,自动分块,比如,30张照片为一组,我的背景相册中共有140张图片,那么就是共五组,第一组:30张,第二组:30张,第三组:30张,第四组:30张,第五组:20张。当图片数量大于30张的话,程序只会把其余的图片分配到下一组当中,以此类推。当你浏览第一组图片时,系统会分配相应的内存空间并加载第一组图片。第一组浏览完后,如果你继续浏览第二组图片,那么系统将把第一组图片的内存释放掉并分配相应的内存空间加载第二组图片。如果不浏览了,那么系统将释放第一组图片的内存并待定你的下一步操作。图片的异步加载就是为勒用户更好的体验该软件,如果把图片加载而图片的异步加载的目的就是为了提升用户的体验效果,假如图片的加载占用到手机的内部储存,势必会造成程序响应过慢或者无响应。

手机上的背景相册需要面对的最重要的问题是加载图片的速度和浏览图片时不会因为图片过多而造成内存占用过多而溢出,手机不同与电脑,手机本身内存要小于电脑内存,电脑内存大,所以运行小程序基本没有影响,但手机运行程序必须要考虑到内存问题,软件本身占用内存,软件运行后数据的加载和一系列操作也要占用内存,所以说异步缓存加载就显得尤为重要了。

异步加载的优点:

公用模块被加载一次以后缓存在本地,再次加载时更快速,且可以多页面共享这个福利。公用度越高的模块,福利越大。更新功能或者修bug,只需要更新部分模块,其它未变化模块缓存在本地福利不变,更新后用户下载文件量相对小。可控制加载机制,让一部分非主要的内容(如首屏外内容等),等到使用时再载入。全局公用模块可独立上线(在保证兼容等问题的情况下),不用全线产品都跟着重新打包上线。作为模块化开发的通用规范意义更大,跟否是有加载(前端优化)效率没太大关系。

16

西北工业大学明德学院本科毕业设计(论文)

目前,很多主流的图片展示库如 ,等底层就是依据这种原理实现的,因此,异步加载对于本次设计是不可忽略的一步。

3.4 界面设计

3.4.1 用户界面的设计

在人机互动过程中,界面展示的一个软件作品的核心,是工程师劳动成果向用户的直接展示,界面设计的好坏直接影响到一个软件的受用户欢迎的程度,也决定了该软件的生命周期,一个好的软件都有一个非常人性化的界面设计。所以说,界面的设计是必不可少的,界面设计,顾名思义就是眼睛看到的,眼睛能看到的是软件显示的信息,包括画面感,图片的美感。用户界面设计是屏幕产品的重要组成部分。界面是软件对用户的一种展示,是最直接的向用户展示信息的方法界面展示是一个软件的灵魂。界面是向用户展示软件信息最直接的表现形式。界面设计的三大原则:界面必须在用户的控制之下,尽量减少用户记忆的负担,保持界面的一致性。

第一个界面向用户展示的是软件的基本信息,给用户一种美感,给软件加载争取一定的缓冲时间。

第二个界面将会给用户展示的是手机中有多少图片的文件夹,每个文件夹下有多少图片,以及文件夹在手机中的地址。

第三个界面主要是展示图片,图片的清晰度将展示在屏幕上,图片的大小也会根据手机显示屏幕的大小而改变。

3.4.2功能的设计

功能是根据产品定位的初始要求,功能对用户的要求和现有产品的调查和分析的基础上,对所定位产品应具备的目标功能系统进行概念性构建的创造活动。功能设计的内容包括市场调查、设计调查与产品规划、功能组合设计、功能匹配设计和功能成本规划四部分。

市场调查(Market Research)就是指运用科学的方法,有目的地、有系统地搜集、记录、整理有关市场营销的信息和资料,分析市场情况,了解市场现状及其发展趋势,为市场预测和营销决策提供客观的、正确的资料。

制定产品市场的推广以及宣传计划,制定产品销售计划,制定售后服务流程及制定计划时所采取的各种策略

17

西北工业大学明德学院本科毕业设计(论文)

组合设计是将产品统一功能的单元,设计成具有不同用途或不同性能的可以互换选用的模块式组件,以便更好地满足用户需要的一种设计方法。

本程序包含了四个界面,第一个界面展示背景相册的基本信息,第二个界面给用户展示的是手机中有多少图片的文件夹,每个文件夹下有多少图片,以及文件夹在手机中的地址。第三个界面主要是展示图片。第四个界面是退出界面。

18

西北工业大学明德学院本科毕业设计(论文)

第四章详细设计

4.1 工作流程图

对于手机背景相册App,具体运行流程是一目了然的,首先要对App进行启动的操作,常用的方法就是双击,App运行后,系统会自动为其分配内存空间,自动读取可识别的图片文件,然后对图片进行展示,以便于用户对图片进行后期操作,具体流程图如下:

双击APP读取手机SD卡和手机本机内存中的图片,是否为空?Y提示本机中无可用图片显示本机中所有图片对本机中的图片进行操作

19

N

Y重试或退出N退出APP

图4.1程序设计流程图

西北工业大学明德学院本科毕业设计(论文)

4.2Android项目总体架构及其用途

首先,用Eclipse新建一个Android项目,项目会自动生成一些目录及文件

图4.2项目文件

这些自动生成的目录及文件是组成Android应用程序的必需部分,它们在应用程序中所起到的作用和主题功能如下:

src:存放所有的*.java源程序

gen:为ADT插件自动生成的代码文件保存路径,里面的将保存所有的资源ID。

assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。

res:可以存放项目中所有的资源文件,例如:图片(*.png、*.jpg)、文本等。drawabel-hdpi:保存高分辨率图片资源,可以使用wable(id)可以获得资源类型。

drawabel-ldpi::保存低分辩率图片资源,可以使用wable(id)可以获得资源类型。

drawabel-mdpi:保存中等分辨率图片资源,可以使用wable(id)可以获得资源类型。

layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。

values:存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称。

20

西北工业大学明德学院本科毕业设计(论文)

resraw:自定义的一些原生文件所在目录,像音乐、视频等文件格式,Resource()方法可以获得这些资源。

resxml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序之中,在程序运行时可以使用()方法获取。

resanim:用于定义动画对象;

bin:生成apk的文件夹。

src里面包含的代码即为项目中编写的代码,如图4.2所示:

图4.3src包中文件

ty包中放的是程序视图、监听器、状态模式文件。

包中放的是程序四个主界面的应用程序组件(activity)等文件。

包中放的是程序遍历、列表、自定义组件等文件。

DadaAdapter包中放的是程序两种基础数据适配器文件。

res里面包含的就是程序需要用到的资源文件(动画,图片,布局等),如图4.4所示:

21

西北工业大学明德学院本科毕业设计(论文)

图4.4 res中文件

drawabel-mdpi文件夹中放的是程序所要用到的背景图片等一些图片。

layout文件夹中放的是程序的每个界面的布局文件。

其他文件的用途,如表4.1所示:

表4.1 文件列表

文件

gen文件夹里面的文件

局,动画,布局中的控件等资源)

android2.2文件

assets文件夹

是存在在这里的资源是没有id的

bin文件夹 编译后产生的一些文件以及程序的apk文件

这个是项目的配置信息,比如android里面的

4大组件就需要在这个xml里面注册

这个是混淆器,增加反编译你程序源代码的

难度

ties 项目的一些配置信息,如该程序是基于哪个这就是android2.2系统的一个jar包

存放一些如音乐文件,文本文件的资源,但文件的用途

里面包含了自动生成的资源的id(如图片,布22

西北工业大学明德学院本科毕业设计(论文)

android版本的

4.3主要功能模块分析

主要功能的实现其实并不复杂,对于手机背景相册而言,只需要继承Activity类就能实现其功能,但是,内部功能还需要许多细节方面的改进,包括识别文件、获取照片文件、触摸屏幕并作出响应、图片动态切换等内部功能。

4.3.1获取文件

程序要显示,必须先确定Android平台支持哪些图片文件格式,经查阅Android相关资料可知Android平台支持Jpg,gif,png,bmp四种格式的文件,对于本次设计,必须先获取图片文件的格式类型,对于不支持的格式图片先不予处理,本次设计使用的图片一般为照片,相机拍照得到的格式都是Android内部支持的四种格式之一。

详细代码:

/*取得扩展名*/

String end = fName

.substring(dexOf(”.”)+1,())

.toLowerCase();

/*按扩展名的类型决定MimeType */

if*((”jpg”)|| (‘gif’) || (“png”) ||

(“jpeg”) || (“bmp”)){

re=ture;

}else{

Re = false ;

}

功能实现效果图如下:

23

西北工业大学明德学院本科毕业设计(论文)

图4.5获取文件图片

4.3.2获取图片文件列表

主程序使用ArrayList自定义SD卡访问图片文件列表,getImagelist()函数不需要传入的路径,而是利用File对象与循环获取图片文件列表。

程序如下:

Private ListgetImageList(){

/*设定目的路径*/

Listit = new ArrayList():

File f = new File(“/sdcard/pics”);

If(!()){

Boolean b= ();

Log.d(“mkdir”,“mkdir:”+b);

Return it;

}

File[]files = les();

24

西北工业大学明德学院本科毕业设计(论文)

}

/*将所有文件传送到ArrayList中*/

for(int i = 0;i<;i++){

File file =files[i];

If(getImageFile(h()))

(h()));

}

Teturn it;

}

功能实现效果图如下:

图4.6获取图片

4.3.3 手机背景相册照片的设置

我们要记录某个瞬间,我们要分享我们的所见,我们要拿给我们的朋友看,大家都知道网络上有一种相册叫做电子相册,而且每个知名的网站公司都有自己的电子相册。例如百度相册,谷歌相册,腾讯的QQ相册还有各种云相册等等。都是为了大家能把自己喜欢的照片或者图片上传到网络上某个服务器进行保存,25

西北工业大学明德学院本科毕业设计(论文)

自己想看的时候可以去随意浏览或者分享给自己的好友。

在这个程序中,当程序启动,照片将被分类在几个文件夹里,打开文件夹,点击照片,照片被放大,铺满手机屏幕,当点击返回键,照片又将被收进照片的文件夹里,回到初始位置。

功能实现代码如下:

publicBoolean dispatchTouchEnent(MotionEvent ev){

if (ion() ==_DOWN){

downX = ();

}

If(ion() == _UP

&&(-downX) > 20){

Pos++;

showPicture();

}else if ion() == _UP

&&() > 20){

Pos--;

showPicture();

}

Return chTouchEvent(ev);

}

功能实现效果图如下:

26

西北工业大学明德学院本科毕业设计(论文)

图4.7

主界面下方提供给用户可以左右移动的光标,可以浏览/sdcard/pics里面所有的照片。实现代码如下:

gallery = (Gallery) findViewById(y);

pter(new ImageAdapter(this));

temSelectedListener(this);

4.4 主界面的照片切换

该程序第二界面下方提供给用户的有播放图片和停止播放的功能菜单,安卓平台添加菜单管理的代码如下:

public Boolean onCreanteOptionsMenu(Menu menu){

(0,MENU_SHOW,0,_show_picture);

(0,MENU_STOP,0,_stop_picture);

return teOptionsMenu(menu);

}

用户点击菜单是如何完成响应的呢?其实是用Activity里面自带的函数来实27

西北工业大学明德学院本科毕业设计(论文)

现的,用户的Activity只要实现它里面的功能,就可以完成响应。

publicBoolean onOptionsItemSelected(MenuItem item)

本手机相册的幻灯片图片播放间隔是3s,可以自动浏览文件夹里的图片,实实现代码如下:

private Runnable mTasks = new Runnnable()

public void run(){

showPicture();

pos++;

layed(mTasks,SHOW_INTERVAL);

}

};

功能实现效果图如下:

图4.8

以上是在程序中运行的一个线程,每隔3000ms调用一个图片进行处理,处28

西北工业大学明德学院本科毕业设计(论文)

理对象名为Handler()。在本程序中设定SHOW_INTEVAL为:

Private int SHOW_INTEVAL = 3000;//即为3000ms

4.5 系统测试

如果依照传统的测试方法,把系统的测试当做软件开发后的一个过程,在开发完成以后再进行系统的测试,这样就不利于BUG的及时发现,很多错误就会被埋藏在后期发现,那么修复的成本就将会大大的提高。

我们应该根据全过程测试的理念,把软件的开发以及软件的测试紧紧的结合在一起,不仅仅要充分的关注开发过程,而且还要对开发过程中出现的变化及时做出反应。我们需要建立完善的分析机制来对测试的过程进行全程跟踪,通过自身过程的分析,及时的了解到开发过程的信息,及时的调整测试策略。实践证明,这种做法起到了非常明显的作用,测试过程与设计过程紧密的结合使得很多错误在早期都能够发现,从而降低了开发的成本。

在本系统的开发过程里,对需求的把握决定软件的测试能否成功。系统测试不仅要确定软件是否能正确的实现应该具有的功能,还要确认软件是不是能满足用户的需要。我们要在前期就制定一个完善的方案来实施测试计划,让各个阶段软件的测试有条不紊的进行下去。再把握需求的时候,我们应该早期就制定项目的方案和计划,早早准备测试,才能大大的提高测试的效率。

对于手机背景相册具体测试,测试的是App运行后能否正常工作,能否满足用户的需求。具体测试方法及结果如下:

表5-1 功能测试表

功能测试点

App启动

图片的查找

测试方法

双击App

手机内部自动筛选

测试结果

成功开启App

成功,筛选出支持的图片格式并显示出来图片

图片放大和缩小

图片的幻灯片播放

点击幻灯片播放按钮光标 成功对图片进行了幻灯片浏览

手指滑动图片比例尺 成功地放大和缩小了图片

29

西北工业大学明德学院本科毕业设计(论文)

图片的删除

图片的上传

点击操作菜单里的删除光标

点击操作菜单里的上传光标

删除照片成功

上传成功

图片名称修改

其他操作

点击操作菜单里的修改名称栏

点击‘更多’菜单栏

成功的打开了键盘,并键入文字信息

成功的进行设置壁纸及桌面,图片裁剪等多项功能

30

西北工业大学明德学院本科毕业设计(论文)

第五章全文总结与展望

在没有学习Android之前,当同学们说起Android时,总是感觉它离我们很近,感觉Android就是一个手机系统平台,天天都在用它,用它打电话,玩游戏,看小说,浏览网页,看新闻,看视频,一天都要占据我4-6个小时,但是也只仅限于使用,它的原理依然遥不可及,它就像一个隐士,大隐隐于市,穿插在我们生活中,但真正了解它的人又有几个。因此,对于Android的学习,我十分期待,对于走进Android去了解它,十分向往。

在大三下学期的暑假里,我参加了ios的学习,通过两个月对它的了解,加上工程师对ios和Android系统做的对比,我对Android又产生了浓厚的兴趣,本以为即将步入社会,参加工作,我和Android只能擦肩而过。没想到命运安排的如此戏剧化,我的毕业设计竟然又让我和Android再续前缘。

本文介绍了如何使用Android平台设计手机背景相册,通过对软件的设计,学会了对Android平台的搭建,对java的环境设置,JDK的使用,SDK的使用,eclipse的使用,对学校图书馆资源的使用,学会了使用中国知网、读秀电子图书、维普数据库、国道外文数据库的使用。通过对一些故障的排查,学会了如何与同学合作解决问题,明白了团队精神的重要性。

通过对本软件的开发设计,我深深的认识到以往的学习中存在的不足,以前对知识掌握程度也过于粗浅,学习中的一些死角对本次开发设计造成了很大的困扰,对知识掌握不全面,对知识的理解不透彻,对软件的不熟悉等问题都将在今后的学习工作中得到改正。通过对软件的设计开发也是一种对自我的认识,以后坚决不出现这些外在错误而导致软件的运行错误。

我做的手机背景相册与Android官方开发的App还是有很大的差距,我做的还是过于简单粗糙,与实际Android官方发布的App有天壤之别,但与本次开发设计的目的一致,在今后的学习工作中,我会更加努力的了解更多关于Android开发的知识,熟练Android开发的工具,争取做出更加贴近官方发布的App,争取做出满足大众需求的软件。

31

西北工业大学明德学院本科毕业设计(论文)

32

西北工业大学明德学院本科毕业设计(论文)

参考文献

[1]李佐彬.ANDROID开发入门与实战体验[M].

机械工业出版社,2011.

[2]李鸥.实战ANDROID应用开发[M].清华大学出版社,2012.

[3]王东华.ANDROID开发实例大全[M].电子工业出版社,2012.

[4]杨丰盛.ANDROID应用开发揭秘[M].北京:机械工业出版社,2010.

[5]余志龙,陈昱勋,郑杰明.ANDROID实例开发范例大全[M].北京:人民邮电出版社,2010.

[6]

胡伟.ANDROID系统架构及其驱动研究[J].广播电视大学报,2008.

[7]郑建,贺超.ANDROID和CHROME的发展与未来[J].移动通信,2010.

[8]王克宏.JAVA技术教程(基础篇)[M].北京:高等教育出版社,2002.

[9]姚尚朗,靳岩.ANDROID开发入门和实战[M].北京:人民邮电出版社,2010.

[10]陈强.ANDROID实例开发完全手册[M].北京:人民邮电出版社,2012.

[11]张利国,代闻,龚海平.ANDROID移动开发案例详解[M].北京:人民邮电出版社,2010.

[12]关立勋.ANDROID应用开发深入学习实录[M].北京:电子工业出版社,2013.10.

[13]

宗键.WINDOWS

CE嵌入式系统[M].北京:北京航空航天大学出版社,

2006.

[14]

林涛.嵌入式操作系统WINDOWS

CE的研究[J].微计算机信息.2006,22(6):

91-93.

[15]

齐晓静,王卫东,王剑.WINDOWS

CE

OAL层的结构与开发[J].单片机与嵌入式系统应用.2005(002):

0-33.

[16]

胡军辉,王友钊.WINDOWS

CE设备驱动程序开发[J].计算机工程.2006,

32(016):41-43.

[17]

玲玲.SYMBIAN微核操作系统的研究及其在手机软件开发中的应用[D].贵州贵州大学,

2007.

33

西北工业大学明德学院本科毕业设计(论文)

致谢

经过半年的忙碌,本次毕业论文已经接近尾声,作为一个本科生的毕业论文,由于经验的匮乏和知识不太全面,难免有许多地方考虑不周,如果没有导师的督促指导,以及一起生活学习的同学们的支持,想要完成这个设计是难以想象的。

在这里首先要感谢我的导翟淑颖老师。老师平日里工作繁多,但在我做毕业设计的每个阶段都给予了我悉心的指导。由于工作原因,我的论文进度与其他同学相比稍慢,翟老师考虑到我的特殊情况,酌情给予时间调整,并不辞辛劳多次与我讨论论文思路,提出修改意见,给予了我极大的帮助。除了敬佩翟老师的专业水平外,她的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。

其次还要感谢大学四年来所有的老师,为我们打下电子科学与技术专业的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次毕业论文才会顺利完成。

最后感谢我的母校——西北工业大学明德学院四年来对我的大力栽培。

34

西北工业大学明德学院本科毕业设计(论文)

毕业设计小结

在这次毕业设计中,我发现自己明显认真多了,但是,在项目中也出现了很多的问题,最大的问题就是忘记了,很多以前的知识没怎么用都忘记了,所以只有重新去看一些以前学过的知识才慢慢的想起,其实也蛮简单的,就是对知识的不怎么熟悉,大概的体系都是知道的

通过本次对Android手机背景相册App的开发,使我对Android手机背景相册的设计与开发有了一个全新的了解。开发Android手机背景相册,要抓住开发程序的核心,手机背景相册主要由查看图片列表主界面、显示略缩图、查看图片界面、设置为手机桌面壁纸这几个部分组成。其他的功能都是在这些功能的基础上面添加的,所以它们是必不可少的。

手机背景相册系统实现了对照片的放大缩小、旋转、删除、分享、查看详细信息、设为桌面壁纸以及幻灯片播放等功能。运用的是现今热门的Android系统平台,一个开源基于Linux系统的手机平台,使用Java语言编写、SQLite数据库实现以及SharePreference配置文件组合的方式来进行管理数据。最终实现了相册的系统的编程。

经过几个月对Android系统技术知识的学习和对相册应用程序的构思与设计,使我对Android有了很多的了解,这些对我以后Android的设计会提供非更多的帮助。

35

西北工业大学明德学院本科毕业设计(论文)

附录

获取图片文件程序

/*取得扩展名*/

String end = fName

.substring(dexOf(”.”)+1,())

.toLowerCase();

/*按扩展名的类型决定MimeType */

if*((”jpg”)|| (‘gif’) || (“png”) ||

(“jpeg”) || (“bmp”)){

re=ture;

}else{

Re = false ;

}

获取图片文件的列表文件程序

Private ListgetImageList(){

/*设定目的路径*/

Listit = new ArrayList():

File f = new File(“/sdcard/pics”);

If(!()){

Boolean b= ();

Log.d(“mkdir”, “mkdir:”+b);

Return it;

}

File[]files = les();

}

/*将所有文件传送到ArrayList中*/

36

西北工业大学明德学院本科毕业设计(论文)

for(int i = 0;i<;i++){

File file =files[i];

If(getImageFile(h()))

(h()));

}

Teturn it;

}

3.背景功能设置程序

Private ListgetImageList(){

/*设定目的路径*/

Listit = new ArrayList():

File f = new File(“/sdcard/pics”);

If(!()){

Boolean b= ();

Log.d(“mkdir”, “mkdir:”+b);

Return it;

}

File[]files = les();

}

/*将所有文件传送到ArrayList中*/

for(int i = 0;i<;i++){

File file =files[i];

If(getImageFile(h()))

(h()));

}

Teturn it;

}

4.主界面切换程序

Private ListgetImageList(){

37

西北工业大学明德学院本科毕业设计(论文)

/*设定目的路径*/

Listit = new ArrayList():

File f = new File(“/sdcard/pics”);

If(!()){

Boolean b= ();

Log.d(“mkdir”, “mkdir:”+b);

Return it;

}

File[]files = les();

}

/*将所有文件传送到ArrayList中*/

for(int i = 0;i<;i++){

File file =files[i];

If(getImageFile(h()))

(h()));

}

Teturn it;

}

38


本文标签: 图片 手机 开发 设计