android生日管家的设计与实现计算机毕业设计论文.doc

上传人:文库蛋蛋多 文档编号:2393663 上传时间:2023-02-17 格式:DOC 页数:50 大小:2.42MB
返回 下载 相关 举报
android生日管家的设计与实现计算机毕业设计论文.doc_第1页
第1页 / 共50页
android生日管家的设计与实现计算机毕业设计论文.doc_第2页
第2页 / 共50页
android生日管家的设计与实现计算机毕业设计论文.doc_第3页
第3页 / 共50页
android生日管家的设计与实现计算机毕业设计论文.doc_第4页
第4页 / 共50页
android生日管家的设计与实现计算机毕业设计论文.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《android生日管家的设计与实现计算机毕业设计论文.doc》由会员分享,可在线阅读,更多相关《android生日管家的设计与实现计算机毕业设计论文.doc(50页珍藏版)》请在三一办公上搜索。

1、基于Android平台的生日管家的设计与实现 摘 要随着生活节奏的逐步加快,人们常会因为这样那样的琐事而忽略家人和好友的生日,而这么值得祝福的日子需要在特定的时间给予醒目标识或者提示,这就需要有专门的生日管理软件来安排这些事务。生日管家的主要功能就是完成好友生日提醒和查看,及时送上生日祝福。如今随着信息技术的高速发展,手机已经成为现代人们生活所必不可少的物品,将其作为生日管家的平台可以说是一个很好的选择,而且现如今手机Android系统已经成为及其热门的技术,因此本系统选择将基于Android手机生日管家软件作为我的毕业设计课题。本软件是一款基于Android平台的生日管理软件,具有基本的增、

2、删、改、查功能,在好友列表界面中可突出显示当天生日的好友。用户可根据好友生日设置的提醒,便于对好友生日的管理。 关键词: Android平台;生日管家;生日提醒 Design and implementation of Birthday-assistant based on AndroidAbstractWith the gradually accelerating pace of life, people often forget birthdays of family and friends because of trivia. However, such worthy of blessi

3、ngs days need to give a prompt at specific time, which requires dedicated management software of birthday to arrange these matters. The main function of birthday management software is to complete the reminders and view of friends birthdays, and promptly send birthday wishes.Today, with the rapid de

4、velopment of information technology, mobile phones have become essential items for people, and it can be a good choice as a platform for the birthday management software. Moreover, the Android system has become popular nowadays, so I choose Android based mobile phone birthday management software as

5、my graduation project. This software is an Android based birthday management software, with basic function of add, delete, change and check. It can highlight the friend whose birthday is the current day in the buddy list interface. Users can get easy management of friends birthdays by setting remind

6、ers according to their birthdays.Key words: Android platform; birthday-assistant; birthday reminder 目录摘 要IAbstractII1 绪论11.1 课题研究背景及意义11.2 Android系统及其手机平台发展21.2.1 Android系统简介21.2.2 国内外手机系统现状21.2.3 国内外手机应用现状31.3 手机生日管家软件市场41.4 发展趋势51.5 本文的结构62 Android开发环境和相关技术72.1 系统开发的环境72.2 系统开发软件的简介72.2.1 Eclipse的

7、简介72.2.2 其他软件的简介72.3 系统开发编程语言的简介83 软件需求分析及概要设计103.1 软件的需求分析103.2 软件的概要设计103.2.1 软件的功能模块说明103.2.2 软件的功能模块结构图103.3 数据保存的设计124 软件的详细设计134.1 主界面的设计与实现134.1.1 主界面的头部菜单栏134.1.2 软件的主界面144.1.3 软件主界面功能的设计144.2 生日提醒界面174.2.1 提醒界面的设计174.2.2 任务功能的设计175 手机软件系统测试195.1 手机软件测试概述195.2 常用的软件测试方法195.2.1 黑盒测试195.2.2 白盒

