资源描述
I 摘 要 在移动互联网飞速发展的今天,智能手机逐渐成为人们进行沟通交流、了解外部信息的重要工具。 同时越来越多的商家为 来几年,这个行业的巨头很有可能就通过移动 用软件,占领了手机用户市场。毕竟,这是电商界的发展大势所趋 。 本文重点研究了基于 台的图像处理方法,对已有的图像资源进行各种各样的图形变换。 本设计 基于 发平台,采用 言,遵循 面设计模式,使用独有的方式对各种图片,字符串等资源进行保存调用,完成了功能强大、实际可 行的安卓手机发型设计软件。该软件主要实现如下几个功能:提供海量的发型资源,用户信息的注册,用户资讯的互动平台,用户对如软件使用的反馈,发型的试戴功能,发型的诊断功能,高级设置等几大功能模块。通过反复不断的调试及测试,该安卓手机发型设计软件能够满足人们的基本需求,具有很强的实用性。 关键字: 图像处理 发型的试戴 in of of an to At a of In a is to by of on is on a of of is I on a of to a is to of as is on It of so By is of 目录 第一章 绪论 . 1 题背景 . 1 内外的现状 . 1 文的框架结构 . 2 第二章 象设计开发环境简介 . 3 象设计开发工具及注意事项 . 3 发过程中经常用到的 关快捷键 . 3 务 . 4 平台架构 . 4 发中的常用包 . 6 发环境的搭建 . 7 第三章 用程序结构 . 9 用程序结构解析 . 9 3.2 详细解析 . 11 活动周期 . 13 第四章 象设计的系统功能设计 . 14 统的可行性 . 14 统结构框图 . 14 统架构图 . 15 统流程 . 15 统功能的需求分析 . 15 第五章 象设计的设计与实现 . 17 计的研究目的 . 17 求分析 . 17 I 界面的设计 . 17 户界面设计的原理 . 17 I 界面的设计 . 19 面之间的切换 . 23 型的图形处理 . 24 制相机的拍照和相机组件的调用 . 27 事件处理 . 28 象设计主界面设计 . 29 务器端的链接 . 30 第六章 总结与展望 . 33 文的工作总结 . 33 续研究及展望 . 33 参考文献 . 35 致 谢 . 36 附录 . 37 1 第一章 绪论 本章简要介绍了 件安全研究的背景和意义,同时简要说明了 本课题主要研究的具体内容 。 题背景 随着网络进程的不断加快,移动设备的基本普及,而与移动设备匹配的移动平台也变得越来越重要,在这基础上各种各样的系统应运而生,而 是这些系统之中的佼佼者, 2007 年谷歌公司专门为移动设备推出的开发平台。在之前的 统被 统无情的超越,结束了诺基亚长期垄断的局面,使用统不是简简单单的只能实现网上数据的查询而且还能在移动设备和平板电脑中实现 2D 和 3D 游戏。 内外的现状 随着互联网的不断普及 3G 技术的迅速发展,大规模基础设施的加大建设。以手机以及平板电脑为基础的各个方面必将以来质的飞跃。但是总的来说国内外对于移动设备相关开发的具体需求是相似的。目前国内外对于移动设备的应用的服务主要集中在地理位置的确认,如移动运营商通过 取用户所在的位置,在此为基础下有出现了许多增 值业务如:百度地图,手机导航等业务。另外一项应用比较广泛的相关服务是网络社交服务,在国内人们通过手机 信等手机软件实现了随时随地的互通,增加了人与人之间的交流。而国外的 知名的社交软件已经推出能被手机所使用的客户端,在移动设备相关服务迅速发展的情况下用平台应运而生。 早由 办是专门为移动设备开发的平台。 台包括操作系统,核心组件,数据资源的存储。在 2010 年底 台仅仅只用 了三年用他的方便,实用一举超越诺基亚的 统成为世界上最受欢迎的移动设备应用平台。 下面介绍一下目前在人们生活中的其他几种主流的移动设备应用系统。 苹果公司独有的操作系统,相比与 统 部分开源的,只有一部分被广大的开发者应用。 统主要是为苹果公司的 动设备及平板电脑应用。通过对顾客对 统的反馈, 统呈现,方便,快捷,界 2 面设计漂亮,占用内存小等特点,最重要的是苹果手机已经成为一种时尚,一种象征,可见 统的不一般。 微软公司开发的操作系统,它与计算机的 作系统有许多的相似,设计理念取之于计算机 是又与之不同 ,, 作系统的优点是性能好,运行速度快。缺点是 作系统只能适用于采用因特尔嵌入式处理的移动设备。而此操作系统应用与诺基亚公司的列的移动设备。 一款轻量级的,比较开放的专门为为平板电脑而设计的操作系统。此操作系统是 32 位操作系统,具有占用内存小,操作方便等特点。主要用于 的手机,在国外的一些地区也取得了不错的销量,但是 作系统具有如下的缺点:不具备音频的录制和播放功能,需要通过加入第三方的相关软件来实现。这种局限性限制了这种操作系统的发展。 针对国外这三大针对移动设备开发的三大操作系统,我国于 2009 年也自主开发了一款叫做 操作系统,此操作系统采用 核,与 台具有很好的兼容性,同时集成了 灵活多变,充分的融合了时下最流行的操作系统的所有特征,同时提供了一系列的数据业务解决方案。 文的框架结构 本文通 过对于通过使用 码和 置文件对 面进行设计,从而设计出一款能够自由变换发型的 用程序,在设计过程中通过查阅中外文献,主要完成了界面设计,界面切换,相机的调用,服务器的链接等。本文的主要框架如下: 第一章:绪论。主要对本设计的选题背景, 用的国内外现状,及本课题的意义进行了系统的介绍。 第二章: 开发环境的介绍。 发过程中的注意事项及一些常用的快捷键, 台的结构以及 务在应用程序开发过程中的意义。 第 三 章: 应用程序结构。对应用程序的活动周期进行了详细的介绍。 第 四 章:对整个 象设计的系统功能进行了的阐述,同时对系统的可行性进行了论证,给出了整个系统的框架图。 第五章: 象设计的设计与实现。包括 面的设计,发型的处理,用户 界面的处理及服务器端的链接。 第六章: 总结与未来发展。总结本次设计工作,对 展进行展望。同时对本次设计的不足进行总结,并对下一步工作进行展望。 3 第二章 象设计开发环境简介 本章将从 台体系结构, 台环境搭建进行介绍。同时对发过程中常用的快捷键及常用包进行了分类的研究,并在之后的章节针对不同的包的使用进行了详细的解释 。 象设计开发工具及注意事项 象设计开发工具: 其以上版本。 相关开发工具的使用及注意事项: 练掌握 关快捷键的使用,提高编写速度。 其以上版本较高版 本的 备较低版本 具备的多种功能。 所下载 本要相匹配,否则会导致环境搭建失败,不能成功启动模拟器,有必要下载当前最新版本。 发过程中经常用到的 关快捷键 :此快捷键组合是在程序员在编程过程中对一些组件,或一些相关知识有所遗忘的时候进行此操作。不仅能够达到提示的作用,而且还能增加编程的速度和效率,减少犯错误的几率。 : 此快捷键组合是为在编程中一些需要重点的语句进行注释,以便在后续在对此段语句进行解 读时能够更加的便利。 :此组合对于程序员也是非常重要的,首先代码格式的工整读起来更加的容易,同时也能让其他人更好的理解,所以此组合的代码能够更大的解放程序员,能够整片进行格式化代码。 : 对于一个程序员来说,对代码进行调试,找出其中的错误是非常重要的一环,那么怎样在成千上万行代码中找到错误的地方呢,此组合键是对代码中的方法设置成一个个断点,以便之后的调试。 : 此快捷键的作用是当在进行代码的操作时需要引用一些包或者是对一些保 存的信息进行查阅时可以通过此键读取出当前操作的文件的具体的目录。 :此快捷键的作用是减小了程序员的工作量能够以最快的速度查找到所调用的方法的具体位置。 4 务 使用 建应用程序的时候需要一套协议实现其分布式的设计,每一小中的操作系统都有它独特的一方面,例如数据的方法和数据的类型。 同操作语言,不同组件之间的融合。 目前协议有: 及调用消息传递。而本系统所用的协议则是: 它用于 码交换的协议,他有三个主要的作用: 描述信息内容和如何处理内容定义了框架,将程序对象编码成为 象的规则,执行远程过程调用 (约定。 以运行在任何其他传输协议上。例如,你可以使用 因特网电子邮件协议来传递 可是很有诱惑力的。在传输层之间的头是不同的,但 效负载保持相同。 破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于 缝集成”的目标。 是用机器能阅读的方式提供的一个正式描述文档而基于 语言,用于描述 其函数、参数和返回值。因为是基于 ,所以 是人可阅读的。 平台架构 作系统的体系结构可分为 4 层,由上到下依次是应用程序、应用程序框架、核心类库和 核,其中第三层还包括 行时的环境。下面分别来讲解各个部分 。 1. 应用层 应用层主要是提供一些核心的程序,例如短信,日历,通信录,时钟等,设计开发者可以应用相应的语言编写创作出属于自己的程序。 2. 核心服务 安全性,进程管理,驱动模型等。应用程序框架层。应用程序相对于开发者和台提供的的应用程序是必要的,都需要使用应用程序框架层,该层是开发人员开发程序的基础,在 台上开发者可以访问个应用程序的框架。同时应 5 用程序可以随时发布自己的组件,其他的程序同样可以获取发布的组件。那么对于这个重用机制,应用程序的一些组件可以轻松的被用户替 换,而且在每一个应用程序后面都隐藏着一系列的系统和相关的服务。例如:可以用来创建应用程序的,各种丰富多样的扩展视图( 包括 表, 格, 格, 钮。甚至可以加入浏览器, 以提供给一个应用程序,这个应用程序可以获取其他应用程序的数据,如,短信的数据库,也可以将自己的数据库分享给其他的应用程序。 可以提供非代码的访问,如字符串资源,布局文件资源,图片资源,数组资源等。 对应的应用程序可以在 是对 整个生命周期进行管理并提供对应的导航回退功能。 3. ) 含一些 C/C+库,这些库能被 统中不同的组件使用。它们通过 用程序框架为开发者提供服务。以下是一些核心库:系统 C 库 一个从 承来的标准 C 系统函数库 ( , 它是专门为基于 设备定 制的。媒体库 基于 库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括 对显示子系统的管理,并且为多个应用程序提 供了 2D 和 3D 图层的无缝融合。 一个最新的 览器引擎用,支持 览器和一个可嵌入的 图。 底层的 2D 图形引擎。 3D 基于 S 现 ;该库可以使用硬件 3D 加速 (如果可用 )或者使用高度优化的 3D 软加速。 位图 (矢量 (体显示。 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 4. 行时 ) 台提供了一个核心的数据库,在这个数据库中在这个数据库中提供编程时的几乎所有功能,每个 用程序在运行过程中都有一个自己的虚拟机( 这个虚拟 机被设计成由很多虚拟系统组成的高效的设备。该虚拟机执行特定的文件格式( 这种格式对小内存的应用程序进行了优化。然而这个虚拟机又是通过各种 码和寄存器,通过 的“ 化成“ 而在虚拟机上运行正确的格式,除此之外虚拟机同样需要 核的一些功能,比如内层的管理机制和线程同步机制等。 6 . 台架构图 发中的常用包 发过程中的常用包 :在进行编码的过程中除了一些的基础的代码还要对一些常用到的包有所了解, 档丰富了 ,为 提供了更多的类,进而提供了更多的包。考虑到各种的包在编程过程中的重要性,下面对发过程中需要经常用到的包进行简要的介绍: 用程序开发提供最基础的运行环境。 应用平台发布的各种各样的数据进行访问。 数据库存储的各种数据进行操作。 对主要的作用进行一些二维图形方面的操作,可以通过相应的方法在屏幕上进行点线面的操作。 当进行有关方位有关的应用程序的开发需要用到此操作的定位。 7 此包的作用是集成了 发过程中的所有音频和视频的各种接口。 接口 。 该包主要是对一些系统的服务类进行了相关的设置。 发环境的搭建 1. 开发环境 发环境涉及的工具和开发包比较多,包括如下几个部分: ( 1) 击这里下载 供 译环境,新版本的 动包含了 以不用单独下载 , 供 行环境。 ( 2) 击这里下载 发工具。 ( 3) 击这里下载 供用开发环境和工具。 ( 4) 击这里下载 一个 发工具插件, 要配合 用。在线更新 地址是:。 ( 5) 击这里下载 供 地 C/C+开发环境和工具。实际上, 境安装并不需要一一下载上面介绍的那些个工具包。 个好同学,它为我们打包了一个开发工具集合 成包,里面包含了 击这里下载 2. 安装 1) 安装 击这里下载 装 装完成之后会自动启动 安装。 ( 2) 境变量设置选择我的电脑 -右键 -属性 -高级系统设置 -高级 -环境变量 -系统变量 -新建,变量名是 量值是 安装路径(比如: C: ( 3) 径设置。设置 径,添加 径。需要注意的是: 在两个,一个是 面的,一个是单独安装的,这两个都 可以使用,这里使用前者。设置 径时,可以引用前面设置的 量,引 8 用方法是在 量名的前后添加 %(比如: %选择我的电脑 -右键 -属性 -高级系统设置 -高级 -环境变量 -系统变量 -辑,在变量值的最后面追加 径,用 ;% 4)测试 境是否安装成功打开 口,输入 果显示本信息,则表示安装成功。 安装 1) 下载及安装。点击这里下载 接解压 可。 解压完成之后包含包含两个文件夹 件)、 一个程序 ( 2) 设置环境变量。设置 境变量,方便一些工具命令的调用,设置步骤同 加 径下 的两个文件夹 如:D: ( 3) 启动开发工具:找到 压目录,双击 动开发工具 责 的更新, 带的 是最新的,当前是 果想使用 前的版本呢,需要使用这个工具进行更新。在 ,通过选择 打开。 行的虚拟设备管理,可以通过 建一个 ,通过选择 打开,点击 钮创建虚拟机( 拟机名、 择模拟的设备机器分辨 率、 择虚拟机的 本)。创建完虚拟机后,点击 9 第三章 用程序结构 用程序结构解析 通常一个完整的应用程序由意图接收器,活动,服务,内容提供者这四部分组件构成。这四个组件因具体的应用程序而定,不是每一个应用程序都具备这四个组件。当需要使用这些组件时首先要在要将这些组件注册在一个 置文件中( 件),在这个配置文件中可以声明应用程序组件的特 性和要求。而这个 置文件是应用程序所必不可少的。下面对这四个组件进行简介。 意图接收器的作用是编写代码对外部的事件进行一些相应的处理。意图接收器并不在 计界面上显示,而是通过 告诉用户一些事件的发生,意图接收器可以注册在, 置文件( 。还有另外一种方式注册意图接收器,就是用代码中 来注册意图接收器。当意图接收器被触发时系统会根据需求启动相应的应用 程序。 在四个组件中活动是使用频率最高的一个组件。而且每个活动的父类都是个活动都有它独特的功能,例如对于 面的切换,管理,反馈等。由事件响应和以及试图组成的应用程序用户界面就相当于一个活动。例如一个音乐播放器就由一个表界面,一个播放界面,一个功能界面,一个反馈界面等组成。每个界面就是一个简单的活动,根据上一个界面设计的具体情况,界面还可以给上一个界面反馈信息。当有新的活动出现时,前一个活动被停止,放入堆栈中。根据具体的需求,如果前一个活动是没有任何价值的的可以从相应的堆 栈中删除。默认情况下,在一个应用程序中会保留相应的历史堆栈。界面之间的相互切换则是由 过 个 好理解就是字面的意思,就是这个应用程序想做什么。除了 之外还有一个重要的部分就是意图过滤器,这个意图过滤器是 相关类。 以通过若干个过滤器处理相应的隐式意图。 般不在在 码中进行设计,而是在 置文件中进行设计。对象在过滤器 上的测试有三种,分别是 :种类测试,数据测试,动作测试三种。 (1) 10 . (2). (3). 在 每个每个应用程序在各自运行过程中都有自己相对性的 其实就是起到一种保护的作用免受其他程序的影响。对于应用内容提供者而言主要的作 11 用是各个应用程序之间实现资源的共享,其他的应用程序可以通过相应的过程进行数据的提取和保存。 3.2 详细解析 每个应用程序都是由 很若干个核心组件组成,如果用户想实现多个界面之间的相互切换,就必须通过 相应的激活。组件就是一个 象,由目标组件相对应的限定类,和所对应的相应包组成。下面对 件的内容进行讲解。 1. 面的解释就是相应的动作,而在 则表示即将发生的动作,在定义了很多的动作下面简单的介绍一些常用的动作,并进行简要的解释。 数据展示给用户。 动 动作没有任何的输入和输出。 户对数据进行编辑。 送消息但是没有指定具体的接受者。 某人打电话。 . 2. 据) 不同的数据类型的数据要和动作要符合相应的规范。如果选择的动作是对应的数据类型就应该是 果动作是 数据类型就应该是 处理匹 配问题时,除了掌握 据类型,还要对 型进行了解,而 主要作用之一就是图片数据不能用音频文件进行播放。大多数情况下根据 可以轻松的推断出具体的数据类型。同时还提供了很多设置数据类型的方法,如, 用来指定 据, 用来指定 型数据。而是用 方法可以设置 种数据类型。 12 类) 种类就是当前正在处理的 件的一些相关的附加信息。对于一个活动可以有多个种类的描述。种 类也有一些常量,下面对这些常量进行简要的展示并对其进行相应的解释。 定默认的动作选项。用 的浏览器,并进行相应的设置。 动作进行测试设置。 外) 是处理 件的一些额外信息。例如对动作和数据类型匹配的一些补充。在意图中也包含了多种方法,例如 ,该方法就是插入一些额外的数据。也包含多个 法,如, ,该方法就是用来读取数据。 记 ) 标记表示对不同数据来源的标记。所有的标记都在意图类中。 13 活动周期 表面意思就是活动,而在 动中, 是移动设备显示的一个界面,一个窗口。因此是 动中不可或缺的一部分。 活动周期分为四部分别为:创建 置 动 闭 此在进行页面交互时需要创建和配置 些时候需要启动和关闭 is is 生命周期及回调方法 14 第四章 象设计的系统 功能设计 本 章主 要介绍的是整个 象设计的功能设计,包括对整个项目开发的可行性进行了论证,同时构建了系统的框架图及对整个项目开发过程中的需求分析进行了详细论证。 统的可行性 本设计是基于 台的以模拟不同的发型的一个客户端,在 安装插件,进而对 行开发。而运行过程中的模拟器与人们日常生活中的手机没有区别。但是考虑到时间与效率建议直接用移动设备,因为运行模拟器对硬件的要求较高,导致较低的硬件配置的笔记本运行时间较长,甚至不能正常运行。 统结构 框图 运行 根据系统的设计理念,本应用可以分为五个主要的模块,每个模块下面又划分若干个子模块 。 图 统结构框图 发型的模拟 登录和注册 板块选择 发型的试戴 反馈 其他 登 录 动 画 社区选择 图片选择 性别选择 款式选择 软件反馈 效果反馈 个人信息 关于软件 15 统架构图 手机首先访问所在地的无线访问点,进而访问本系统的服务器,使用户能够随时随刻掌握最新的信息,各用户能够实现数据的共享。 根据本 设计 所要达到的效果 , 可以得出本 设 计 的需要一个强大的 持续运行 服务器 。 利用 强大的后台 网络服务器 , 我们可以及时的 得到更新的 第一手资料 ,从而 大大 缩减了 移动客户端的运算处理 的工作量,以便为移动设备减小了一定的压力。根据上述的分析可以得到如下的系统架构图: 图 统架构图 统流程 首先用户进入登录界面,在登录界面用户可以进行用户的注册,信息的核实和修改。选择浏览的板块,可以在社区分享和获取其他用户分享的信息,选择所需的相关发型进入发型试戴的板块。首先选择性别,进而调整获取不同的发型资源,然后决定在发型试戴过程中选择模特或者是本人 的照片,进而进行发型的试戴。选择出满意的发型。 统功能的需求分析 系统的的主要功能如下: 查注册信息是否合法,注册如果合法则注册成功。 查用户名和密码是否正确,如果正确则登录成功。 16 据需要对不同的板块进行查找。 不同发型进行试戴。 移缩放旋转算法原理。 台提供了一个 3 3 的矩阵,即坐标变换矩阵,来用图形进行坐 标变换,将原来的坐标点转移到新的坐标点,即通过改矩阵的变换完成。由于一张图片是由点阵和每一点的颜色信息组成的,所以对坐标的运算就是没一点进行移动,形成一张新的图片,具体的说就是放大缩小,平移,旋转等效果均可通过该矩阵实现。 矩阵 A 为坐标变换矩阵, C 为某一点坐标经过计算得到目标的 D 坐标,通过控制矩阵 A 的各个元素,可以实现某种变换。 A=.1 (公式 4 D= 1A*C (公式 4 即 x =a*x+b*y+c y =d*x+e*y+f (公式 4 具体实现以反转为例,构造变换矩阵: 1 ,0 ,0 ,0 , 0, 0, 0, 1 ; 得到目标图片: 0, 0, 1, , , ; 17 第五章 象设计的设计与实现 本章系统地 讲解了一个完整的 际项目的设计流程,包括本设计的研究目的,需求分析及整个项目的设计流程。该项目涵盖了市场上主流的手机美容软件的主要功能,具体包括:发型的模拟,用户资源的分享,设置中心,用户的注册,各种饰品的佩戴等。下面将对各模块的具体设计流程进行详细介绍。 计的研究目的 为开发环境,在 台上完成换发型的形象设计。 发和设计的流程。 求分析 本设计是一款时尚与便利相结合的,基于 可以自由的变换发型的 这款 用户可以根据自己的需求和爱好选择一款自己喜欢的发型。此软件的设计需求如下 : I 界面的设计 户界面 设计的原理 面的设计可以分为四种,分别为:使用 局文件,使用 Jav
展开阅读全文