基于android的日记本的设计与开发_第1页
基于android的日记本的设计与开发_第2页
基于android的日记本的设计与开发_第3页
基于android的日记本的设计与开发_第4页
基于android的日记本的设计与开发_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

基于ANDROID的日记本的设计与开发摘要ANDROID是一种基于LINUXV26内核的综合操作系统。ANDROID为全球超过10亿部手机和平板电脑提供强力支持。全球为数众多的移动电话用户正在使用各种基于ANDROID的电话,它可以自由定制且易于使用手机带给人们的便捷生活是不可替代的,手机已成为人们日常生活中不可或缺的重要部分,它不仅方便了人们的交流,娱乐功能更丰富了人们的生活。基于ANDROID的日记本是专为那些因为手机自带日记本功能不足而设计,在给带来方便快捷的同时每天一篇,也记录了生活中的点滴,符合现代快节奏生活的需求。系统的主要功能包括日记的创建、删除、修改、加密、分享、搜索等各项综合记事功能,使该应用程序更加人性化,更加便捷。此论文描述了日记本的设计理念、设计过程、实现结果和测试过程。关键词移动终端;ANDROID;日记本BASEDONTHEDESIGNANDTHEDEVELOPMENTOFTHEANDROIDSDIARYABSTRACTANDROIDISALINUXBASEDV26INTEGRATEDOPERATINGSYSTEMKERNELMORETHAN1BILLIONMOBILEPHONESANDTABLETSPROVIDESTRONGSUPPORTANDROIDFORTHEWORLDBECAUSEITFREETOCUSTOMIZEANDEASYTOUSE,ALARGENUMBEROFMOBILEPHONEUSERSAREUSINGALLKINDSOFANDROIDBASEDPHONES,MOBILEPHONESBRINGCONVENIENTFORPEOPLESLIFE,ITNOTONLYCONVENIENTFORPEOPLESCOMMUNICATION,ENTERTAINMENTFUNCTIONMOREENRICHEDPEOPLESLIFEANDITHASBECOMEANINDISPENSABLEIMPORTANTPARTINPEOPLESDAILYLIFEBASEDONTHEANDROIDSDIARYISDESIGNEDFORTHOSEPHONESWHOSEOWNDIARYFUNCTIONISNOTUSEFULANARTICLEEVERYDAY,BRINGCONVENIENT,ALSORECORDEDTHELIFEWHICHNEEDSOFTHEMODERNFASTPACEDLIFEDIARYSYSTEMSMAINFEATURESINCLUDECREATE,DELETE,MODIFY,ENCRYPTION,SHARE,SEARCH,ANDOTHERCOMPREHENSIVECHRONICLEFUNCTION,MAKETHEAPPLICATIONMOREHUMANIZEDANDMORECONVENIENTTHISPAPERDESCRIBESTHEDESIGNIDEASOFTHEDIARY,THEDESIGNPROCESS,IMPLEMENTATIONRESULTSANDTHETESTINGPROCESSKEYWORDSANDROID;DAIRY;MOBILEDEVICES目录摘要IABSTRACTII1绪论111课题背景112目的和意义113ANDROID平台及相关知识简介1131ANDROID现状及发展1132ANDROID系统特点214开发工具2141ECLIPSE2142ANDROIDSDK3143ANDROID手机自带的SQLITE轻量级数据库32可行性分析421背景422可行性分析4221技术的可行性4222经济的可行性4223操作可行性4224法律的可行性43需求分析531软硬件需求532性能需求5321系统的易操作性5322数据的正确性与完整性5323数据的安全性533界面需求54系统概要设计741设计的基本思路742系统用户用例图743系统流程图844功能模块95系统功能实现1051密码验证登录界面10511数字密码验证10512手势密码验证1252日记本输入模块14521写日记14522删除日记15523字体大小设置17524分享功能17525天气功能1853日记列表1954信息安全功能21541数字密码21542图形密码2355搜索功能2456帮助功能2557关于266测试用例2861系统测试28611系统测试过程中出现的问题28612系统测试目的与意义2862测试过程28621验证密码模块测试28622日记输入模块测试29623日记列表模块测试29624搜索模块测试30625信息安全模块测试3063非功能测试31631实时性测试31632安装/反安装测试31633兼容性测试3164用户界面测试31总结32参考文献33致谢34英文文献原文35中文译文431绪论11课题背景近几年,我国经济迅速发展,科技日益更新,手机以潮流之势覆盖全球,手机搭载的开发技术也是迅速发展。最早的JAVA系统,发展到后来的SYMBIAN,继而ANDROID淘汰了塞班,现在全球比较盛行的两大通用系统是ANDROID和IOS系统,最后微软公司又开发了WINDOWS平台,这些平台的大力发展,促进了手机行业的发展,同时带动了其搭载的软件行业的发展。ANDROID是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了IPHONE等只能添加为数不多的固定软件的枷锁。其最震撼人心之处在于ANDROID手机系统的开放性和服务免费。手机的发展给人们的生活带来了极大的便利。我们常常需要记录生活,但是在纸质上写作已经不是那么的方便,我们需要需要一个地方,一个笔记本,一支笔来记录。所以在手机上开发一个日记本显得多么的迫切。因此,我的目标是做一款界面清晰,操作方便的日记本软件。12目的和意义在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,ANDROID手机凭借其优秀的系统性能以及良好的用户体验迅速得到了高校师生的青睐。在高校中,上课并不像高中时期有固定的教室和固定的时间,高校课程种类繁多,并且上课地点和时间不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,很多同学不得不随身携带一张课表来防止遗忘上课,但是还是不能完全避免该问题的发生,同时,作为一个当今高速发展的时代的成员,适应这个社会是必不能少的,在各种社交场合中,记住一些必须的信息很重要,而它们往往又繁琐又多,不易人为记住。基于这些问题,有必要设计一款方便小巧的简易日记本程序,可以让用户自定义文件,记住上课时间和地点,从而避免遗忘上课的事情出现,同时记住那些琐碎却有意义的小信息。而且,由于ANDROID系统市场的开放性和服务免费,它的应用程序方面就成了一块非常大的市场。13ANDROID平台及相关知识简介131ANDROID现状及发展相信大家对ANDROID的发展历史多少都有一些了解,ANDROID曾经是一家创立于旧金山的公司的名字,该公司于2005年8月份被GOOGLE收购,并从此踏上了飞速发展的道路。经过这几年的发展,它已经发展成了一个平台、一个生态体系。现在ANDROID在移动领域已经得到了广泛的应用。根据GOOGLE于2011年6月份公布的数字,现在每天激活的ANDROID设备高达50万台,比5月份的数据增加了10万台GOOGLE还透露目前已经与36家OEM厂商和215家运营商合作,共激活了超过1亿台ANDROID设备。相比于SYMBIAN的日落西山,以及苹果的封闭、WINDOWSPHONE的前途未卜,ANDROID无疑代表了当前行业发展的主流趋势开放平台取代了封闭平台。让参与者均能通过自己的努力而获益。从2008年9月公布10版本以来,经过近三年的跨越式发展,现在ANDROID已经发展到了3X版本,这是一个针对平板电脑而做了大量优化的版本,包括对更大屏幕的支持的类库、多任务优化等。目前市场上占主流的还是22版本,当然,相信随着时间的推移,23及后续版本会得到越来越多的设备的支持。根据市场研究公司GARTNER的统计数据显示,2010年第二季度,谷歌ANDROID移动操作系统的市场份额上升至172,成功取代苹果IOS晋升为全球第三大移动操作系统。在移动操作系统市场上,排名第一和第二的是诺基亚的SYMBIAN和RIM的黑莓,而这的市场份额分别是412和182。与此同时,应用与苹果IPHONE和其他苹果移动设备的IOS的市场份额则多出现下滑,跌至142。在2010年第二季度一系列最新智能手机发布之后,ANDROID操作系统在美国个人消费者市场上销售的所有智能手机中所占份额为33,超过RIM的28和苹果的22。基于ANDROID系统的智能手机已经进入到强劲的增长期,ANDROID第二季度在美国市场上的销售量同比大幅增长886;尼尔森也公布报告称,ANDROID手机销售量已经超过了IPHONE销售量。132ANDROID系统特点近几年,3G的全球覆盖是世界快速步入了移动互联网时代,网络的应用范围变得更加广泛,移动智能终端在市场上迅速渗透,成为了移动互联网发展的强大动力。根据市场调研机构GARTNER发布的最新统计报告表示,2011年一季度全手机销量共4278亿部,其中智能手机销量超过1亿部,现在高校师生的智能移动设备拥有率已经和PC拥有率相近。而智能手机操作系统中,ANDROID系统的市场份额又远远大于其他的手机操作系统。ANDROID是GOOGLE与2007年11月5日发布的基于LINUX内核的移动平台,改平台有操作系统,中间件,客户界面,应用软件组成,是真正开放的移动平台。从软件的分层的角度来说,ANDROID平台是由应用程序,应用程序框架,ANDROID运行时库层以及LINUX内核共4部分组成。14开发工具141ECLIPSEECLIPSE是著名的跨平台的自由集成开发环境(IDE)。最初主要用来JAVA语言开发,通过安装不同的插件ECLIPSE可以支持不同的计算机语言,比如C和PYTHON等开发工具。ECLIPSE的本身只是一个框架平台,但是众多插件的支持使得ECLIPSE拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以ECLIPSE为框架开发自己的IDEECLIPSE最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的ECLIPSE代码基础,包括PLATFORM、JDT和PDE。ECLIPSE项目IBM发起,围绕着ECLIPSE项目已经发展成为了一个庞大的ECLIPSE联盟,有150多家软件公司参与到ECLIPSE项目中,其中包括BORLAND、RATIONALSOFTWARE、REDHAT及SYBASE等。ECLIPSE是一个开放源码项目,它其实是VISUALAGEFORJAVA的替代品,其界面跟先前的VISUALAGEFORJAVA差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。随后还有包括ORACLE在内的许多大公司也纷纷加入了该项目,ECLIPSE的目标是成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可。142ANDROIDSDKANDROIDSDK指的是ANDROID专属的软件开发工具包。ANDROID项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。谷歌移动平台主管安迪鲁宾ANDYRUBIN表示,与软件开发合作伙伴的密切接触正在进行中。从2007年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供ANDROID平台,并组建“开放手机联盟”,其成员超过30家。143ANDROID手机自带的SQLITE轻量级数据库ANDROID平台给我们提供了一个SHAREDPREFERENCES类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SHAREDPREFERENCES保存数据,其背后是用XML文件存放数据,文件存放在/DATA/DATA/SHARED_PREFS目录下。SHAREDPREFERENCES,它是ANDROID提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。2可行性分析21背景软件开发的提出者是太原理工大学软件学院,作为该学院的学生,选择了基于ANDROID日记本的开发与设计的课题。开发者是该学院的学生廉若榕,该软件的适用用户为社会各界用户,适用范围是所有基于ANDROID操作系统的智能触屏手机。22可行性分析可行性研究主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议。其目的是明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析以确定该项目是否可行。221技术的可行性本系统开发工具是ECLIPSE和ANDROIDSDK,开发语言是JAVA,JAVA是一种面向对象编程语言,简单易学而且灵活方便。因此,完成系统实现在技术上完全具有可行性。222经济的可行性开发此项目用到的代码都是开源的,为开发软件节省了大量的金钱,达到了低成本的目的。另外,本软件对ANDROID手机用户配置的要求不高,几乎每个人手中的手机都可满足。因此,开发该软件功能在经济上是完全可行的。223操作可行性该系统是本着界面简洁、操作方便的目的进行开发,主要目的是帮助使用者对日记进行存储、删除、搜索多方面管理。因此该系统在操作上具有功能简单,操作简洁的优势,完全可行。224法律的可行性在开发过程中不存在侵权问题。此外,开发该系统的目的仅仅是作为一款管理软件应用于手机,不存在与国家法律不符的目的。综上所述,该系统的开发在法律方面也是可行的。3需求分析31软硬件需求硬件需求CPUPENTIUM以上计算机内存512M以上软件需求操作系统版本ANDROID开发工具ECLIPSE352开发语言JAVA32性能需求321系统的易操作性为使使用者能够轻松操作该软件,需做到以下要求(1)操作界面不涉及跳转,要操作的界面覆盖已显示的界面。(2)主要功能界面只有编写日记界面,其余都在功能菜单中实现。(3)在操作发生错误时出现友好提示。(4)在搜索中,只需输入日记中的关键字即可搜索。322数据的正确性与完整性(1)数据库设计过程中明确哪些数据可以为空,哪些数据不能为空。(2)关系表中的相关数据必须明确统一。323数据的安全性只有被授权的用户,即知道账户和密码的用户才可进入系统。33界面需求界面设计是整个设计很重要的一部分,好的界面不仅方便使用者操作,还可以使使用者有一个阳光的心情,更乐于记录生活,享受生活。因此界面的设计必须满足以下几点要求。(1)简易性界面的简洁是让用户便于了解,便于使用,并能减少用户发生错误选择的可能性。(2)用户语言界面中使用能反应用户本身的语言,而不是程序员的语言。(3)记忆负担最小化人脑不是电脑,在设计界面时必须要考虑大脑处理信息的限度。人类的短期记忆极不稳定,且有限,24小时内存在25的遗忘率。所以对用户来说,浏览信息要比记忆更加重要。(4)一致性一致性是每个优秀界面都具备的特点。界面的结构必须清晰且一致,与客户的需求一致。(5)清楚视觉上便于理解与使用。(6)用户熟悉程度用户可通过已掌握的知识来使用界面,但不应超出一般常识。(7)人性化高效率和用户满意度是人性化的体现。想用户所想,做用户所做,用户总是按照他们自己的方法理解和使用。(8)安全性用户做出危险的选择使有信息介入系统的提示。4系统概要设计41设计的基本思路设计思路遵循以下几点(1)日记本只是简单的对生活心得进行记录、管理(2)模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。(3)效率第一。设计该软件的目的是让使用者从繁琐记日记过程中解脱出来,因此本系统必须达到提高效率的目的。(4)界面清晰明了,操作简单。方便用户使用,让用户能够在最短时间轻松方便的适应系统的操作。(5)系统设计不仅要功能完善还要突出重点。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。42系统用户用例图该系统只涉及使用者对日记进行存储、删除、搜索多方面管理。其所对应的功能模块分别是写日记模块、搜索模块、信息安全管理模块。此外,为方便用户在这三方面的操作,加入了帮助功能模块,对一系列操作进行了解释说明,这样做一方面能够解决用户使用过程中产生的困扰,更加简便了用户的使用。用户是能够正确输入用户名和密码的操作人员,且其享有全部权限。用户用例图十分清晰明了,如图41。图41用户用例图43系统流程图打开系统后,我们可以进行密码的验证等操作进入系统,系统会自动对密码进行验证,若密码正确,则会进入信息列表页面,若密码错误,则会提示密码错误、请重新输入等信息。进入信息列表页面后,可选择输入新的日记,查看之前编写的日记进行查看、修改、删除等,也可以对信息安全进行重设,修改密码等,或者查看编者信息、帮助等。系统流程图,如图42。图42系统流程图将用户名和密码设定,如本系统的用户名和密码都为123,如果客户输入错误,则要重新回到登录页面输入正确的账号密码。如果输入正确,即可进入用户操作页面进行相应的操作。在进一系列的操作如增加日记,删除日记或者重新设置密码等操作之后然后点击退出,用户即可退出该软件。44功能模块本系统本着界面简洁大方,操作简单的原则实现实现以下功能(1)界面清晰分明、简单易用,任何人都能够在短时间内熟练操作。(2)用户享有存储、搜索、删除、安全设置三大权限。(3)增加主要功能的快捷键,增加操作的简易性。系统的功能结构图,如图43。图43系统功能模块图5系统功能实现此系统功能的实现需要两个主要阶段来完成,一是应用程序分析与设计阶段,二是系统成果实施验证阶段。系统开发工作主要是集中在逻辑、功能和技术设计上,所以开发设计阶段工作就显得尤为重要,对于设计该软件不需要数据库的设计,一开始就可直接进入具体的应用程序分析与设计的阶段。应用程序的分析与设计主要包括了应用程序各个功能模块的总体规划和分析、应用程序界面的选择与设计,以及应用程序结构的选择等部分,每一部分和小阶段都很重要,必不可少;而系统成果实施阶段要继承前面各个部分和阶段的工作,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。二者是相辅相成,相互依赖的关系。51密码验证登录界面描述该功能可以实现密码的验证。为了用户的保密性,防止用户的信息外泄,在用户已经设置好密码之后,若再次进入,需输入正确密码来验证,这样才能达到保护用户的隐私,故须有此功能来实现用户的安全性。511数字密码验证(1)描述在用户设置好数字密码后,再次登录只需输入数字密码即可进入。这个密码的相应设置在密码设置的数字密码功能处设置。(2)程序运行效果如图51所示图51数字密码验证(3)实现该功能代码TRY/获取保存的数字密码SPGETSHAREDPREFERENCES“PASS“,CONTEXTMODE_PRIVATESTRINGPASSWAYSPGETSTRING“PASSWAY“,NULLIFPASSWAYEQUALS“DIGITALPASS“ISSETSPGETBOOLEAN“ISSET“,FALSEPASSSPGETSTRING“PASSWORD“,NULLIFISSETLAYOUTINFLATERFACTORYLAYOUTINFLATERFROMMAINACTIVITYTHISFINALVIEWTEXTENTRYFACTORYINFLATERLAYOUTCONFIRM_PASS,NULL/获取验证数字密码的输入框/显示验证数字密码的对话框ALERTDIALOGBUILDERBUILDERNEWALERTDIALOGBUILDERTHISSETTITLEGETSTRINGRSTRINGPASS_CON_TITLE/设置标题SETICONGETRESOURCESGETDRAWABLEANDROIDRDRAWABLEIC_LOCK_LOCK/设置图标SETVIEWTEXTENTRY/设置密码输入框SETCANCELABLEFALSE/设置点击非对话框不可取消/为确定按钮添加监听器SETPOSITIVEBUTTONGETSTRINGRSTRINGOK,NEWDIALOGINTERFACEONCLICKLISTENERPUBLICVOIDONCLICKDIALOGINTERFACEDIALOG,INTWHICH/TODOAUTOGENERATEDMETHODSTUBCHECKPASSEDITTEXTTEXTENTRYFINDVIEWBYIDRIDCHECK_PASSIFCHECKPASSGETTEXTTOSTRINGTRIMEQUALSPASSTRY/获取本类中定义的对话框的显示方法FIELDFIELDDIALOGGETCLASSGETSUPERCLASSGETDECLAREDFIELD“MSHOWING“FIELDSETACCESSIBLETRUEFIELDSETDIALOG,TRUECATCHEXCEPTIONEEPRINTSTACKTRACEDIALOGDISMISSELSETRY/获取本类中定义的对话框的显示方法FIELDFIELDDIALOGGETCLASSGETSUPERCLASSGETDECLAREDFIELD“MSHOWING“FIELDSETACCESSIBLETRUEFIELDSETDIALOG,FALSECATCHEXCEPTIONEEPRINTSTACKTRACETOASTMAKETEXTMAINACTIVITYTHIS,RSTRINGWRONG_PASS,TOASTLENGTH_LONGSHOWCHECKPASSSETTEXT“BUILDERCREATESHOW512手势密码验证(1)描述在用户设置手势验证密码功能成功后,再次打开只需输入手势即可验证进入。这个手势密码的相应设置在密码设置中的手势密码设置功能处设置,与平时使用ANDROID系统手机的九宫图密码是一致的,极大地方便了用户。(2)程序运行效果如图52所示图52手势密码验证(3)实现该功能代码/获取保存的手势密码SHAREDPREFERENCESPREFERENCESGETSHAREDPREFERENCES“PASS“,CONTEXTMODE_PRIVATESTRINGPASSPREFERENCESGETSTRING“LOCK_PWD“,“/判断输入的手势密码是否与保存的一致IFPASSTRIMEQUALSLOCKPATTERNUTILSPATTERNTOSTRINGPATTERNINTENTINTENTNEWINTENTCHECKPASSACTIVITYTHIS,MAINACTIVITYCLASSSTARTACTIVITYINTENTCHECKPASSACTIVITYTHISFINISHELSETOASTMAKETEXTCHECKPASSACTIVITYTHIS,RSTRINGWRONG_PASS,TOASTLENGTH_LONGSHOW52日记本输入模块描述该功能可以实现日记输入的增删改,自动生成的日期,使记录更加方便,同时也有天气的记录。521写日记(1)描述日记本输入模块主要功能是输入文本信息,其中有可以输入文字,也可以关联图片,也可以输入系统中带的表情,更加丰富文本内容。(2)程序运行效果图如图53所示图53写日记(3)日记完成以后保存日记的代码/若当天日记未添加,则执行添加操作IFID0IFDIARYINFOGETTEXTTOSTRINGTRIMEQUALS“TRY/将日记信息保存到数据库中DATABASEHELPERDBHELPERNEWDATABASEHELPERTHIS,“MYDIARYDB“SQLITEDATABASEDBDBHELPERGETWRITABLEDATABASEDBEXECSQLINSERTINFODBCLOSECATCHEXCEPTIONELOGD“WRITEDIARYACTIVITY“,ETOSTRINGTHISFINISH/若内容被修改则执行更新操作ELSESTRINGUPDATEINFO“UPDATEDIARY_INFOSETDATE“TIMETEXTVIEWGETTEXTTOSTRING“,WEEK“WEEKTEXTVIEWGETTEXTTOSTRING“,WEATHER“WEATHERSPINNERGETSELECTEDITEMTOSTRING“,DIARYINFO“DIARYINFOGETTEXTTOSTRING“,FONTSIZE“DIARYINFOGETTEXTSIZE“WHEREID“ID“TRY/将修改内容更新到数据库中DATABASEHELPERDBHELPERNEWDATABASEHELPERTHIS,“MYDIARYDB“SQLITEDATABASEDBDBHELPERGETWRITABLEDATABASEDBEXECSQLUPDATEINFODBCLOSECATCHEXCEPTIONELOGD“WRITEDIARYACTIVITY“,ETOSTRINGTHISFINISH522删除日记(1)描述删除不需要的日记,进入日记编辑页面,菜单功能键中的删除键即可删除本篇日记。或者在日记列表中选中不需要的日记,长按即可删除。在此功能中利用了信息提示框,提示用户确认操作,更加人性化。(2)程序运行效果图如图54所示图54删除日记(3)删除功能的代码如下/设置删除界面对话框ALERTDIALOGBUILDERBUILDERNEWALERTDIALOGBUILDERTHISBUILDERSETTITLERSTRINGDELETE_COMFIRM/设置标题BUILDERSETICONANDROIDRDRAWABLEIC_MENU_DELETE/设置图标/为确定按钮设置监听器BUILDERSETPOSITIVEBUTTONRSTRINGOK,NEWDIALOGINTERFACEONCLICKLISTENERPUBLICVOIDONCLICKDIALOGINTERFACEDIALOG,INTWHICH/TODOAUTOGENERATEDMETHODSTUBTRY/在数据库中删除日记信息DATABASEOPERATEDELETEID,WRITEDIARYACTIVITYTHISCATCHEXCEPTIONE/TODOHANDLEEXCEPTIONLOGD“WRITEDIARYACTIVITY“,ETOSTRINGONBACKPRESSEDWRITEDIARYACTIVITYTHISFINISH523字体大小设置(1)描述该功能模块可以对随用户对字体大小的敏感程度或者喜好,对字体的大小进行设置,更加人性化。在设计的过程中对三星GALAXYIII中的字体规模进行调查,在系统中对字体的各个规模进行了规定,设计合理。(2)程序运行效果图如果55所示图55字体大小设置(3)字体大小选择的部分代码如下/判断所选字体大小IFVGETIDRIDLL_FONT_SMALLIFSHAREDPREFERENCESGETINT“FONT_SIZE“,0RIDIV_SMALL_SELECTTHISFINISHELSEIFSHAREDPREFERENCESGETINT“FONT_SIZE“,0RIDIV_NOMAL_SELECTEDITORPUTINT“FONT_SIZE“,RIDIV_SMALL_SELECTEDITORCOMMITWRITEDIARYACTIVITYDIARYINFOSETTEXTSIZE14FFINDVIEWBYIDRIDIV_NOMAL_SELECTSETVISIBILITYVIEWGONETHISFINISH524分享功能(1)描述该功能模块可以以邮件或者信息或者微信等功能分享自己的心情日记,使用更加多元化。(2)程序运行效果图如图56所示图56分享功能(3)实现该功能代码INTENTINTENTNEWINTENTINTENTACTION_SENDINTENTPUTEXTRAINTENTEXTRA_SUBJECT,“分享“/设置分享标题INTENTPUTEXTRAINTENTEXTRA_TEXT,DIARYINFOGETTEXT/设置分享内容INTENTSETTYPE“TEXT/PLAIN“/设置分享内容类型INTENTSETFLAGSINTENTFLAG_ACTIVITY_NEW_TASK/设置打开方式THISSTARTACTIVITYINTENTCREATECHOOSERINTENT,GETTITLE525天气功能(1)使用了下拉列表菜单功能,添加了几种天气供用户选择。在该功能下可以自己设置天气,没有使用联网设置,天气可以代表用户的心情,更加人性化。(2)程序运行效果图如图57所示图57天气功能(3)实现该功能代码WEATHERSPINNERSPINNERFINDVIEWBYIDRIDWEATHER/天气选择下拉框/天气信息下拉框的适配器ARRAYADAPTERADAPTERARRAYADAPTERCREATEFROMRESOURCETHIS,RARRAYWEATHER,ANDROIDRLAYOUTSIMPLE_SPINNER_ITEMADAPTERSETDROPDOWNVIEWRESOURCEANDROIDRLAYOUTSIMPLE_DROPDOWN_ITEM_1LINEWEATHERSPINNERSETADAPTERADAPTER/为下拉框设置适配器WEATHERSPINNERSETPROMPTGETSTRINGRSTRINGWEATHER/为下拉框设置标题53日记列表(1)描述日记列表是对所写的日记进行排列,按照时间、日记生成的顺序,排列出日记的摘要,更方便用户查询,翻看,进行更多的操作。(2)程序运行效果如图58所示图58日记列表(3)实现该功能代码/从数据库中获取日记信息DATABASEHELPERDBHELPERNEWDATABASEHELPERACTIVITYGETBASECONTEXT,“MYDIARYDB“SQLITEDATABASEDBDBHELPERGETREADABLEDATABASECURSORCURSORDBQUERYTABLENAME,NULL,NULL,NULL,NULL,NULL,“IDDESC“LISTINFOCLEARWHILECURSORMOVETONEXTMYDIARYINFOMODELMYDIARYINFONEWMYDIARYINFOMODELSTRINGDATECURSORGETSTRINGCURSORGETCOLUMNINDEX“DATE“STRINGWEEKCURSORGETSTRINGCURSORGETCOLUMNINDEX“WEEK“STRINGWEATHERCURSORGETSTRINGCURSORGETCOLUMNINDEX“WEATHER“STRINGDIARYINFOCURSORGETSTRINGCURSORGETCOLUMNINDEX“DIARYINFO“FLOATFONTSIZECURSORGETFLOATCURSORGETCOLUMNINDEX“FONTSIZE“INTIDCURSORGETINTCURSORGETCOLUMNINDEX“ID“/将取到的日记信息保存在对象中MYDIARYINFOSETDATEDATEMYDIARYINFOSETWEEKWEEKMYDIARYINFOSETWEATHERWEATHERMYDIARYINFOSETDIARYINFODIARYINFOMYDIARYINFOSETFONTSIZEFONTSIZEMYDIARYINFOSETIDID/将对象放到LIST中LISTINFOADDMYDIARYINFOCURSORCLOSEDBCLOSE54信息安全功能(1)描述该功能可以实现对日记的保密工作,分为数字密码和图形密码两个部分。多种选择供用户选择,方便使用。(2)程序运行效果如图59所示图59信息安全功能541数字密码(1)描述此功能对数字密码的长短没有限制,如果想添加密码又怕繁琐,短密码也是可以进行保密的。而长密码一般不超过12位。在该界面输入数字两次输入相同密码进行确认即可完成设置。(2)程序运行如图510所示图510数字密码(3)实现该功能代码SETPASSEDITTEXTTEXTENTRYFINDVIEWBYIDRIDSET_PASS/输入密码框CONFIRMPASSEDITTEXTTEXTENTRYFINDVIEWBYIDRIDCONFIRM_PASS/再次输入密码框/判断两次输入密码是否一致IFCONFIRMPASSGETTEXTTOSTRINGTRIMEQUALS“EDITOREDITORPREFERENCESEDITEDITORPUTSTRING“PASSWAY“,“DIGITALPASS“EDITORPUTBOOLEAN“ISSET“,ISSETEDITORPUTSTRING“PASSWORD“,SETPASSGETTEXTTOSTRINGTRIMEDITORCOMMITDIALOGDISMISSTOASTMAKETEXTPASSWORDSETACTIVITYTHIS,RSTRINGPASS_SET_SUCCESS,TOASTLENGTH_LONGSHOW542图形密码(1)描述九宫格的设置,可以根据用户喜好,连贯起任意点设置密码,一次设置,一次确认密码即可完成手势密码的设置。(2)程序运行效果图如图511所示图511图形密码(1)实现该功能的主要代码如下/保存手势PUBLICVOIDSAVELOCKPATTERNLISTPATTERNEDITOREDITORPREFERENCEEDITEDITORPUTSTRINGKEY_LOCK_PWD,PATTERNTOSTRINGPATTERNEDITORCOMMIT/将手势转化为字符串PUBLICSTATICSTRINGPATTERNTOSTRINGLISTPATTERNIFPATTERNNULLRETURN“FINALINTPATTERNSIZEPATTERNSIZEBYTERESNEWBYTEPATTERNSIZEFORINTI0IPATTERNSIZEILOCKPATTERNVIEWCELLCELLPATTERNGETIRESIBYTECELLGETROW3CELLGETCOLUMNRETURNARRAYSTOSTRINGRES55搜索功能(1)描述在已生成的日记列表中,直接搜索记忆中的关键字,系统会关联到日记的相关内容,如果确认无误是所查找的日记内容,直接点开就进入到日记编辑查看页面。(2)程序运行效果图如图512所示图512搜索功能(3)实现该功能主要代码如下/根据输入内容在数据库中查找日记DATABASEHELPERDBHELPERNEWDATABASEHELPERACTIVITYGETBASECONTEXT,“MYDIARYDB“SQLITEDATABASEDBDBHELPERGETREADABLEDATABASECURSORCURSORDBQUERY“DIARY_INFO“,NULL,“DIARYINFOLIKE“EDITTEXTGETTEXTTOSTRING“,NULL,NULL,NULL,“IDDESC“LISTINFOCLEARWHILECURSORMOVETONEXTMYDIARYINFOMODELMYDIARYINFONEWMYDIARYINFOMODELSTRINGDATECURSORGETSTRINGCURSORGETCOLUMNINDEX“DATE“STRINGWEEKCURSORGETSTRINGCURSORGETCOLUMNINDEX“WEEK“STRINGWEATHERCURSORGETSTRINGCURSORGETCOLUMNINDEX“WEATHER“STRINGDIARYINFOCURSORGETSTRINGCURSORGETCOLUMNINDEX“DIARYINFO“FLOATFONTSIZECURSORGETFLOATCURSORGETCOLUMNINDEX“FONTSIZE“INTIDCURSORGETINTCURSORGETCOLUMNINDEX“ID“/将日记信息保存到对象中MYDIARYINFOSETDATEDATEMYDIARYINFOSETWEEKWEEKMYDIARYINFOSETWEATHERWEATHERMYDIARYINFOSETDIARYINFODIARYINFOMYDIARYINFOSETFONTSIZEFONTSIZEMYDIARYINFOSETIDIDLISTINFOADDMYDIARYINFOCURSORCLOSEDBCLOSE56帮助功能(1)描述该模块实现帮助用户了解各模块的功能及使用方法,更加方便用户使用。(2)程序运行效果图如图513所示图513帮助功能(3)实现该功能主要代码如下ALERTDIALOGBUILDERMYDLGNEWALERTDIALOGBUILDERTHISMYDLGSETICONANDROIDRDRAWABLEIC_DIALOG_INFO/设置图标MYDLGSETTITLERSTRINGHELP/设置标题MYDLGSETMESSAGERSTRINGHELP_INFO/设置对话框内容/设置确定按钮MYDLGSETPOSITIVEBUTTONRSTRINGOK,NEWDIALOGINTERFACEONCLICKLISTENERPUBLICVOIDONCLICKDIALOGINTERFACEDIALOG,INTWHICHBUTTON/创建对话框ALERTDIALOGALERTMYDLGCREATE57关于(1)描述,该功能包含了版本信息,开发者信息(2)程序运行效果如图514所示图514关于界面(3)实现该功能主要代码如下ALERTDIALOGBUILDERMYDLGNEWALERTDIALOGBUILDERTHISMYDLGSETICONANDROIDRDRAWABLEIC_DIALOG_INFO/设置图标MYDLGSETTITLERSTRINGABOUT/设置标题MYDLGSETMESSAGERSTRINGABOUT_INFO/设置对话框内容/设置确定按钮MYDLGSETPOSITIVEBUTTONRSTRINGOK,NEWDIALOGINTERFACEONCLICKLISTENERPUBLICVOIDONCLICKDIALOGINTERFACEDIALOG,INTWHICHBUTTON/创建对话框ALERTDIALOGALERTMYDLGCREATE6测试用例61系统测试611系统测试过程中出现的问题由于技术的不熟练缘故,在本次设计的过程中出现了很多的问题,比如说高低版本不能正确显示,但是通过老师的指导还有同学的帮助,还有同事的协助,也都正确完成。在测试中,针对各个模块设计用例,以检测各个模块功能是否完善,还需改进。612系统测试目的与意义系统测试的目的是在真实系统工作环境下通过与系统的需求定义作比较,检验完整的软件配置项能否和系统正确连接,发现软件与系统/子系统设计文档和软件开发合同规定不符合或与之矛盾的地方。系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合起来,在实际运行(使用)环境下,对计算机系统进行的测试。是为了发现缺陷并度量产品质量,按照系统的功能和性能需求进行的测试。62测试过程测试的过程就是把一切可能的因素考虑在内,按照“最不利”原则去进行测试,例如在本应该输入数字的地方尝试输入汉字,会有产生什么样的结果,按照这样的思路尽可能多的设计不重复的用例,这样就可以在将系统交到客户手中之前使系统更加完善起来,减少了系统维护成本。621验证密码模块测试密码验证的模块测试中,主要是对两种方式的密码进行验证。在数字密码设置功能中添加1234密码,退出程序重新进入输入密码1234,成功进入主界面。同样在手势密码设置功能中添加手势,退出程序重新进入,输入手势,成功进入主界面。密码验证功能模块正常运作,确认无误。测试如表61,各项功能均正常显示。表61验证密码测试结果622日记输入模块测试在写日记模块测试中,主要是测试日记输入模块中的各项功能是否可以正常运作。经过测试后,各项功能均可正常运行。测试如表62,各项功能均正常显示。用例目标测试验证密码模块是否正常运作需求描述输入密码后可以正常进入界面步骤操作输入数据预期结果1添加1234密码后重新进入应用并进行验证1234顺利进入主界面2添加手势密码后重新进入应用并进行验证无顺利进入主界面用例目标测试日记输入模块中的各项功能是否正常运作需求描述各项功能均达到需求步骤操作输入数据预期结果1点击写日记并添加内容后回退到主界面今天是个好天气回退到主界面后日记显示在日记列表中2在日记输入界面菜单中删除日记删除退回到主界面后之前编写的日记消失小字体比正常的变小大字体比正常的变大3在字体大小设置中选择不同的字体超大字体比大号还要大电子邮件关联到系统自带电子邮件功能中,输入正确的邮编地址完成发送4将日记分享到各项应用程序中信息关联到信息功能,输入正确的收件人完成发送表62日记输入测试结果623日记列表模块测试日记列表模块的测试主要是检测输入的日记能否正确显示在日记列表中。在测试过程中,输入了三篇日记,成功退出保存后,在日记列表中成功显示出三篇日记。测试如表63,各功能均正常显示。表63日记列表测试结果624搜索模块测试在搜索模块的测试主要是测试在搜索框中输入关键字后,能否在列表中显示出与搜索内容相同的日记。添加了某篇带有天气字样的日记,在搜索功能中输入“天气”后,在列表中显示出了带有“天气”的日记。测试如表64,各功能均正常显示。表64搜索模块测试结果625信息安全模块测试在信息安全模块的测试中,主要是验证是否能够正常添加密码,并且在密码验证时能否正确实现。在设计用例后,正确地完成了该功能的正确使用。测试如表65,各功能均正常显示。备忘录关联到备忘录功能,进入系统备忘录界面,点击保存完成分享晴朗日记编写界面天气显示为晴朗多云日记编写界面天气显示为多云5选择不同的天气降雪日记编写界面天气显示为降雪用例目标测试日记列表模块是否正常运作需求描述正常显示添加的多个日记步骤操作输入数据预期结果1保存3篇日记日记在列表中显示所有输入的日记3篇用例目标测试搜索模块是否正常运作需求描述正常显示搜索结果步骤操作输入数据预期结果1在搜索框中输入“天气”天气在下方列表中显示出与日记内容带有“天气”的日记表65信息安全测试结果63非功能测试631实时性测试通过用户的点击操作,一般在两秒内能实现。632安装/反安装测试在用户手机上进行安装和反安装正常,反安装是删除所有安装内容。结果是在两项测试中,均无误,准确实现程序的安装。633兼容性测试在引用本软件时,能与其他软件同时

温馨提示

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

最新文档

评论

0/150

提交评论