8、测试205.2.3 基于风险的测试215.2.4 基于模型的测试215.3 本系统测试用例22结论25参考文献26致谢27外文原文28中文翻译40 1 绪论1.1 课题研究背景及意义现在手机已经成为了人们生活中不可或缺的移动设备,没有手机会让人觉得寸步难行。手机已经不再仅仅拥有传统的打电话、发短信等基本功能,取而代之的是基于智能手机强大的信息处理能力和扩展能力,以及3G网络高速数据传输,使得越来越多的功能和业务将被开发并被大规模的应用。目前,得益于谷歌公司的开源策略,拥有众多优点的Android系统发展迅速,各大产商推出大量搭载Android系统的手机,Android手机已经占据了手机市场的绝

9、大份额。在未来几年必将大放异彩,将极大的推动整个手机操作系统甚至是互联网乃至软件行业的发展。进入21世纪以来,无所不在的计算机将打破传统意义上计算机概念:使用更方便、移动更容易、功能更多样化的各种具有计算机功能的设备大量出现,并且在需要时,可以随时通过无线方式连接到移动数据通信网络中,以便高效地交换信息和获得各种服务。移动设备最根本的特征是移动性,即能够利用无线电波、微波或红外线灯传输介质允许通信中的设备在一定范围内自由移动,其位置不受束缚,从而实现通信双方至少有一方在移动中进行信息传输和交换的目的。移动设备从产生到现在的历史并不长,然而其发展速度却远远超出人们的预料。现如今,移动设备大行其道

10、,全球有超过十亿部移动电话正在被使用,并且这个数目正在逐渐增加,在除美国之外的每个发达国家,拥有手机的人数比拥有计算机的人数更多。而目前,Android系统在成为全球最流行的智能手机操作系统,2012年11月,Android全球市场占有率达到76%,在中国份额更是达到90%,2013年9月24日,全世界Android的设备数量已经达到10亿台,智能手机的功能是越来越强大,它已经进入人类生活的各个领域,如炒股、聊天、娱乐以及网上冲浪等。综上所述,Android系统是移动平台发展的大势所趋,未来将在移动领域扮演一个时代重要的角色。所以,对Android平台进行相关研究并熟悉它是很有必要的,通过了解

11、手机软件行业,进而把握未来移动互联网的发展趋势。同时可以更好的提升目前掌握的软件开发专业技能,开发出符合用户需求的应用软件,从而使生活更加便捷。Android 操作系统的普及,使用Android 智能手机的人越来越多,Android 的应用程序也越来越多。社会的不断发展进步,人们的生活变得异常的忙碌,生活节奏越来越快,忘却身边人的生日也是常有之事。如果在Android 手机中装有这么一个生日提醒软件,在朋友生日到来之时,及时给他们送上祝福,彼此都会觉得特别的开心。目前市场上也存在类似的提醒软件,此类软件的特点是: 比较占用手机资源,功能相对比较单一,用户体验较差,广告繁多导致用户使用比例小。所

12、以,很多用户装了这类软件之后发现效果没有预期的好,或者是软件占用较大的手机资源甚至有毒,使用的比例非常小,因此设计一款小型的、安全无毒的,用户操作便捷的生日管家软件是很有必要的。1.2 Android系统及其手机平台发展1.2.1 Android系统简介Android一词本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称。它包括操作系统、中间件、用户界面和应用程序等移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专业权障碍。目前,最新版本为Android 4.4 KitKat(巧克力),截止2014年5月,KitKat设

13、备已增至8.5%,而Android 2.3 Gingerbread(姜饼)已成明日黄花,但历史是会铭记它的。虽然Android是Google公司推出的产品,但更贴切的说法应该是开放手机联盟的产品。开放手机联盟是由大约30家公司组成的联盟,致力于将“更好的”和“开放的”手机推向市场。网站上的一句话很好的阐述了这一点:“Android是本着成为第一个开放、完整、免费。专门针对移动设备开发的平台这一目标,完全从零开始创建的。”Android系统的特点1、 开放性。Google与开放手机联盟合作开发了Android,Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希

