基于日记本的设计与开发_第1页
基于日记本的设计与开发_第2页
基于日记本的设计与开发_第3页
基于日记本的设计与开发_第4页
基于日记本的设计与开发_第5页
免费预览已结束,剩余42页可下载查看

下载本文档

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

文档简介

基于android的日记本的设计与开发摘要android是一种基于Linux V2. 6內核的综合操作系统。android为全球超过10亿 部手机和平板电脑提供强力支持。全球为数众多的移动电话用户正在使用各种基于 android的电话,它可以自由定制且易于使用手机带给人们的便捷生活是不可替代的, 手机已成为人们日常生活中不可或缺的重要部分,它不仅方便了人们的交流,娱乐功能 更丰富了人们的生活。基于android的日记本是专为那些因为手机自带日记本功能不足而设计,在给带来 方便快捷的同时每天一篇,也记录了生活中的点滴,符合现代快节奏生活的需求。系统 的主要功能包括:日记的创建、删除、修改.加密、分享、搜索等各项综合记事功能, 使该应用程序更加人性化,更加便捷。此论文描述了日记本的设计理念、设计过程、实现结果和测试过程。关键词:移动终端;android ;日记本Based on the design and the development of the androids diaiyAbstractandroid is a Linux based V2.6 integrated operating system kernel. More than 1 billion mobile phones and tablets provide strong support android for the world. Because it to customize and easy to use, a large number of mobile phone users are using all kinds of android based phones, mobile phones bring convenient for peoples life, it not only convenient for peoples communication, entertainment function more enriched peoples life and it has become an indispensable important part in peoples Daily life.Based on the androids diary is designed for those phones whose own diary function is not useful. An article every day, bring convenient ,also recorded the life which needs of the modern fast-paced life. Diary systems main features include: create, delete, modify, encryption, share, search, and other comprehensive chronicle function, make the application more humanized and more convenient.This paper describes the design ideas of the diary, the design process, implementation results and the testing process.Keywords: android ; dairy ; mobile devices摘要iAbs tractii1绪论11. 1课题背景11.2目的和意义11. 3android平台及相关知识简介1131 android 现状及发展11. 3. 2 android 系统特点21. 4开发工具21 4 1 Eclipse21. 4. 2 android SDK31. 43 androi d手机自带的sql i te轻量级数据库32可行性分析42 1背号42 2可行性分析42. 2.1技术的可行性42. 2.2经济的可行性42. 2. 3操作可行性42. 2.4法律的可行性43需求分析53. 1软硬件需求53. 2性能需求53. 2.1系统的易操作性53. 2.2数据的正确性与完整性53. 2. 3数据的安全性533界面需求54系统概要设计74. 1设计的基本思路74.2系统用户用例图74. 3系统流程图84.4功能模块95系统功能实现1051密码验证登录界面1051. 1数字密码验证1051. 2手势密码验证125.2日记本输入模块14521写日记145. 2.2 删除日记155. 2.3字体大小设置17171819212123242526282828282828292930303131313131323334355. 2.4分享功能52. 5 天气功能53 日i己歹I表5.4信息安全功能54. 1数字密码54. 2图形密码55搜索功能5.6帮助功能57 关于6测试用例6. 1系统测试6. 1. 1系统测试过程中岀现的问题6. 1.2系统测试目的与意义6.2测试过程6. 2.1验证密码模块测试6. 2.2日记输入模块测试6. 2.3日记列表模块测试6.2.4搜索模块测试6.2.5信息安全模块测试6.3非功能测试6. 31实时性测试6. 3.2安装/反安装测试6. 33兼容性测试6.4用户界面测试参考文献致谢英文文献原文中文译文1绪论1.1课题背景近几年,我国经济迅速发展,科技日益更新,手机以潮流之势覆盖全球,手机搭载 的开发技术也是迅速发展。最早的j辺系统,发展到后来的symbian,继而android淘 汰了塞班,现在全球比较感行的两大通用系统是android和IOS系统,最后微软公司又 开发了 windows平台,这些平台的大力发展,促进了手机行业的发展,同时带动了其 搭载的软件行业的发展。android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大 的自由度,突破了 iPhone等只能添加为数不多的固定软件的枷锁。其最震撼人心之处 在于android手机系统的开放性和服务免费。手机的发展给人们的生活带来了极大的便利。我们常常需要记录生活,但是在纸质 上写作已经不是那么的方便,我们需要需要一个地方,一个笔记本,一支笔来记录。所 以在手机上开发一个日记本显得多么的迫切。因此,我的目标是做一款界面清晰,操作方便的日记本软件。1.2目的和意义在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐 渐得到了普及,android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了高 校师生的青睐。在高校中,上课并不像高中时期有固定的教室和固定的时间,高校课程 种类繁多,并且上课地点和时间不固定,一周內极少会岀现重复课程,所以要将课程表 完整的记忆下来是一项很艰难的事情,很多同学不得不随身携带一张课表来防止遗忘上 课,但是还是不能完全避免该问题的发生,同时,作为一个当今高速发展的时代的成员, 适应这个社会是必不能少的,在各种社交场合中,记住一些必须的信息很重要,而它们 往往又繁琐又多,不易人为记住。基于这些问题,有必要设计一款方便小巧的简易日记 本程序,可以让用户自定义文件,记住上课时间和地点,从而避免遗忘上课的事情岀现, 同时记住那些琐碎却有意义的小信息。而且,由于android系统市场的开放性和服务免 费,它的应用程序方面就成了一块非常大的市场。1. 3 android平台及相关知识简介1. 3.1 android现状及发展相信大家对android的发展历史多少都有一些了解,android曾经是一家创立于旧 金山的公司的名字,该公司于200了年8月份被Google收购,并从此踏上了飞速发展的 道路。经过这几年的发展,它已经发展成了一个平台、一个生态体系。JM android在 移动领域已经得到了广泛的应用。根据Google于2011年6月份公布的数字,现在每天 激活的android设备高达50万台,比了月份的数据増加了 10万台! Google还透露目前 已经与36家OEM厂商和215家运营商合作,共激活了超过1亿台android设备。相比于Symbian的日落西山,以及苹果的封闭s Windows Phone的前途未卜、android 无疑代表了当前行业发展的主流趋势:开放平台取代了封闭平台。让参与者均能通过自 己的努力而获益。从2008年9月公布1.0版本以来,经过近三年的跨越式发展,现在android已经发 展到了 3怎版本,这是一个针对平板电脑而做了大量优化的版本,包括对更大屏幕的支 持的类库、多任务优化等。目前市场上占主流的还是2.2版本,当然,相信随着时间的 推移,2.3及后续版本会得到越来越多的设备的支持。根据市场硏究公司Gartner的统计数据显示,2010年第二季度,谷歌android移动 操作系统的市场份额上升至17.2%,成功取代苹果IOS晋升为全球第三大移动操作系统。 在移动操作系统市场上,排名第一和第二的是诺基亚的Symbian和BIM的黑莓,而这 的市场份额分别是41.2%和18.2%。与此同时,应用与苹果iphone和其他苹果移动设备 的IOS的市场份额则多岀现下滑,跌至14.2%o在2010年第二季度一系列最新智能手机发布之后,android操作系统在美国个人消 费者市场上销售的所有智能手机中所占份额为33%,超过BIM的28%和苹果的22%。 基于android系统的智能手机已经进入到强劲的増长期,android第二季度在美国市场上 的销售量同比大幅増长886%;尼尔森也公布报告称,android手机销售量已经超过了 iphone销售量。1.3. 2 android系统特点近几年,3G的全球覆盖是世界快速步入了移动互联网时代,网络的应用范围变得 更加广泛,移动智能终端在市场上迅速渗透,成为了移动互联网发展的强大动力。根据 市场调硏机构gartner发布的最新统计报告表示,2011年一季度全手机销量共4. 278亿 部,其中智能手机销量超过1亿部,现在高校师生的智能移动设备拥有率已经和PC拥 有率相近。而智能手机操作系统中,android系统的市场份额又远远大于其他的手机操 作系统。android是google与2007年11月5日发布的基于linuz內核的移动平台,改 平台有操作系统,中间件,客户界面,应用软件组成,是真正开放的移动平台。从软件 的分层的角度来说,android平台是由应用程序,应用程序框架,android运行时库层以 及linuz内核共4部分组成。1.4开发工具1.4.1 Ecl ipseEclipse是著名的跨平台的自由集成开发坏境(IDE)。最初主要用来Java语言开发, 通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C+和Python等开发工 具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能 相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的 IDE.Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月oIBM 扌昱供了最初的Eclipse代码基础,包括Platform s JDT和PDE。Eclipse项目IBM发起, 围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软芳公司参与 到 Eclipse 项目中,其中包括 Borland、Rational Software、Red Hat 及 Sybase 等。Eclipse 是一个开放源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual A爭for J辺差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上 开发各自的插件,因此越来越受人们关注。随后还有包括0怕朮在內的许多大公司也 纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使用者 只需下载各种语言的插件即可。1.4.2 android SDKandroid SDK指的是android专属的软件开发工具包。android项目目前正在从手机运营商.手机厂商、开发者和消费者那里获得大力支 持。谷歌移动平台主管安迪鲁宾(Andy Rubin)表示,与软件开发合作伙伴的密切接触 正在进行中。从2007年11月开始,谷歌开始向服务提供商.芯片厂商和手机销售商扌昱供 android平台,并组建“开放手机联盟”,其成员超过30家。1.4. 3 android手机自带的sql ite轻呈级数据库android平台给我们扌昱供了 一个SharedPreferences类,它是一个轻量级的存储类, 特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文 件存放数据,文件存放在/data/data/share d_prefs目录下。SharedPreferences ,它是android扌昱供用来存储一些简单的配置信息的一种机制,例 如,一些默认欢迎语、登录的用户名和密码等。2可行性分析2.1背景软件开发的扌昱岀者是太原理工大学软件学院,作为该学院的学生,选择了基于 android日记本的开发与设计的课题。开发者是该学院的学生廉若榕,该软件的适用用 户为社会各界用户,适用范围是所有基于android操作系统的智能触屏手机。2.2可行性分析可行性硏究主要內容是要求以全面.系统的分析为主要方法,经济效益为核心, 围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性 硏究提出综合分析评价,指出优缺点和建议。其目的是明确系统的目标.规模与功能, 对系统开发背景、必要性和意义进行调查分析以确定该项目是否可行。2. 2.1技术的可行性本系统开发工具是eclipse和android sdk,开发语吕是Java, java是一种面向对象 编程语言,简单易学而且灵活方便。因此,完成系统实现在技术上完全具有可行性。2. 2.2经济的可行性开发此项目用到的代码都是开源的,为开发软件节省了大量的金钱,达到了低成本 的目的。另外,本软件对android手机用户配置的要求不高,几乎每个人手中的手机都 可满足。因此,开发该软件功能在经济上是完全可行的。2. 2.3操作可行性该系统是本着界面简洁.操作方便的目的进行开发,主要目的是帮助使用者对日记 进行存储、删除.搜索多方面管理。因此该系统在操作上具有功能简单,操作简洁的优 势,完全可行。2. 2.4法律的可行性在开发过程中不存在侵权问题。此外,开发该系统的目的仅仅是作为一款管理软件 应用于手机,不存在与国家法律不符的目的。综上所述,该系统的开发在法律方面也是 可行的。3需求分析3.1软硬件需求硬件需求:CPU: Pentium以上计算机 內存:力2M以上软件需求:操作系统版本:android开发工具:Eclipse 35.2开发语言:Java3.2性能需求3. 2.1系统的易操作性为使使用者能够轻松操作该软件,需做到以下要求:(1) 操作界面不涉及跳转,要操作的界面覆盖已显示的界面。(2) 主要功能界面只有编写日记界面,其余都在功能菜单中实现。(3) 在操作发生错误时出现友好提示。(4) 在搜索中,只需输入日记中的关键字即可搜索。3. 2.2数据的正确性与完整性(1) 数据库设计过程中明确哪些数据可以为空,哪些数据不能为空。(2) 关系表中的相关数据必须明确统一。3. 2.3数据的安全性只有被授权的用户,即知道账户和密码的用户才可进入系统。3. 3界面需求界面设计是整个设计很重要的一部分,好的界面不仅方便使用者操作,还可以使使 用者有一个阳光的心情,更乐于记录生活,享受生活。因此界面的设计必须满足以下几 点要求。(1) 简易性界面的简洁是让用户便于了解,便于使用,并能诚少用户发生错误选择的可能性。(2) 用户语言界面中使诗昙反应用户本身的语言,而不是程序员的语言。(3) 记忆负担最小化人脑不是电脑,在设计界面时必须要考虑大脑处理信息的限度。人类的短期记忆 极不稳定,且有限,24小时內存在徹的遗忘率。所以对用户来说,浏览信息要比记忆 更加重要。(4) 一致性致性是每个优秀界面都具备的特点。界面的结构必须清晰且一致,与客户的需 求一致。(5) 清楚视觉上便于理解与使用。(6) 用户熟悉程度用户可通过已掌握的知识来使用界面,但不应超出一般常识。人性化高效率和用户满意度是人性化的体现。想用户所想,做用户所做,用户总是按照 他们自己的方法理解和使用。(8)安全性用户做岀危险的选择使有信息介入系统的提示。4系统概要设计4.1设计的基本思路设计思路遵循以下几点:(1)日记本只是简单的对生活心得进行记录.管理(2)模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码 的重载,简化设计和实现过程。(3)效率第一。设计该软件的目的是让使用者从繁琐记日记过程中解脱岀来,因 此本系统必须达到提高效率的目的。(4)界面清晰明了,操作简单。方便用户使用,让用户能够在最短时间轻松方便 的适应系统的操作。(5)系统设计不仅要功能完善还要突岀重点。要符合设计需求,在有可能改进的 地方进行扩充,使系统更适应用户的需要。4.2系统用户用例图该系统只涉及使用者对日记进行存储、删除、搜索多方面管理。其所对应的功能模 块分别是写日记模块、搜索模块、信息安全管理模块。此外,为方便用户在这三方面的 操作,加入了帮助功能模块,对一系列操作进行了解释说明,这样做一方面能够解决用 户使用过程中产生的困扰,更加简便了用户的使用。用户是能够正确输入用户名和密码的操作人员,且其享有全部权限。用户用例图十 分清晰明了,如图4-1。图4-1用户用例图4. 3系统流程图打开系统后,我们可以进行密码的验证等操作进入系统,系统会自动对密码进行验 证,若密码正确,则会进入信息列表页面,若密码错误,则会提示密码错误、请重新输 入等信息。进入信息列表页面后,可选择输入新的日记,查看之前编写的日记进行查看、 修改、删除等,也可以对信息安全进行重设,修改密码等,或者查看编者信息、帮助等。 系统流程图,如图4-2。操作界面图42系统流程图写 日 记将用户名和密码设定,如本系统的用户名和密码都为123,如果客户输入错误,贝IJ 要重新回到登录页面输入正确的账号密码。如果输入正确,即可进入用户操作页面进行 相应的操作。在进一系列的操作如増加日记,删除日记或者重新设置密码等操作之后然 后点击退岀,用户即可退岀该软件。4.4功能模块本系统本着界面简洁大方,操作简单的原则实现实现以下功能:(1) 界面清晰分明.简单易用,任何人都能够在短时间內熟练操作。(2) 用户享有存储、搜索.删除、安全设置三大权限。(3) 増加主要功能的快捷键,増加操作的简易性。系统的功能结构图,如图4-3。日记列东日记入图4-3系统功能模块图5系统功能实现此系统功能的实现需要两个主要阶段来完成,一是应用程序分析与设计阶段,二是 系统成果实施验证阶段。系统开发工作主要是集中在逻辑、功能和技术设计上,所以开发设计阶段工作就显 得尤为重要,对于设计该软件不需要数据库的设计,一开始就可直接进入具体的应用程 序分析与设计的阶段。应用程序的分析与设计主要包括了应用程序各个功能模块的总体 规划和分析.应用程序界面的选择与设计,以及应用程序结构的选择等部分,每一部分 和小阶段都很重要,必不可虫而系统成果实施阶段要继承前面各个部分和阶段的工作, 将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。二者 是相辅相成,相互依赖的关系。5. 1密码验证登录界面描述:该功能可以实现密码的验证。为了用户的保密性,防止用户的信息外泄,在 用户已经设置好密码之后,若再次进入,需输入正确密码来验证,这样才能达到保护用 户的隐私,故须有此功能来实现用户的安全性。5.1.1数字密码验证(1)描述:在用户设置好数字密码后,再次登录只需输入数字密码即可进入。这 个密码的相应设置在密码设置的数字密码功能处设置。(2)程序运行效果如图所示:图51数字密码验证(3) 实现该功能代码:try 茯取保存的数字密码sp=getSharedPreferences(pass,Context. MODE_PR1VATE);String p as sW ay=sp. getString(p as sway, null);if (pas sW ay.e quals ( digitalp as s) is S et=sp. getB o ole an(is S et, fals e);p as s=sp.getString(p as sword, null);if (isSet) Layoutlnflater factory=LayoutInflater. 力o加(Mainactixity. this);final view textEntry=factory.inflate(R.layout. confirm j)ass, null);/ 茯取 验证数字密码的输入框显示验证数字密码的对话框AlertDialog. Builder builder=new AlertDialog. Builder(this).s etTitle (getString(R. string. passj:onJfitl&)/ 设置标题.s etlc on(getRe s ourc esQ. getDrawable (android. R. draw able, ic Jock_Jock)f 设置图标-.s etview(textEntxy)/设置密码输入框.setCancelable(false)/设置点击非对话框不可取消为确定按钮添加监听器.setPositiveButton(getString(R.string. ok), newDialoglntetfac e. OnCEckListener ()public void onCEck(DialogInterfac edialog, int which) / TODO Auto-generated method stubche ckP as s=(EditT ext)textEntxy. findvie wB yId(R.id. checkjass);if (checkPass.getText().toString().trim(). equals (pass)tty 获取本类中定义的对话框的显示方法Field field =dialog. getClas s Q. getSup erclas s O.getD e clare dFieldCmShowing11);field, s etAc ces sible (true);field, s et(di alog, true); catch (Exception e) e. printStackTrac e 0;dialog. & smissO;呵茯取本类中定义的对话框的显示方法Field field =dialog. getClas s Q. getSup erclas s O.getD e clare dFieldCmShowing1); field, s etAc ces sible (true);field, s et(dialog, fals e); catch (Exception e) e. printStackTrac e 0;Toast, make7x/(Mainactivity.this, R. string. yrongjass, Toast. LENGTHJLONG. showO;checkPass. setText(,H,););builder, createf). showO;)5.1.2手势密码验证(1) 描述:在用户设置手势验证密码功能成功后,再次打开只需输入手势即可验 证进入。这个手势密码的相应设置在密码设萱中的手势密码设萱功能处设置,与 平时使用android系统手机的九宫图密码是一致的,极大地方便了用户。(2) 程序运行效果如图5-2所示:图5-2手势密码验证(3) 实现该功能代码:茯取保存的手势密码Share dPr efer enc e spr efer enc e s=getShar e dPr efer enc e s ( p a s s,Context. MODEPRIVATEYString p as s=preferenc e s. getString(Hlo ck_pwdH,;判断输入的手势密码是否与保存的一致if (pass.trimO. equals(lockPatternUtils. pattern7bStrig(pattern) Intent intent=new Intent(CheckPassactivity.this,Mainactivity.class); start activity (intent);Che ckP as s activity, this, finis h ();Toast, make7XCheckPassactivity.this, R. string. yrongjass, Toast. LENGTH_LONG). showO;5.2日记本输入模块描述该功能可以实现日记输入的増删改,自动生成的日期,使记录更加方便,同 时也有天气的记录。5. 2.1写日记(1)描述:日记本输入模块主要功能是输入文本信息,其中有可以输入文字,也 可以关联图片,也可以输入系统中带的表情,更加丰富文本內容。(2)程序运行效果图如图53所示:图5-3写日记(3)日记完成以后保存日记的代码:若当天日记未添加,则执行添加操作 if (id=0) if (! diarylnfb. getT ext(). to StringO,trim(). equals () & & diaryinfo !=null)String insertinfoinsert intoDIARY_INF O (date ,we ek,we ather, &aryinfb ,font size)value s +(+timeT extview. getT ext(). to StringO+H: +we ekT extvi e w. g 8 tT e zt (). t o S tring ()+ T+ we atherSpinner. getS ele cte dltem(). to StringO+H: +diarylnfb. getTextQ. to StringO+H, +di arylnfo. getT extSize 0+,);try 将日记信息保存到数据库中D ataB as eHelp er dbHelp er=new D ataB as eHelp er(this, my&ary. db);SQLiteDatabase db=dbHelper.getWritableDatabase();db. exe c S QL(ins ertlnfo);db.closeO; catch (Exception e) Log. dCWriteDiary activity,e.toStringO);this, finish。;若内容被修改则执行更新操作else String updateInfb=,UPDATE DIARYJNFO SETdate=, H+timeTextview.getText(). to String ()+,we ek= +we ekT extview.getT ext(). to StringO+ ,we ath er=n,+ we atherSpinner. getS ele cte dltem(). to StringO+H ,diaryinfo=,+ &arylnfb .getT ext(). to StringO+ ,fbntsize=+diaryinfo. getTextSize ()+ ,H where id=n,+id+吶;try 将修改内容更新到数据库中D ataB as eHelp er dbHelp er=new D ataB as eHelp er(this, my&ary. db);SQLiteDatabase db=dbHelper.getWritableDatabase();db. exe c S QL(up datelnfo);db.closeO; catch (Exception e) Log. dCWriteDiary activity,e.toStringO);this, finish。;5. 2.2刪除日记(1)描述删除不需要的日込 进入日记编辑页面,菜单功能键中的删除键即可删除 本篇日记。或者在日记列表中选中不需要的日记,长按即可删除。在此功能中利用了信息提示框,提示用户确认操作,更加人性化。(2) 程序运行效果图如图5-4所示:X提示CRWU图5-4删除日记(3) 删除功能的代码如下:设置删除界面对话框AlertDialog. Builderbuilder=new AlertDialog. guilder (this);builder, s etTitle (R. string, delete c o mfirm); 设萱标题builder, s etlc on(android. R. drawable. ic_menu_d elete);/ 设置图标为确定按钮设置监听器_builder. setPo sitiveButton(R. string .ok,new Dialoglnterfac e. OnClickListener ()public void onCEck(DialogIntetfac edialog, int which) / TODO Auto-generated method stubtry 在数据库中删除日记信息D ataB as e Op erate, delete (id, WriteDiaryactivity. this); catch (Exception e) !/ TODO: handle exceptionLog. d(n WriteDiaryactivity,e.toStringO);onBackPressedO;WriteDiaryactivity. this. fini s h ();));5. 2.3字体大小设置(1)描述:该功能模块可以对随用户对字体大小的敏感程度或者喜好,对字体的大小 进行设置,更加人性化。在设计的过程中对三星GALAXY JU中的字体规模进行调查, 在系统中对字体的各个规模进行了规定,设计合理。(2)程序运行效果图如果5乃所示:图5-5字体大小设墨(3) 字体大小选择的部分代码如下:”判断所选字体大小if(V. getIdO=R. id.ll_fbnt_small)if (share dPreferenc e s .getlntCfbntsiz e,0)=R. id. iv_small_s ele ct)this, finish。;else if(sharedPreferences.getlntCfbntsize,0)=R.id.iv_nomal_select)e ditor. putlntCfbntsize,R. id. iv_small_s ele ct);editor. cornrnitO;WriteDiaryactivity. diarylnfb. s etT extSize(14f); findviewById(R. id. iv_nomal_s ele ct).setVisib ility (vi ew.GONE); this, finish。;5. 2.4分享功能(1) 描述:该功能模块可以以邮件或者信息或者微信等功能分享自己的心情日记,使 用更加多元化。(2) 程序运行效果图如图5-6所示:心情日记wiANaa图5弋分享功能(3)实现该功能代码:Intent intent=new Intent(Intent. ACTION_SEND);int沁putE沛XInt沁EXTRA_SUBJECT,分享J;设置分享标题intent. putExtra(Intent. EXTRA_TEXT,diarylnfb. getTextO); 设置分孚內容intent, s etTyp e (text/plain); 设置分享內容类型intent, s etFlags (Intent. FLAG_activity_NEW_T ASK);/ 设置打开方式this, startactivity (Intent, ere ate Cho o s er (int e nt, getTitleO);5. 2.5天气功能(1) 使用了下拉列表菜单功能,添加了几种天气供用户选择。在该功能下可以自己设 置天气,没有使用联网设置,天气可以代表用户的心情,更加人性化。(2) 程序运行效果图如图5-7所示:图5-7天气功能(3)实现该功能代码:we atherSpinner=(Spinner)findviewById(R. id.we ath er);/ 天气选扌睪下拉框 夭气信息下拉框的适配器ArrayAdapter adapter=ArrayAdapter. createFromBsource (this,R.array.weather, android.R.layout, simplespinnerjtem);adapter, s etDropD ownviewRe s ourc e (android. R.layout. simpleline);weather Spinner, s etAdapter (adapter);/ 为下拉框设萱适配器weather Spinner, s etPr ompt(getString(R. string, weather),/f 为下拉框设萱标题53日记列表(1) 描述:日记列表是对所写的日记进行排列,按照时间、日记生成的顺序,排 列出日记的摘要,更方便用户查询,翻看,进行更多的操作。(2) 程序运行效果如图5-8所示:图5_8日记列表(3)实现该功能代码:从数据库中茯取日记信息D ataB as eHelp er dbHelp er=new D ataB as eHelp er (activity. getB aseC ontext (), 如y&ary.阳*);SQLiteDatabase db=dbHelper.getReadableDatabase();Cursor cursor=db. query (tableName, null, null, null, null, null, id de sc); listlnfb.clearO;while (curs or. mo veToNextO) MyDiarylnfoMo del myDiarylnfo = new MyDiarylnfoMo del();String date = cursor.getString(cursor.getColumnlndex(date);String week=cursor.getString(cursor.getColumnlndexCweek);String weather = curs or. getString(cur s or. getC olumnlndex( w e ath er); String diarylnfb=cursor.getString(cursor.getColumnlndex(H diaryinfo); float fontSize=cursor.getFloat(cursor.getColumnlndex(fontsize); int id = curs or. getlnt(curs or. getC olumnlndex (id);将取到的日记信息保存在对象中myDiarylnfo. s etD ate (date);myDiarylnfo. setW eek(week);myDiarylnfo. setW eather (weather);myDiarylnfo. setDiaiylnfo (di arylnfo);myDiarylnfo. s etF ontSize (fontS ize);myDiarylnfo. setld(id);将对象放到list中listlnfb. add(myDiaryInfb);cursor. closeO;db.closeO;5.4信息安全功能(1) 描述:该功能可以实现对日记的保密工作,分为数字密码和图形密码两个部 分。多种选择供用户选择,方便使用。(2) 程序运行效果如图5-9所示:图5-9信息安全功能5. 41数字密码(1) 描述:此功能对数字密码的长短没有限制,如果想添加密码又怕繁琐,短密 码也是可以进行保密的。而长密码一般不超过12位。在该界面输入数字两次输入 相同密码进行确认即可完成设置。(2) 程序运行如图510所示:设置孫码Hi&asekAeeam认U3enm图5-10数字密码(3)实现该功能代码:s etPas s=(EditT ext)textEntry. findvie wById(R. id.set_pass);/ 输入密码框c onfirmP as s=(EditT ext)textEntry. findviewByl d(R.id.co nfirm_p ass);/再次输入密码框判断两次输入密码是否一致if (! confirmPass.getTextO.toStringO.trimO - e quals ()&c onfirmP ass. getT ext(). to StringO. trim() .equals(setfass.getText0.toStringO,trim() 将密码信息保存起来 preferenc e s=getShare dPreferenc e s (p ass,C ontext. MODE_PRIVATE);Editor editor=preferences.edit();e ditor. putString(p as sway, digitalp as s);e ditor. putB o ole an(His S et,lisSet);e ditor. putString(p as sword, setpass.getT ext(). to StringO, trimO);e ditor xomrnitO;dialog. & smissO;T o ast. makeT ext(P as swordS etactivity.this,R. string.pass_set_success, Toast.LENGTH_LONG). showO;5. 42图形密码(1)描述九宫格的设置,可以根据用户喜好,连贯起任意点设萱密码,一次设置,一次确认密码即可完成手势密码的设置。(2)程序运行效果图如图5-11所示:图511图形密码(1)实现该功能的主要代码如下:保存手势public void saveLockPattern(List pattern) Editor editor = preference. editO;e ditor. putString(KEY_LO CK_PWD, p atternT o String(p attern); edito

温馨提示

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

评论

0/150

提交评论