的个性化桌面程序设计与实现_免费下载.docx_第1页
的个性化桌面程序设计与实现_免费下载.docx_第2页
的个性化桌面程序设计与实现_免费下载.docx_第3页
的个性化桌面程序设计与实现_免费下载.docx_第4页
的个性化桌面程序设计与实现_免费下载.docx_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连东软信息学院本科毕业设计(论文)论文题目:基于Android手机的个性化桌面程序设计与实现系 所: 电子工程系 专 业: 电子信息工程(嵌入式系统工程方向) 学生姓名: 沈续著 学生学号: 09160400311 指导教师: 张阳 导师职称: 教授 完成日期: 2013年 5月 2日 大连东软信息学院Dalian Neusoft University of Information大连东软信息学院毕业设计(论文) 摘要基于Android手机的个性化桌面程序设计与实现摘 要随着手机应用的发展,越来越多的应用软件都朝着更加人性化的方向走。很多软件都瞄向了关乎人们生活方式的软件应用这一市场。于是安卓作为一个最大的应用市场,便扮演了一个重要的角色。传统的操作界面早已不符合了人们对手机的定义:快捷、智能。因此,结合用户的操作习惯及爱好,给用户提供一个良好的平台,通过软件为用户使用手机提供便捷,节约用户花费在手机上的时间,逐渐摆脱使用手机不当带来的困扰,提高手机利用率和使用质量已经成为一个非常值得关注的问题。而本课题所设计的即为:通过Android的数据提供机制来运行桌面程序,将繁琐的功能选择最大限度地简单化,即将功能尽可能的集成。操作步骤简洁的同时,不影响人们日常生活中对手机的功能需求,从而达到提供效率的目的。通过本课题的设计也能加强本人对Android产业的深入了解,从而对Android市场有一个全方位、深刻的认识,为今后从事相关工作,积累宝贵的经验。关键词:安卓市场,桌面程序,手机应用IV大连东软信息学院毕业设计(论文) AbstractDesign and Implementation of Personalized Desktop Program Based on Android Mobile-phoneAbstractWith the development of mobile applications, more and more applications are walking toward more humane. A lot of software aimed at the software applications relating to the way about life of people in this market. So Android as one of the largest application market, will play an important role.The traditional user interface already does not meet the definition of the people on the phone: fast, smart. Therefore, the combination of the users operating habits and preferences, To provide a good platform for the user to use the phone software to provide convenient, saving the time users spend on the phone, and gradually get rid of the distress caused by inappropriate use of mobile phones, to improve the utilization of mobile phones and use of quality has become a matter of concern.This topic is: Android data provide a mechanism to run desktop programs, cumbersome maximize simplistic, upcoming feature integration. The simple steps at the same time, does not affect the functional requirements of the peoples daily life on the phone, so as to achieve the purpose of efficiency. The design of the subject can strengthen my in-depth understanding of the Android industry, the Android Market has a full, deep understanding of relevant work in the future, and accumulated valuable experience.Key words: Android Market, Desktop Program, Mobile Appllication大连东软信息学院毕业设计(论文) 目录目 录摘 要IABSTRACTII第1章绪 论11.1 课题研究背景与意义11.2 课题研究内容与方法11.3 课题研究现状21.4 论文结构2第2章关键技术介绍32.1 Android技术简介32.2 程序与数据库连接32.3 安卓相关API技术3第3章系统需求分析53.1 系统设计目标53.2 系统功能需求53.3 系统非功能需求63.4 系统开发环境63.5 系统可行性分析63.5.1 技术可行性63.5.2 经济可行性6第4章系统设计74.1 体系结构设计74.2 数据库API74.3 软件设计84.3.1 控制流程设计84.3.2 UI界面设计94.3.3 功能模块设计114.4 类设计134.4.1 RingtonePro类134.4.2 SendMail类134.4.3 WallPaperSettingActivity类144.4.4 WeatherWidget类144.4.5 UpdateWidgetService类14第5章系统实现155.1环境配置155.2功能模块实现155.3系统文档结构18第6章系统测试196.1 测试概述196.2 测试用例196.2.1铃声设置测试196.2.2壁纸设置测试206.2.3天气预报查看测试216.2.4邮件发送测试22第7章结论23参考文献24致 谢25大连东软信息学院毕业设计(论文)第1章绪 论1.1 课题研究背景与意义随着科技的日益发展,手机在人们生活中扮演着越来越重要的角色,或者说人们已经离不开手机。然而,人们往往对下载到手机里琳琅满目的应用程序感到眼花缭乱、无从下手;手机里下载的软件几乎都未曾使用;有时由于忘记查阅邮件导致某个计划的搁浅,或者厌倦频繁地查看手机这种不良习惯。以上情况都表明,人们对手机的多功能和性能的需求越来越多。传统的操作界面早已不符合了人们对手机的定义:快捷、智能。因此,结合用户的操作习惯及爱好,给用户提供一个良好的平台,通过软件为用户使用手机提供便捷,节约用户花费在手机上的时间,逐渐摆脱使用手机不当带来的困扰,提高手机利用率和使用质量已经成为一个非常值得关注的问题。而本课题所设计的即为:基于Android手机的个性化桌面程序,通过该程序将繁琐的功能选择最大限度地简单化。操作步骤简洁的同时,不影响人们日常生活中对手机的功能需求,从而达到提供效率的目的。通过本课题的设计也能加强本人对Android框架的深入了解,从而对Android技术及应用有一个全方位、深刻的认识,为今后从事相关工作,积累宝贵的经验。1.2 课题研究内容与方法本设计将基于Android设计并开发了一个手机桌面系统,并验证其可行性。所要完成的程序将能够读取用户的要求和设置,随时、随地为用户提供其所需的软件或信息服务,即将手机中绝大部分常用软件或功能提出,置于桌面系统中,且提供个性化排版以满足广大年轻有个性的人群,满足他(她)们对手机的观赏性和实用性双重要求的高标准。本设计将利用Android系统架构所提供的应用程序框架平台,获取Android SDK(软件开发工具包),同时,利用核心类库,模拟器,工具和示例代码等。使用Eclipse和Android Eclipse插件开发Java项目,构造合理的软件架构,使得本系统的开发具有简单、高效的特点。构建高质量的算法以达到理想的性能来服务于广大手机用户。而且在本次系统调研中充分地介入到了市场中,深入了解广大群众的想法和使用意愿,以便使该系统具有更广阔的适应性,达到“众口可调”的预期效果。另外不同于一般的手机桌面程序,本系统还增加了天气情况信息多媒体显示功能,其中图片显示功能使用了数据库查询技术。1.3 课题研究现状在国内现有的安卓市场环境中,由于大部份面向用户的软件都可以免费下载,这就导致了软件的变相收费,比如:内置广告插件、进程后台跑流量、接收恶意短信等。而且由于市场混乱,垃圾软件有可能不兼容手机甚至携带恶意病毒。从而不能使用户的软件达到最理想的使用状态,本软件选择Android 2.3来提供开发平台,是因为较之其它版本可以有更好的兼容性和运行效果,且限制模式可以帮助开发者监控他的应用的性能,处理线程阻塞,避免ANR(Application Not Responding,应用程序无响应)的发生。利用此功能可以对手机内存、剩余电量、后台程序的一键监控,提高本程序的价值体现。最重要的是本软件纯绿色不含任何插件,用户可以获得最高权限,保证彻底了解、掌握本软件以达到合理的运用。而在国外现有的安卓市场环境中,由于大部分应用软件不是免费的,而本软件框架小,成本低,免费面向用户,因此在国外市场也可占有一席之地。1.4 论文结构本论文设计的内容是基于Android手机的个性化桌面程序。第一章绪论是课题背景与意义及相关内容,对当前研究现状的分析。第二章的关键技术阐述了本课题的难点和攻坚处,也是研究课题的第一步。第三章系统需求分析对系统的功能性需求和非功能性需求进行了分析,构建了项目的蓝图。第四章到第六章则是从对系统的设计到实现再到最终完成测试,也是本项目的核心内容。而在第七章的结论中也对系统自身做出客观的评价与展望。 -26-大连东软信息学院毕业设计(论文)第2章关键技术介绍本设计所使用的关键技术有基于Android语言的Java算法、Java与数据库的连接及天气预报API接口技术。利用这些技术来完成本系统的核心构造。2.1 Android技术简介Android是Google开发的基于Linux平台的开源手机操作系统。采用了分层的架构。Android分为四个层,从高层到底层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。2.2 程序与数据库连接Java技术的开放性、安全性和庞大的社会已有资源,以及其跨平台性,它承诺一旦编写了程序,在任何地方都可以运行,这使Java技术得以快速的发展以及被广泛的接受。本程序中与SQLite数据库的连接访问步骤:加载(注册)数据库建立连接执行SQL语句处理结果集关闭连接。首先建立一个数据库访问类得到省份与城市例如:public class DBHelper extends SQLiteOpenHelper然后构建一个数据库操作对象,建立数据库名,确定当前程序的上下文对象得到所有支持的省份或直辖市名称的String类型数组,返回支持的省份或直辖市数组,根据省份数组来得到对应装有对应的城市名和城市编码的列表对象,最后由城市名查询数据库来得到城市码。2.3 安卓相关API技术API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。本程序使用开源的天气预报API接口技术,调用方式简捷,只要发HTTP请求给某个服务器的URL(Uniform Resource Locator,统一资源定位符)就可收到天气数据。以下是天气数据的格式和解析方法的说明。(1)数据形式 JSON格式:JSON(JavaScript Object Notation,数据交换格式)是一种网页交换数据的格式,JSON数据是以关键值的形式来显示的。 XML数据:XML(Extensible Markup Language,可扩展标记语言)比较JSON,XML数据冗余多、解析慢。(2)数据解析 数据传回后要对其进行解析,比如得到的数据是UTF8(Unicode Transformation Format,万国码)的,需要转成统一字节码才能显示,同时将数据库中已经保存的天气图片与温度进行映射。 XML的解析方式主要有两种:一是通过DOM文档模型解析,分析该结构必须需要提前知道整个文档和层次结构,然后有下一步的操作。另外一种方法DOM4J。这个是一个开源XML,解析出来的数据形式各异。考虑到XML数据形式的解析比较繁琐,本程序将采取JSON格式的数据形式来进行解析并显示天气情况。第3章系统需求分析3.1 系统设计目标本系统通过基于Android手机的个性化手机桌面程序来实现对用户手机程序的便捷管理。包括对城市天气情况的显示、铃声设置、壁纸设置和邮件查看。3.2 系统功能需求根据需求调研结果确定本系统主要包括以下功能模块。(1)铃声设置: 本系统在铃声设置中,可以将手机中默认的铃声更改为自身喜爱的音乐,当用户点击“设置铃声”UI后跳转进入设置界面,系统提示“按MENU键添加铃声”,用户按下手机菜单键(以三星I939为例,主HOME键右侧即为菜单键)会弹出“从SD卡内导入铃声”,点击UI后进入文件夹浏览界面,选中SD卡中的一首或多首音乐后退回到最开始界面,选中后的音乐按照列式排列,长按住一首音乐后弹出UI提示,“设置为电话铃声”,“设置为提示铃声”,“设置为闹钟铃声”,“从列表中移除”,“取消”(依次从上到下)。按照自身要求选择即可。当桌面壁纸过于乏味时,本系统可提供用户更改程序内置的个性化图案的操作。当用户点击“设置壁纸”UI后跳转设置界面,系统提供多张图片,在屏幕下方可左右滑动进行选择,选中后点击屏幕下方对应的图片,按照提示选择是否更换壁纸。(2)天气预报查看:本系统提供天气预报的功能,点击UI后进入用户按下菜单键,弹出UI设置,当点击“设置城市”时跳转到城市列表界面可自行选择城市,也可输入一个城市名称,待程序接受信息后,显示在桌面上。当选择“刷新天气”时,将发送信息至总端,待接收后更新天气信息。当点击“更换皮肤”时会跳出皮肤选择UI界面,本系统提供4种皮肤供用户更换,还可在“天气预报”UI中跳转至其它设置界面。(3)邮件发送:用户打开“发送邮件”UI,弹出登录账号界面,待输入登录后跳转至发送用邮件界面,依次填写收件人名称、邮件主题、邮件内容点击发送,轻松完成。天气预报API接口其它业务模块的描述如表3.1所示。表3.1 天气预报API接口及其它业务功能功能编号功能名称功能描述1铃声设置任意更改铃声2壁纸设置任意更改铃声3邮件查看直接查看手机邮件4天气预报查看提供城市天气情况5天气预报API接口可向开源网站收发天气信息3.3 系统非功能需求(1)性能 数据精确性和系统运行保证使得天气数据的查询达到100%的准确,数据返回解码后一一匹配数据库中的内容,准确无误地显示出来。系统加载模块响应时间控制在2到4秒,且满足与其它软件同时运行的要求。 人机交互通过点击屏幕实现对程序的查看,功能的系统程序界面简洁明了,在几处关键的操作响应中都有对应的提示。(2)成本本软件开发工具免费,部分代码开源。故成本低廉。3.4 系统开发环境 操作系统: Window 7等主流操作系统软件开发工具:Eclipse,Android-jdk,SQLite3.5 系统可行性分析3.5.1 技术可行性本系统采用Android系统的架构,采用Java作为开发语言。在原有的基础上再加入对数据库SQLite的使用,使得程序内容更加丰富。且天气预报API开源,所以在现有的工具和技术水平上可完成系统的完整功能。3.5.2 经济可行性在开发的时候只需要适当的人力物力就可以完成,不浪费不必要的资源。所以前期开发成本较低,后期在使用本软件时会产生流量,费用由网络供应商收费。大连东软信息学院毕业设计(论文)第4章系统设计4.1 体系结构设计本系统采用软件工程开发的主流的三层架构。即数据层,业务逻辑层,UI层。UI 层:人机交互,它接收用户的操作,从底层接收到消息逐层上传显示给用户。业务逻辑层:它是整个系统的核心,支持查找、搜索等操作和对软件的具体业务描述与整合。数据访问层:进行数据或者文件的访问,打开、保存、存取数据库文件等操作。在本系统中主要完成数据添加、修改和查询业务。Java与数据库:通过建立的数据库存放与天气相关的信息,当接到用户读取指令时能够与数据库链接,将包含的信息呈现给用户。系统体系架构如图4.1所示。图4.1 系统体系结构4.2 数据库API本系统中使用数据库来完成对天气等一些信息的存放,利用Java语言链接数据库,以及操作数据库中的数据。JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQLite语句的Java API,它由Java编程语言编写的类及接口组成,如表4.1所示。表4.1 JDBC主要的接口及作用接口作用Java.sql.DriverManager数据库驱动程序的加载,以及与数据库连接的建立Java.sql.Connection建立与特定数据库的链接Java.sql.statement向已经建立连接的数据库发送SQL语句,并对其进行处理Java.sql.ResultsSet返回在数据库中执行SQL的结果通过开源API,输入数据库中建立的数据表中存放城市的地址编号,将对应的城市代码编号,映射到中国天气网,从而得到预报信息。数值省、市、区信息表如表4.2所示。表4.2 数据表的建立名称数据类型文件说明示例CityIDInteger PK主键首值1ProvinceIDInteger PK主键首值10CityNumText存放市及市以下城市名称编号101010100ProvinceNameText显示省及直辖市名称北京CityNameText显示市及市以下城市名称北京朝阳区4.3 软件设计4.3.1 控制流程设计点击系统进行初始化,进入UI界面,可分别点击模块。比如天气预报,点击进入后可在设置城市中选择城市,选中后自动在显示界面上显示天气。按下菜单键出现功能栏,可根据用户要求自选。退出点击壁纸设计,利用本程序自身资源提供多种壁纸,选中后点击壁纸,即可完成更换。设置好后可推出进入铃声设置,点击进入后,导入内存中的音乐,选择一首按照程序提示进行更换。邮件发送流程:点击UI进入,填写账户,选择进入邮箱类型,填写邮件内容、联系人信息,按发送键发送。程序主流程图如 4.2所示:图4.2 系统主流程图4.3.2 UI界面设计程序主界面:提供四个按键栏,分别进入相应的功能。如图4.3所示:主类MainPage继承于Activity。四个按键分别是Button类的btnWeather、btnSendEmail、btnWallPaperSetting和 btnRingtone。图4.3 主程序界面截图邮件UI界面类Welcome继承于类Activity,完成对窗口的创建。属性包括:EditText类的 txtEmailAddress、EditText类的txtPWD、Button类的 btnOK和Spinner 类的emailTypeSpinner共同完成邮件的登陆。其中,txtEmailAddress和txtPWD表示邮箱账号和密码,emailTypeSpinner表示邮箱类型,使得用户可选择多种邮箱客户端口。如图4.4所示。图4.4 发送邮件界面壁纸UI设计提供多种壁纸,可供用户浏览、选择更换。WallPaperSettingActivity继承于类Activity用来完成对壁纸的设置。属性包括ImageSwitcher和Context,其中ImageSwitcher是将图片加载到手机浏览界面上,Context是点击图片后的对话框响应如图4.5所示:图4.5 壁纸更换界面天气预报UI设计,类WeatherWidget继承于AppWidgetProvider,属性有getWeatherView实现对天气更新后窗口的刷新。如图4.6所示。图4.6 天气预报界面4.3.3 功能模块设计本系统建立Android 手机的桌面程序应用,完成一些快捷功能的操作。系统包含壁纸设置、铃声设置、天气查询和邮件发送共计四个模块,而其中又细分为壁纸浏览、壁纸设置、导入铃声、试听导入的铃声、设置手机来电铃声、设置手机提示音、设置手机闹铃、同步天气信息、用户登录和邮件发送等多个子模块。系统框图如图4.7所示。图4.7 系统软件功能框图核心功能模块简述:(1) 天气查询模块利用开源的天气预报API接口,发送HTTP请求给某个服务器的URL(Uniform Resource Locator,统一资源定位符)后收到天气数据。收到数据为Json(JavaScript Object Notation,轻量级数据交换格式),对其进行解码,将数据库中已经保存的天气图片与温度进行映射。同步天气信息是指用户点击刷新,将更新天气预报界面,即从网络中下载天气文件与界面中显示的数据,同时建立一个缓存天气的文件并将信息保存起来,再跟据已定的缓存文件来得到天气情况。(2) 壁纸设置模块壁纸设置方法有多种,本系统采用的是ContextWrapper 类中提供的setWallpaper()方法。此方法输入参数是用户选择的壁纸编号。该方法能够根据编号切换壁纸。壁纸浏览功能是通过系统程序的自身资源响应用户的按键选择,即调用程序中自带的壁纸让用户浏览。壁纸设置功能可以设置多个点击响应和单击图片的发生事件,包含弹出窗口信息、确认窗口、更换桌面并在setWallpaper()方法中完成更换。(3) 铃声设置模块铃声设置模块是利用从手机内存导入的音乐来更换手机默认的铃声,每个音乐都有一个id。其工作原理是将用户手机中选中音乐的绝对路径uri查到,以便检测歌曲是否存在,然后通过ContentUris.withAppendedId(uri,id),将uri和id拼接成一个新的uri,将其设置成想要的铃声即可。导入手机铃声资源是指通过浏览SD卡的根目录即inputfile类中封装的browseToRoot属性或者浏览指定的目录即browseTo(final File file)属性,导入手机SD卡或者是内存里的音乐。试听铃声资源是指当选中的文件存放在数据库中时,用户可以点击某一首试听,在RingtonePro类封装的public void onStart(String p)方法可以完成试听。设置部分则是可将选中音乐设为闹铃或提示音或来电音乐。(4) 邮件发送模块本系统支持一键发送发邮件,而Android提供了两种方式,只允许Gmail邮件发送和允许JavaMail发送。本系统采用JavaMail发送方式,其优点是不受Gmail限制,灵活性高。具体步骤如下: 构建邮件消息 建立服务器的会话 发送邮件用户登录邮箱是指sendmail类中的save_information属性提供了保存用户ID、password、邮箱类型。而邮件发送则包含了提供邮件会话类EditText,包含属性有txtToAddress、txtSubject和txtContent。用户填写ToAddress(收信人地址)、Subject(主题)、Content(内容)通过验证后发送。4.4 类设计本程序主要有4大类,即铃声设置RingtonePro、发送邮件SendMail、壁纸设置WallPaperSettingActivity和天气设置WeatherWidget。4.4.1 RingtonePro类RingtonePro类是系统中重要的类,其所包含的属性、方法如表4.3所示。表4.3 RingtonePro类的属性和方法表序号属性或方法说明1public void onStart(String p)从SD或手机内存导入后,可试听音乐2public void deleteitem(int id)导入铃声后,若不需要某一首可对其进行删除3public void setMyAlarm(final String p)将选中的音乐设置成为手机闹铃4public void setMyNotification(final String p)将选中音乐设置成为手机短信提示音5public void setMyRingtone(final String p)可将选中的音乐设置成为手机来电提示音4.4.2 SendMail类SendMail类中封装了文件发送及用户登录的属性和方法,如下表4.4所示。表4.4 SendMail的类的属性和方法表序号属性或方法说明1static final String SAVE_INFORMATION保存用户的登录信息,密码、账号、邮箱类型2String username获得用户邮箱ID3String password;获得用户邮箱密码4String sendhost;获得邮箱类型5private EditText txtContent;可得到用户输入的发送内容6private EditText txtToAddress;可得到用户输入的收信人地址7Public void onCreate(Bundle savedInstanceState)进入邮件初始化状态4.4.3 WallPaperSettingActivity类WallPaperSettingActivity类包含一些对浏览图片及设定图片对话框的方法和属性,如下表4.5所示。表4.5 setwallpaper()类的属性和方法表序号属性或方法说明1private Integer mThumbIds设置在Gallery的图片2private Integer mImageIds设置在Switcher的图片3public void onItemClick()获得图片点击后的响应,弹出对话框4onItemSelected(AdapterViewparent, View v,int position, long id)可预览加载Switcher的图片5public View makeView()呈现Switcher的模式4.4.4 WeatherWidget类WeatherWidget类是系统核心类,继承于AppWidgetProvider,包含了关于天气预报的状态属性,包含了退回主界面、更新页面布局、从网络获得信息并更新天气的方法。如表4.6所示。表4.6 WeatherWidget类的属性和方法表序号属性或方法说明1public static RemoteViews getWeatherView每次确定城市后返回到程序主显示界面2public static void updateWeather(RemoteViews views, Context context)由缓存文件来得到天气信息3public static void updateWeather(RemoteViews views, Context context, String cityCode)从网络中更新天气文件和views中的显示数据4public void onDisabled(Context context)当删除最后一个Widget组件后调用context.stopService来关闭后台服务4.4.5 UpdateWidgetService类UpdateWidgetService类创建一个用于更新天气widget小组件的后台服务,获得城市代码得到数据后相应更新widget组件的操作。如下表4.7所示。表4.7 UpdateWidgetService类的属性和方法表序号属性或方法说明1AlarmManager alarm和PendingIntent pintent记录定时管理器2public void onDestroy()通过调用context.stopService方法来指定销毁service3public void onStart()开始服务,执生更新widget组件的操作第5章系统实现5.1 环境配置本系统利用开发软件Eclipse。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。附带了一个标准的插件集,包括Java开发工具。环境搭建需要5个步骤:(1) JDK的安装下载jdk-6-windows-i586并解压。设置环境变量JAVA_HOME值为:F:TDDOWNLOADandroid-jdk42(安装JDK的目录); CLASSPATH:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin;Path:在开始出添加%JAVA_HOME%bin;(2) Eclipse安装本系统利用Eclipse IDE for Java Developers,Version::Juno Service Release 2。(3) Android SDK安装运行SDK Setup.exe,选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。在用户变量中新建PATH值为:Android SDK中的tools绝对(F:TDDOWNLOADandroid-jdk42android-jdktools)。(4) 创建AVDAVD(Android Virtual Device,Android虚拟设备)的创建步骤:在Eclipse中,选择WindowsAndroid SDK and AVD Manager,点击Virtual Devices,再点击New,填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值,点击Create AVD即可完成创建AVD。(5) 运行通过FileNewProject 菜单,建立新项目Android Project,点击Finish后,点击Eclipse的Run菜单选择Run Configurations。5.2 功能模块实现(1)天气预报的更新模块实现利用widget小组件,由城市代码ID更新天气信息,原理是将从开源网站/data/与用户输入的城市ID匹配,获得天气数据。核心代码如下:public class WeatherWidget extends AppWidgetProvider public void onUpdate(Context context, AppWidgetManager appWidgetManager,int appWidgetIds) super.onUpdate(context, appWidgetManager, appWidgetIds);getWeatherView(context); context.startService(new Intent(context,UpdateWidgetService.class); public void onDisabled(Context context) super.onDisabled(context); context.stopService(new Intent(context,UpdateWidgetService.class);(2)壁纸设置模块实现在系统响应后,弹出浏览壁纸界面,当用户点击图片时弹出对话窗口,提示用户更换或取消操作,如流程图5.1所示。图5.1壁纸设置流程图核心代码如下:public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.wallpapersetting);mSwitcher = (ImageSwitcher) findViewById(R.id.switcher); mSwitcher.setFactory(this); mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in);mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out);Gallery g = (Gallery) findViewById(R.id.gallery);g.setAdapter(new ImageAdapter(this);g.setOnItemSelectedListener(this);(3)邮件登录发送模块实现getInstance获得邮件对话框,save_information存储用户账号密码存储发送邮件服务器的信息同时通过验证完成登录,填写内容后发送用Toast信息提示显示邮件发送成功。流程图如下图5.2所示。图5.2 邮件登录发送流程图(4)铃声设置实现在对话窗弹出后可在Toast.makeText提示下按键进入手机目录,选择文件夹导入铃声,将歌曲列表存放在m_MyDatabaseAdapter里,长按歌曲可获得操作对话框按照提示完成设置铃声、设置提示音、设置闹铃、删除歌曲列表。流程图如5.3所示。图5.3 铃声设置流程图核心代码如下:public boolean onCreateOptionsMenu(Menu menu)super.onCreateOptionsMenu(menu);menu.add(0, INPUT, 0, 从SD导入).setIcon(android.R.drawable.ic_menu_upload);return true;public boolean onOptionsItemSelected(MenuItem item)super.onOptionsItemSelected(item);switch (item.getItemId()case INPUT:goInputFileActivity();break;return false;5.3系统文档结构本系统由4个主要的类组成,即铃声设置RingtonePro、发送邮件SendMail、壁纸设置WallPaperSettingActivity、天气设置WeatherWidget。SendMail类中封装了文件发送及用户登录的属性和方法,WallPaperSettingActivity类包含一些对浏览图片及设定图片对话框的方法和属性。WeatherWidget类是系统核心类,继承于AppWidgetProvider,包含了关于天气预报的状态属性,包含了退回主界面、更新页面布局、从网络获得信息并更新天气的方法。如图5.4所示。图5.4 系统文档结构大连东软信息学院毕业设计(论文)第6章系统测试6.1 测试概述系统测试是对系统的各种单元测试和确认测试,将已完成的软件系统进行全面的测试并与系统需求作对比,确保整个系统功能满足系统需求。通过对软件模块的逐一测试,查找其中存在的漏洞,由于程序中隐藏的一些缺陷只有在特定的环境下才能出现,所以它的任务是尽可能彻底地检查出程序中存在的漏洞,来尽可能的保证系统的可靠性。本次系统测试分为两个部分。第一是模块测试,主要是来测试系统中4个模块(即天气预报、铃声设置、壁纸设置、邮件发送)是否有错误。确认测试,此部分为测试软件是否满足用户所需的功能和性能。完成系统测试后应移植到手机上进行操作并收集信息,此信息是用户在实际应用环境中所进行的真实数据。6.2 测试用例6.2.1铃声设置测试铃声设置测试分为按键测试,设置测试两个方向,检测能否达到用户需求,铃声测试用例如下表6.1所示。表6.1铃声测试用例表序号测试项步骤预期结果实际结果结果对比1铃声导入按下MENU键添加铃声弹出对话框“从SD卡导入铃声”可进入手机根目录,找寻存放音乐的文件夹打开文件夹,出现歌曲列表,可供用户选择与预期相符合2铃声添加打开文件夹后,选中一个或多个音乐文件,点击确认添加后返回,出现被选中的歌曲列表信息点击返回后出现列表,可对歌曲进行操作单击或长按都有对应的操作响应与预期相符合3铃声试听单击(非长按)某一首歌曲后可试听音乐单击后音乐后台播放单击后音乐后台播放与预期相符合4设置闹铃单击(长按)选中歌曲后弹出对话框,选择“设置为手机闹铃”当用户闹铃响起时音调为用户更换过后的铃声设置闹铃后,响起更换的音乐与预期相符合续表6.1铃声测试用例表序号测试项步骤预期结果实际结果对比5设置提示音单击(长按)选中歌曲后弹出对话框,选择“设置为手机提示音”可以将手机的提示音更改当接收短信时提示音已经改为用户选定的音乐与预期相符合6设置铃声单击(长按)选中歌曲后弹出对话框,选择“设置为手机铃声”可将手机的来电铃声改为选择的铃声当用户有来电接入后,铃声已经更改与预期相符合7移除歌曲在长按某一首歌曲后弹出对话框,点击移除,可将此首歌曲移除当前列表列表中删除了用户选择的歌曲列表中删除了用户选择的歌曲与预期相符合8取消操作取消当前的操作取消当前操作,对其它歌曲操作取消当前操作,对其它歌曲操作与预期相符合6.2.2壁纸设置测试壁纸设置测试分为浏览功能测试和设置功能测试两大部分,如表6.2所示。表6.2壁纸测试用例表序号测试项步骤预期结果实际结果对比1浏览壁纸在打开壁纸设置后,可对当前系统自身提供的壁纸资源进行浏览,在屏幕底端的图片预览栏里可滑动浏览图片进入程序后,可在手机屏幕底端左右滑动来浏览图片滑动浏览图片,但有卡顿感,程序有时会停止与预期基本相符合2更换壁纸点击在屏幕下端的图片预览栏,弹出对话窗,“确定更换桌面背景吗?”点击确定栏点击确定后退出程序,返回到手机主菜单,主菜单的壁纸已更换为用户自选壁纸主菜单的壁纸已更换为用户自选壁纸与预期相符合3取消操作点击在屏幕下端的图片预览栏,弹出对话窗,“确定更换桌面背景吗?”点击取消栏取消了当前的操作,可以对其它图片进行更换壁纸操作当前动作取消与预期相符合6.2.3天气预报查看测试天气预报测试分为设置城市测试、更新天气测试、更换皮肤测试和跳转其它功能。天气预报测试用例如下表6.3所示。表6.3 天气预报测试用例表序号测试项步骤预期结果实际结果对比1加载城市点击进入后按下MANU键弹出底端菜单栏,点击“设置城市”,进入界面,可利用GPS自动定位城市,也可在城市列表中逐一查询,同样也可在输入城市栏中输入城市名称查询点击自动定位后加载到城市名称,或逐一查询到城市点击加载,或输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论