14、望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。2、 应用程序无界限。Android上的应用程序可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。3、 应用程序是在平等的条件下创立的。移动设备上的应用程序可以被替换或扩展,即使是拨号程序或者主屏幕这样的核心组件。4、 应用程序可以轻松地嵌入网络组件。应用程序可以嵌入HTML、JavaScript和样式表,还可以通过Web View显示网络内容。5、 应用程序可以并行运行。Android是一种完整的多任务环境,应用程序可以再其中并行运行。在后台运行时,应用程序可以

15、生成通知以引起注意。1.2.2 国内外手机系统现状目前国外各软硬件厂商已经推出过多款手机操作系统。下面简单介绍一下现在主流手机操作系统。提到手机操作系统,不得不提由诺基亚公司主导推出的Symbian 操作系统。Symbian是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。Symbian系统有以下四个版本,分别为S40、S60(第二版)、S60(第三版)、S60(第五版)、S60(第五版)为触摸屏手机版本,尽管现今已逐渐淡出市场。IOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用

16、。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。IOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。Windows Mobile 系列操作系统是从微软计算机的Windows操作系统演化而来的。Windows Mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存、储

17、存卡容量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。Palm OS属于Palm公司开发,是一种32位的嵌入式操作系统,是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。现在多用Palm公司生产的手机上。该系统允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩。Palm系统与其他手机系统相比在其它方面也还存在一些不足,如Palm操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。这其中不得不提小米MIUI,M

18、IUI是小米公司基于Android原生深度优化定制的手机操作系统,对Android系统有超过100项优化和改进。MIUI还是中国首个基于互联网开发模式进行开发的手机操作系统,根据社区发烧友的反馈意见不断进行改进,并在每周更新迭代。从2010年8月16日首个内测版发布至今,MIUI受到了全球23个国家、60万手机发烧友的追捧。 当然,还有2014年5月20日发布的锤子手机搭载的Smartisan OS,Smartisan OS是一款深度定制的Android,类似于小米MIUI系统,或许会“砍掉Google Mobile Service”,此外,这款系统会有比siri更好的智能语音功能。1.2.3

19、 国内外手机应用现状随着3G在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为EDGE这种传输速度仅能达到384KB/秒的2.75G过渡技术而欣喜的时候,国外早已开始试行HSDPA这种3.5G技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。目前国内外手机应用服务方向主要有基于地理位置的信息服务(Location Based Servic

20、e LBS),它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务,例如手机定位,导航服务。近年来十分热门的网络社交服务(Social Networking Services)也已进入到手机客户端领域。例如国内有名的社交网站人人网已经针对iPhone,Android,WP等手机平台推出了手机客户端。国外最大的社交网站Facebook也已经传出正在进行针对手机产品的研发。Twit

21、ter,MySpace等国外知名社交类网站都已经推出手机版。主流视频网站优酷,爱奇艺等也都推出手机客户端。微信,QQ等即时通信类的应用也已经在各个主流手机平台推出。手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在Android平台上的Quick Office就是这样的软件。在Google Market(一个谷歌针对Android系统用户所开发的应用商场)上已经有过万的企业应用办公套件。手机娱乐游戏类应用,该类应用作为传统类手机应用,在各个平台上发展已经相对完善,手机上对各种主流媒体的播放也已完美的支持,各类传统PC游戏厂商进入了手机领域。1.3 手机生日管家软件市场 在

22、这个快节奏的社会里,人们都是为了自己的生活奔走着,很多细微的小事情越来越容易被忽略,所以也应生了一系列的提醒小软件,市场空间很大也能够被广大的民众认可,这些软件便利了广大快节奏生活的人们,看似用户使用比例小实则在日常生活中必不可少。下面,我们就几款热门的手机生日管家软件来进行讨论,从软件的变更和功能的强大,来了解生日管家软件的现状和将来发展的趋势,也会从侧面了解手机应用市场的潮流,从而为本系统的设计提供更多的信息。时间表是一款为用户量身定做的日程提醒管理应用,帮助那些琐事诸多,时常忘记事情而烦恼的用户,是最理想的备忘记事,全能便签,生日管家工具。其主要功能是可以按照每天、每周、每月、每年、节日

23、和生日的重复提醒,实现小团体的协作功能,并支持留言交流和反馈,特色功能:智能语音提醒,举例,直接用语音告诉用户“某某生日了”;一劳永逸的重复事件列表,只需一次性地罗列一个重复要做的清单,用户就可以一直得到准时的提醒;人性化的今后代办事项列表,顺应现代人聚焦眼前的习惯;最有意义的自动顺延功能,让必须做的事情每天提留在眼前直到完成;摇一摇时间表,可以听到今天代办事情的语音播报;多人协作功能,用户可以通过多人记事提醒或安排别人做某件事情,还可以围绕这件事情进行沟通和交流。这是一个智能日程提醒和代办事项管理相结合的平台,在APP Store和各大安卓市场均用大量用户在使用,也因为类似于提醒软件功能的强

24、大,包含了生日提醒,造成专门用于生日管理的软件少之又少,市场情况也不容乐观。接下来介绍的这款在市场反响还不错的生日管家软件,可能会为用户选择专门用于好友生日管理的软件提供帮助。生日管家是一款手机端的生日提醒软件,使用生日管家可以方便地管理亲友的生日,并设置时间适时提醒,生日管家提供的生日云端备份,多天多次提醒方案,使用户再也不会担心忘记亲友的生日,其功能特色:完美支持公历和农历生日提醒,双历生日计算和提醒,生日公/农历换算;支持和通讯录结合,轻松关联联系人,添加生日不费时;支持从QQ、人人网、开心网导入好友生日;生日祝福大全,精心选编,定位准确,发送祝福更轻松;可以设置提前15天、7天、3天提

25、醒,有时间为亲友准备生日礼物或筹备生日party;网络备份和恢复功能,不同设备数据通用,让生日信息永不丢失;超准的星座属相分析、事业运程及性格预测,帮用户揭开生日命理的神秘面纱,在亲友聚会时,也是一种娱乐消遣;支持微博、朋友圈分享,邀请更多的人为亲友庆生。这样专门用于管理亲友生日的软件是否打动了你,而其在应用市场800万的用户可以看到类似软件的发展,拥有琳琅满目的生日祝福短信供挑选,完美的生日云端备份,紧跟时代潮流等,像这样的软件还同时兼容IOS和Android,各种应用市场均能下载。最后,不得不提到的一款原创生日管家软件,同时也在将一种工具转服务的理念突显出来,从记录亲友生日切入社交的生日管

26、家变身社交消费平台,也适应了手机应用市场的发展潮流。2012年7月上线的生日管家,用户上述生日管家大体相同的功能:用户可以直接由通讯录导入亲友的生日,从而省去了手动录入的麻烦,降低了使用门槛;不管出于真情或假意,用户都要适时送去祝福,为此生日管家的祝福标签一栏中为用户提供的是一系列祝福素材,比如短信祝福、语音贺卡等。但一般说来,一个单纯的工具性App是很难保持高粘性的,为此,生日管家以更多的服务去锁定更多的用户群体。用户规模决定商业模式,有5000万用户的生日管家将选择尝试卖虚拟礼物,围绕生日卖蛋糕、鲜花以及礼品,目前生日管家在全国100多个城市共有20多家蛋糕供应商和3家鲜花供应商,用户可以

27、根据人气、价格、赠送对象预定合适的礼物,同时提出个性化的需求,比如在蛋糕上做个玩偶,花束里写上祝福语等,礼物会通过这些门店的专门渠道当日送达至好友手中,该业务正式上线以来,每天订单量一直稳步增长,目前约100单/天,客单价200元,选择组合购买的用户约为10%,用户男女比例持平,下单用户年龄集中在18-35岁之间,目前它采用与合作商分成的盈利模式,分成比例高达20%-30%,就蛋糕、鲜花、礼品三类商品而言,目前销售比例约为65%、20%和15%。随着产品的主体功能由记录工具向社交消费服务转变,生日管家的产品设计也正在朝着这个方向发展。1.4 发展趋势随着3G应用的不断开发推广,用户会越来越需要

28、更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。首先,提供智能提醒服务,手机能够与用户实现密切配合,并监控用户的个性化活动,当重要时间点或关键事物需要用户注意时,手机会向用户发出“提醒”服务,服务包括优惠活动、天气情况、日程提醒、交通状况、股市行情、最佳泊位、体育赛事、好友活动、实时新闻、亲友生日,游戏娱乐等。其次,提供虚拟现实体验,手机可以借助传感器、周边设备了解到您的身边环境,并根据收集到的信息,智能的为您提供有用的信息,如在网络世界养的宠

29、物,可以借助音频设备表达叫声,借助马达和位置传感器等传递其跳、跃等行为信息;也可以在用户购物时,提供相关的同类产品价格参考,提醒用户附近的哪个卖场更物美价廉;根据实际场景,为用户及时提供正在操控的产品的使用方法。接着,发挥物联网的优势,借助无处不在的传感器,可以感知并分享到周围的环境信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气象信息、交通路况。另外借助物联网,用户间可以方便、快速的分享资源,协助和交互,如进行用户端的多人娱乐、书籍分享、照片分享、游戏分享等。然后,作为经济工具,在交通或者信息不发达的情况下,帮助用户找到最佳的市场,获得有价值的帮助信息。最后,更加智能、安全的设

30、备,随着智能手机的不断普及和更加智能,手机软件的更新、升级将会变得越发简单,并会为用户提供工具或信息,让用户有能力和权力决策哪些内容可以浏览、下载或分享。在安全性上也将更加出色,能够十分有效的帮助用户进行获取到的内容的管理,保护用户的个人隐私和基于手机的金融活动如电子钱包、在线支付等。1.5 本文的结构 论文主要结构及内容如下:第一章 绪论,介绍项目背景及意义,阐述Android手机平台的发展。第二章 相关知识介绍,介绍项目开发的相关技术与知识。第三章 软件需求分析及概要设计,分析软件开发的各方面需求,为设计做准备。第四章 软件的详细设计,针对用户需求及概要设计,实现软件模块功能。第五章 软件

31、的测试,就软件几个功能进行测试,找出问题,完善软件。2 Android开发环境和相关技术2.1 系统开发的环境Android 的上层应用程序是用Java 语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够, 因为是使用 Java 语言进行开发, 还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在 Eclipse安装A

32、DT,为 Android开发提供开发工具的升级或者变更,是Eclipse 下开发工具的升级下载的工具。简言之,需要以下软件,才能搭建 Android 开发环境,从而进行Android应用程序的开发。(1) Eclipse (2) JDK(3) Android SDK(4) ADT(Android Development Tools)2.2 系统开发软件的简介2.2.1 Eclipse的简介Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(

33、Java Development Kit,JDK)。 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Jav

34、a 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。2.2.2 其他软件的简介(1)JDK(Java Development Kit)是Sun Micro systems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步

35、。而专门运行在x86平台的JRocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。(2)Android SDK(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK 指的既是Android专属的软件开发工具包。(3)ADT(Android Development Tools),目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE

36、环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。 2.3 系统开发编程语言的简介Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。Java 编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对

37、象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(byte code),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。与传统程序

38、不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。 Java的特点:1.平台无关性 平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原

39、理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。 2.安全性 Java的编程类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。 3.面向对象 Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优

40、点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。 4.分布式 Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上

41、的文件和使用本机文件一样容易。 5.健壮性 Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。 6.解释型 我们知道C,C+等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。Java不像C或C+,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。字节码是很接近机器码的文件

42、,可以在提供了Java虚拟机(JVM)的任何系统上被解释执行。 7.动态 Java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C+那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。 3 软件需求分析及概要设计3.1 软件的需求分析该软件是一个基于Android平台的手机生日管家软件,是为用户提供好友生日提醒方面服务的,它包括好友生日信息的查看、好友信息的增删、好友信息的编辑、好友生日提醒的设置、向好友送去祝福等功能。本软件可以帮助用户在繁忙的工作之余

43、,不忘亲朋好友的生日,在特殊的日子里记录我们人生的成长记号,在这样特别的日子里为身边的人送上最真诚的生日祝福,希望这样的软件能给你的爱人,亲人,朋友带去欢乐和美好的祝福。3.2 软件的概要设计3.2.1 软件的功能模块说明(1)好友信息编辑模块。用户可以通过增加、修改、删除来管理好友生日信息。在好友信息列表中,包含了好友的姓名、生日、电话等内容。(2)自由选择提醒日期模块。用户可以通过软件自由去选择生日的提醒日日期,可以是在生日当天,可以是生日提前的那几天,用户可以完全进行自由设置。(3)提醒方式的选择模块。用户可以通过软件自由去选择生日的提醒的方式,例如震动,铃声,震动加铃声。(4)自动拨打

44、电话和自动发送信息模块。在生日提醒时,用户可以一键拨通好友的电话,或者说一键给好友发信息。3.2.2 软件的功能模块结构图在程序设计分析的基础上,结合实际情况,得出本程序的功能模块结构图。在结构图中包括了功能模块的表示及其中部分功能的实现原理。根据生日管家软件的要求,生日管家的功能模块主要有好友信息模块和生日提醒模块这两大块。首先是一个总的功能模块的结构图,其中包括了系统设计时的总体功能概括,如图3-1。置图3-1 功能模块结构然后在总体的功能模块后面是主体功能的详细模块显示。在好友信息编辑显示上可分为几个部分,详细见图3-2。图3-2 信息编辑3.3 数据保存的设计通过Android文件的写

45、入与读写,简单的文本读写context.openFileIput()和context.openFileOutput()方法实现,存储数据保存在LinkMan.txt中,如图3-3。图3-3 存储数据到文件在文件I/O操作上,除了标准的Java I/O类和方法外,Android系统本身提供了两个方法用于文件的读/写操作,以简化使用标准I/O的步骤。openFileInput(String name)方法:用于读取当前应用文件夹下的文件,并返回FileInputStream输入流。openFileOutput(String name,int mode)方法:用于向当前应用文件夹下输出文件,并返回F

46、ileOutputStream输出流。值得注意的是:1.两个方法都只支持操作当前Android应用程序文件夹下的文件,即应用的私有目录。这个私有目录位于Android系统的“/data/data/”目录中。2.传入的文件名不能带有任何的路径信息,只需要传入文件名即可(包括扩展名)。3.当创建文件时,如果指定的文件不存在,则Android会创建文件,而对于存在的文件,默认使用覆盖私有模式(Context.MODE_PRIVATE)对文件进行写操作;如果想让增量方式写入已存在文件,需要指定输出模式为Context.MODE_APPEND。4.如果打算让其他应用访问输出的文件,可以设置输出模式为只读

47、Context.MODE_WORLD_READABLE。5.如果打算让其他应用访问输出的文件,也可以设置输出模式为可读写Context.MODE_WORLD_WRITEABLE。4 软件的详细设计4.1 主界面的设计与实现4.1.1 主界面的头部菜单栏制作菜单栏使用了ActionBar,可以替代传统的标题栏,设计出可以展开更多的丰富内容,方便操控。ActionBar上默认情况下包括了app的logo,logo位置在左侧,紧挨在logo右侧的是activity的title,其主要功能包括:显示选项菜单,提供标签页的切换方式的导航功能,可以切换多个fragment,提供下拉的导航条目,提供交互式活动视图代替选项条目,使用程序的图标作为返回Home主屏或向上的导航操作。通过调用onCreateOptionsMenu()方法来将菜单项放置于ActionBar中,在menu中声明Action Item的例子如图4-1:图4-1 在菜单栏中增加添加控件当用户选择一个Action Item是,Activity会接受到对o

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号