Android记事本软件计算机毕业设计论文

上传人:沈*** 文档编号:42838606 上传时间:2021-11-28 格式:DOC 页数:54 大小:663.50KB
收藏 版权申诉 举报 下载
Android记事本软件计算机毕业设计论文_第1页
第1页 / 共54页
Android记事本软件计算机毕业设计论文_第2页
第2页 / 共54页
Android记事本软件计算机毕业设计论文_第3页
第3页 / 共54页
资源描述:

《Android记事本软件计算机毕业设计论文》由会员分享,可在线阅读,更多相关《Android记事本软件计算机毕业设计论文(54页珍藏版)》请在装配图网上搜索。

1、找毕业设计、项目源码、编程视频,就上码农网manong365毕业设计(论文)任务书第1页毕业设计(论文)题目:基于android的记事本软件的设计与实现毕业设计(论文)要求及原始数据(资料):1综述国内外记事本的技术研究现状;2深入了解记事本的相关技术,实现文本功能;3熟练掌握记事本的原理,提升对整个android的结构的理解;4实现一个标准化的多功能记事本软件;5深入分析记事本中的关键技术与核心语言;6训练检索文献资料和利用文献资料的能力; 7训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容:1综述记事本的系统结构,功能实现;2搜集查询相关资料,需求分析及总体介绍;3熟悉java开

2、发工具eclipse的使用和开发环境; 4实现详细的设计及模块功能,可以实现基本的文本功能以及分享功能;5. 深入分析记事本的关键技术与编写语言java的设计流程,并列出流程图;6熟练掌握基于基于Linux内核的Android系统,应用原理是基于Android五大架构中的application层;7模块联调及测试和维护,撰写论文及论文答辩。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 第2页 主要参考文献(资料):1BruceEckelJAVA编程思想M,北京:机械工业出版社,200

3、3.2赛奎春JAVA工程应用与项目实践M,北京:机械工业出版社,2002.3FLANAGANJAVA技术手册M,北京:中国电力出版社,2002.4孙涌现代软件工程M,北京:北京希望电子出版社,2003.5萨师煊,王珊数据库系统概论M,北京:高等教育出版社,2002.6王向辉,张国印,沈洁Android应用程序开发M,北京:清华大学出版社,2009.7李刚疯狂Android讲义M,北京:电子工业出版社,20118杨丰盛Android应用开发揭秘M,北京:机械工业出版社,2010.9邓凡平深入理解AndroidM,北京:机械工业出版社,2011.10王世江,盖索林Google Android 开发

4、入门指南M,北京:人民邮电出版社, 2009.11哈希米,克曼特内尼,麦克莱恩精通Android 2M,北京:人民邮电出版社,2010.12柯元旦Android内核剖析M,北京:电子工业出版社,2011.13墨菲Android开发入门教程M,北京:人民邮电出版社,2010.14梅尔Android 2高级编程(第2版)M,北京:清华大学出版社,2010.15郭宏志Android应用开发详解M,北京:电子工业出版社,2010.专业班级软件班学生要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期基于andr

5、oid记事本软件的设计与实现摘 要自Google 2005年收购Android公司之后,Android(谷歌)在基于Android(安卓)操作系统的手机移动应用领域,投入了大量财力、人力,使得安卓技术得到迅速推广,极大推动了移动应用软件的发展。因此,在Android移动终端,催生了各种Android手机软件。此外,手机的核心功能当然是基于沟通、联络的各种应用,但是,在越来越智能、越来越时尚的手机市场,人们逐渐将其作为一个私人的工作与生活助手,从而促进了一批基于个人事务、移动办公、购物、娱乐、游戏、阅读等手机应用软件的快速发展,逐渐培育出极具广泛前景的应用市场。针对这样的需求,本文主要针对记事本

6、应用软件,进行了一些尝试性的开发,希望为Android手机的移动应用贡献微薄之力。记事本软件是手机的主要应用软件,主要满足事务记录、事务提醒、事物查询等移动办公的简单需求。在Android手机中,还可以开发多媒体形式的记事本软件。在本课程设计中,也尝试性开发了基于Android手机的记事本软件,实现了记事本的基本功能本文的软件开发环境采用了Eclipse + Android SDK集成环境,编程语言采用了Java。关键词: Android;记事本;Eclipse;Java;notepad.Design and implementation of Android Notepad software

7、 based on摘要Abstract自Google 2005年收购Android公司之后,Android(谷歌)在基于Android(安卓)操作系统的手机移动应用领域,投入了大量财力、人力,使得安卓技术得到迅速推广,极大推动了移动应用软件的发展。因此,在Android移动终端,催生了各种Android手机软件。此外,手机的核心功能当然是基于沟通、联络的各种应用,但是,在越来越智能、越来越时尚的手机市场,人们逐渐将其作为一个私人的工作与生活助手,从而促进了一批基于个人事务、移动办公、购物、娱乐、游戏、阅读等手机应用软件的快速发展,逐渐培育出极具广泛前景的应用市场。针对这样的需求,本文主要针对记

8、事本应用软件,进行了一些尝试性的开发,希望为Android手机的移动应用贡献微薄之力。Since the 2005 acquisition of Android, Google, Android (Google) based on Android (Android mobile phone operating system) mobile applications, put a lot of financial, human, allowing Android technology obtained the rapid promotion, which greatly promoted the

9、 development of mobile application software. Therefore, in the Android mobile terminal, the birth of a variety of Android mobile phone software. In addition, the core function of mobile phone course is based on communication, contact the various applications, however, in the more and more intelligen

10、t, more and more fashionable mobile phone market, people gradually to take it as a personal assistant to work and life, so as to promote a batch based on rapid development of personal affairs, mobile office, shopping, entertainment, games mobile phone application software, such as reading, gradually

11、 cultivate application market very broad prospects. According to this demand, this paper mainly aims at the notepad application software, made some tentative development, hope for Android mobile phone mobile application contribution meager strength.记事本软件是手机的主要应用软件,主要满足事务记录、事务提醒、事物查询等移动办公的简单需求。在Andro

12、id手机中,还可以开发多媒体形式的记事本软件。在本课程设计中,也尝试性开发了基于Android手机的记事本软件,实现了记事本的基本功能Notepad software is the main application software of mobile phone, simple demand to meet the main transaction records, reminder, things query mobile office. In the Android mobile phone, also can develop the multimedia notepad softwar

13、e. In the curriculum design, and also to try to develop Android software based on mobile phone Notepad, to achieve the basic functions of Notepad本文的软件开发环境采用了Eclipse + Android SDK集成环境,编程语言采用了Java。In this paper, software development environment using the Eclipse + Android SDK integrated environment, t

14、he programming language used Java.关键词: Android;记事本;Eclipse;JavaKeywords: Android; 记事本;Eclipse; Java Notepad.IV目 录摘 要IAbstractII第1章 引 言11.1 Android应用的构成和工作机制31.1.1 Activity31.1.2 Intent Receiver41.1.3 Service41.1.4 Content Provider41.2 开发软件及安装41.2.1 Java运行环境41.2.2 Eclipse 编程软件6第2章 需求分析82.1 Android记事本

15、的使用意义82.1.1 用户触发事件82.1.2 记事本基本需求控制8第3章 系统总体设计103.1 处理流程设计103.1.1 业务流程图103.1.2 数据增加流程图113.1.3 数据修改流程图113.1.4 数据删除流程123.2 数据字典123.3 数据库概念结构设计15第4章 项目概述164.1 项目范围164.2 项目软件过程描述164.3 里程碑164.4 依赖和约束164.5 角色和职责17第5章 系统实现185.1 应用程序功能实现185.2 应用程序界面功能实现185.2.1 应用程序主界面185.2.2 分享界面205.3 数据库存储方式20第6章 系统测试226.1

16、测试方案及测试用例226.2 系统测试计划226.3 系统测试226.4 测试总结23结论24参考文献25致 谢26外文原文27原文翻译39第1章 引 言相信大家对Android的发展历史多少都有一些了解, Android曾经是一家创立于旧金山的公司的名字,该公司于2005年8月份被Google收购,并从此踏上了飞速发展的道路。经过这几年的发展,它已经发展成了一个平台、一个生态体系。现在Android在移动领域已经得到了广泛的应用。根据Google于2011年6月份公布的数字,现在每天激活的Android设备高达50万台,比5月份的数据增加了10万台!Google还透露目前已经与36家OEM厂

17、商和215家运营商合作,共激活了超过1亿台Android设备。相比于Symbian的日落西山,以及苹果的封闭、Windows Phone的前途未卜,Android无疑代表了当前行业发展的主流趋势:开放平台取代了封闭平台。让参与者均能通过自己的努力而获益。从2008年9月公布1.0版本以来,经过近三年的跨越式发展,现在Android已经发展到了3.x版本,这是一个针对平板电脑而做了大量优化的版本,包括对更大屏幕的支持的类库、多任务优化等。目前市场上占主流的还是2.2版本,当然,相信随着时间的推移,2.3及后续版本会得到越来越多的设备的支持。由于Android是近几年才开始起步的,所以有很多朋友在

18、关注华清远见3G Android系统开发课程时,也总是会有这样的疑问。我一直跟带着这种疑问的朋友说,回答这个问题,有几个关键点:第一、这个市场是否足够大(或者能发展到足够大),这点我相信大家对于移动设备的现状有足够的了解,对其未来的发展不会有什么异议;其次是你所从事的领域是否处于上升通道上?身处一个上升的通道,个人只要付出一定的努力,这个行业都会带着你往上走,相反,如果处于一个没落的行业,个人再努力,可能都赶不上整个行业坠落的速度。Android这几年的发展可谓有目共睹,就像前面所说,每天的设备激活数目就达到了50万台;其三,是否有足够多的大公司参与其中,或者是否成就了一些公司。行业的发展,离

19、不开业内大公司的支持,或者,是否有公司在该领域得到了长足的发展。处于这个行业的大公司,除了Google本身外,也成就了一些公司,例如Motorola移动、HTC,前者借Android咸鱼翻身,后者借Android成了市值超越Nokia的公司。行业的发展如此红火,那么作为开发者,是否可以从中获益呢?我们可以从“Android工程师一年经验月薪8000元:这则新闻来看这个行业的开发者的情况,由此可以看出,这个行业的从业人员现在有多抢手。目前国内的Android开发还是主要以应用开发为主,主要分成3类:为企业开发应用、开发通用应用(放到Android Market或者其他App Market销售)以

20、及游戏开发(放到Android Market或者其他App Market销售)。第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。而理论上的通过付费下载的形式来盈利的,现在国内鲜见成功者。第三类开发者,目前和第二类开发者类似。下图1-1是开发者提交的应用和游戏的数目所占的比例图,从中也可以看出应用开发数目远超游戏开

21、发。图1-1比例图相对于其他移动开发平台,因为Android的(应用)开发采用了Java语言,所以,它的学习曲线相对比较平缓。对于那些有一些编程语言(如C/C+/Java等)训练的学生,都可以考虑学习Android应用开发。当然,如果你希望从事Android游戏开发,那么,最好能在高数、离散数学甚至计算机图形学等方面有比较扎实的基础。如果后续想往底层开发如系统移植、驱动开发等方向发展,或者为了更好地理解Android 应用架构体系,那么,具备一定的操作系统知识是必要的,当然,并不需要你对操作系统有多精通,而是对其基本原理有一定了解即可。如何学习Android开发?图1-2 Android的体系

22、架构图上面图1-2是Android的体系架构图,自上而下分别为应用层、应用框架、类库和Alvik运行时环境以及Linux内核。一般来说,我们想从事Android开发,可以从应用开发作为切入点,逐渐熟悉其整个体系,并慢慢往其底层渗透,从而能做到软硬兼备,Android系统开发班的课程设置就充分考虑到了这一点,既涉及到应用开发的透彻掌握,又帮助大家在系统开发层面上做好充分的准备。而从学习的路线图上来说,先熟悉Java SE编程,能比较熟练的使用Java语言进行编程,熟悉Java语言语法特点,熟悉Java IO、Java线程、网络编程、XML处理等。另外,因为很多的Android应用在运行时都需要去

23、访问网站服务器,因此,熟悉一种网络编程语言也是必要的。无论是从学习的方便性还是市场占有情况来说,使用JSP/Servlet都是不二的选择,另外,在这个阶段也顺便学习一下SQL语法和熟悉一种SQL数据库,以方便后续Android开发中进行SQLite数据库开发。学习完这些课程后,就可以开始进行Android的应用开发的学习,例如Android中的UI组件、基本组件、数据存储、传感器、图形图像处理、多媒体处理、游戏开发等。为了更好地进行应用编程,可以有选择的对其Lib类库进行分析,以加深对其工作机制的理解。再往下,就是操作系统层级了,这里应该要对Linux操作系统进行学习,熟悉其内核和运行原理,熟

24、悉ARM体系架构以及常用指令,并熟悉驱动的编写方式,掌握其移植方法等。1.1 Android应用的构成和工作机制对于一个Android应用程序来说,是由Activity、 Intent Receiver 、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidMainfestxml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。1.1.1 ActivityActivity是构成应用程序中最重要的构造块, 在Android

25、应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面。活动(Activity)在系统中以活动栈的形式进行管理。当一个新的活动启动后,被放到了栈顶,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。从图2-2可以看出,Activity有三个关键的循环:(1)活动的整个生命期:从首次调用onCreate(Bundle)开始,到最终调用onDestroyO结束。在onCreate()中进行所有初始

26、化,在onDestroyO时进行清理工作,释放资源。(2)活动的可见生命期:从调用onStart()开始,到onStop()被调用为止。在这段时间内,即使活动不与用户进行交互,用户也可以在屏幕上看到它。在这两个方法调用之间,可以维护活动显示给用户的资源。onStart()和onStop()方法可以多次调用,因为活动随时可以在可见和隐藏之间进行转换。(3)活动的后台生命期:从调用onResume()开始,到onPause()被调用为止。这段时间内活动处于其它所有活动之前,并与用户进行交互。一个活动可以不断在resumed状态和paused状态之间变换。Android使用了Intent类来实现活动

27、之间的切换工作。Intent负责对应用中一次操作的动作、动作涉及的数据和附加数据进行描述。根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。在应用中,我们可以以两种形式来使用Intent:直接Intent,指定了component属性的Intent,通过指定具体的组件类,通知应用启动对应的组件。间接Intent,没有指定component属性的Intent,则需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定满足此Intent的

28、组件。1.1.2 Intent ReceiverIntent Receiver是用于对外部事件的响应,当外部事件发生时,会使用Notification Manager通知用户。当一个Intent Receiver被触发时,系统会在需要的时候启动对应的应用程序。如在本系统中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的正上方来通知用户。各种应用还可以通过使用ContextBroadcast Intent()将它们的Intent Receiver广播给其它的应用程序,实现应用之间的通讯。1.1.3 ServiceService是提供连续信息的应用程序。它是运行

29、于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在基于Android平台的即时通讯系统的研究与实现后台,直到用户停止该服务或服务运行结束。本系统客户端扩展功能就是采用Service来进行设计和开发的。1.1.4 Content ProviderContent Provider应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。当应用程序需要使用存储设备中的数据时,可以使用Content Provider来完成。使用Content Provider能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良

30、好的数据。1.2 开发软件及安装1.2.1 Java运行环境 安装JDK,首先下载好JDK应用程序:jdk-6u21-windows-i586.exe,然后单机安装,安装的目录都在D盘,所有其他步骤只要保持默认就行了,接着就是环境配置,具体做法与步骤如下:在“计算机”上点右键>“属性”>“高级系统设置”> “环境变量(N)”。 图1-3 配置环境变量新建系统变量JAVA_HOME:D:jre环境配置;如图1-4所示。图1-4 配置java_home新建系统变量CLASSPATH:.;%JAVA_HOME%lib;(注意:点号表示当前目录,不能省略) 图1-5 配置classp

31、ass在系统变量Path的值的前面加入以下内容:%JAVA_HOME%bin;(注意:这里的分号不能省略)到这里,JDK安装完毕。图1-6 配置path本系统安装的是jdk-6u21-windows-i586.exe文件,并对其进行环境配置,配置成功后,打开cmd后,输入java version会显示所使用的JRE版本,如下图所示,表示环境配置成功。图1-7 cdm下查看jdk1.2.2 Eclipse 编程软件Eclipse是由Sun公司提出的免费开源软件;具有强大的java程序开发扩展性,能实现java程序的编写编译测试和运行的一体化;还支持hibernate,cvs,xml,uml,Sp

32、ring等面向对象编程的基于映射来实现的编程扩展性;是一款比较理想的开发软件。在开发的过程中我们只要应用是的Sun公司提供是Swing图形界面工具来实现主要模块和框架;故该系统是用纯java语言来实现的。Eclipse使用的是中文版本,该版本便于使用,具有很好的开发性、高效的GUI、先进的代码编辑器等,其项目可以包含多种多样的子项目组,每个包文件都有其特定的功能,比如scr里放的是源文件,Java程序就编写于其中;而res包中含有桌面布局xml编程,某些图片也存放在这里。该代码编辑器还可以支持在线下载插件,扩展更为丰富的功能。其主界面如图1-8所示。 图1-8 主界面图插件ADT的下载,在Ec

33、lipse菜单栏上打开“帮助”,选“Install New Software.”,会跳出如下窗口,在“work with”后面输入网址“https:/dl-1-9 所示。图1-9 在Eclipse中添加软件第2章 需求分析该记事本软件是一种主要用来记录笔记的基于安卓平台的软件,可以运行在安卓平台模拟器或运行在安卓平台的手持设备上。2.1 Android记事本的使用意义根据手机功能使用调查显示,大部分的消费者都会使用手机记事本功能。随着手机记事本功能的不断加强与完善,手机记事本对于人们的意义,已不仅仅像一般记事簿一样做简单记录,而是向着个性化、人性化的方向发展。2.1.1 用户触发事件记事本与外

34、部环境的交互。在这个系统中,通过对系统的分析,可以识别出参与者:用户。对于用户而言,记事本上按钮是用户向系统输入的操作请求的输入设备,设备显示器是用于向用户输出信息的输出设备。事件是来自人操作的重要的消息,下表2.1给出了记事本系统中可能发生的所有事件。表2.1系统响应及其执行结果事件系统响应执行结果1从手机屏幕点击软件系统调用函数入口,启动系统,进入该软件进入该软件,显示记事列表2点击"Menu",选择添加记事调用添加函数进入添加界面3点击其中一个记事调用查看记事函数进入详细界面4在记事详细界面点击"Menu",可对记事进行修改编辑调用修改函数进入修改

35、界面5在记事详细界面点击"Menu",可对记事进行删除调用删除函数删除记事6在记事列表界面点击"Menu",选择退出调用退出函数退出软件2.1.2 记事本基本需求控制系统用例图描述的是用户眼中的系统,即用户希望系统有哪些功能和通过哪些操作完成这些功能。一个用例代表用户与系统交互的一种方式。正如前面介绍过的,识别用例的最好方法是从参与者的角度分析系统。在android记事本中,首先的参与者是用户。如图2-1所示,它从用户角度描述了该系统应该具有何种功能。图2-1 用例图46第3章 系统总体设计常规的Android手机记事本软件主要功能模块包括:记事,查看、

36、编辑修改,删除记事。如图3-1所示。图3-1功能模块图这次课题的目的是在Android系统的手机开发平台之上,研究与开发一个记事本软件,提供适用手机的记事本功能服务,其中包括以下几个功能:1.可以实现基本的文本功能,如新建文本,删除修改文本,查看已有文件等3.编辑好的事件能发到微薄空间等交互平台4.能以email的形式发送信息5.界面设计力求简洁,整个软件要尽量占用较少内存首先,记事本的基本功能就是记事,手机用户首先用到的就是文本记事,输入事务信息以文本的形式展现出来,存储起来。其次,在支持传统的文字记事方式下,还要可以分享到微薄空间等。再次,如果记事本的信息很多,而用户又需要快速找到自己需要

37、的记事信息,这时候内容检索就非常有用了。最后,针对商务人士,或者是经常使用邮箱(如Gmail)的用户来说,有时候希望通过查看邮箱的同时查看记事本的信息,一次性获取全部。所以记事本同步邮箱功能能够为用户带来更多的功能与便利。3.1 处理流程设计3.1.1 业务流程图用户进入手机记事本软件后,会看到所有记事列表界面。列表界面主菜单中包括添加、删除菜单项。点击添加,则进入添加界面,添加成功后返回列表界面,如图3-2所示。图3-2业务流程图3.1.2 数据增加流程图添加记事时,数据由用户输入,点击确定按钮。流程如图3-3所示。添加记事界面是否合法插入数据库添加数据图3-3 流程图3.1.3 数据修改流

38、程图编辑记事时,点击其中一条记录,输入修改后的数据,点击确定按钮,则更新数据库; 流程如图3-4所示。修改记事是否合法更新数据库修改数据图3-4 数据修改流程图3.1.4 数据删除流程当用户选定一个其中记事条时,单击菜单,删除其中一条记录,则从数据库中删除此条记录。数据删除流程如图3-5所示。查看记事界面删除记事是否删除更新数据库图3-5 数据删除流程图3.2 数据字典用户操作记事本数据流程图,如下图3-6所示。图3-6操作数据流程图表3.1 数据流的描述数据流编号数据流名称简述数据流来源数据流去向数据流组成数据流量高峰流量F1启动软件启动无P1无80/day100/dayF2显示列表显示P1

39、P2SQLite中读取的数据80/day100/dayF3删除删除P2P5从SQLite删除的相关数据80/day100/dayF4添加添加P2P3从用户输入数据与SQLite交互80/day100/dayF5编辑编辑P2P4根据用户选择的的数据编辑80/day100/dayF6添加添加P3D根据用户填写的数据80/day100/dayF7删除至Sqlite删除sP5D根据用户输入数据删除Sqlite中80/day100/dayF8从Sqlite编辑编辑sP4D从Sqlite中编辑数据的数据80/day100/day 表3.2 处理逻辑的描述处理逻辑编号处理逻辑名称简述输入的数据流处理输出的数

40、据流处理频率P1启动启动软件F1启动软件F220/dayP2记事列表显示列表F2查看记事列表F3,F4,F520/dayP3删除删除F4删除该记事F520/dayP4添加 添加F5添加该记事F820/dayP5编辑编辑F3编辑该记事F720/day表3.3 数据存储的描述表数据存储编号数据存储名称简 述数据存储组成相关联的处理DSqlite数据库用于存储记事的数据库记事的详细信息:记事名称,内容,记事时间P3-F6-D,P5-F7-D,P4-F8-D表3.4 外部实体的描述表外部实体编号外部实体名称简述外部实体组成输入的数据流输出的数据流S用户操作系统软件的客户或者管理员客户或者管理员 无F1

41、3.3 数据库概念结构设计在记事本软件中,记事作为主要操作对象,其ER图如下图3-7所示。图3-7 ER图第4章 项目概述4.1 项目范围手机记事本作为手机的基本功能之一,我们都在频繁地使用着。随着手机记事本功能的不断加强与完善,手机记事本对于人们的意义,已不仅仅像记事簿一样简单记录,而是向着个性化、人性化的方向发展。4.2 项目软件过程描述用户进入手机记事本软件后,会看到所有记事列表界面。列表界面主菜单中包括添加、删除菜单项。点击添加,则进入添加界面,添加成功后返回列表界面。记事本软件是手机的主要应用软件,主要满足事务记录、事务提醒、事物查询等移动办公的简单需求。在Android手机中,还可

42、以开发多媒体形式的记事本软件。在本课程设计中,也尝试性开发了基于Android手机的记事本软件,实现了记事本的基本功能本文的软件开发环境采用了Eclipse + Android SDK集成环境,编程语言采用了Java。4.3 里程碑提示:里程碑是项目进度的关键点,这一部分定义项目需要跟踪的关键点:第一阶段:需求分析及总体介绍;第二阶段:搜集查询相关资料;第三阶段:系统总体设计及模块划分;第四阶段:详细设计及模块功能实现;第五阶段:模块联调及测试和维护;第六阶段:撰写论文及论文答辩。4.4 依赖和约束基于android系统平台的设备或模拟器。记事本软件是手机的主要应用软件,主要满足事务记录、事务

43、提醒、事物查询等移动办公的简单需求。在Android手机中,还可以开发多媒体形式的记事本软件。在本课程设计中,也尝试性开发了基于Android手机的记事本软件,实现了记事本的基本功能4.5 角色和职责如表4.1。表4.1角色职责表角色(岗位)职责技能要求高级经理提供项目组足够的资源、资金等支持;批准并参与项目计划的评审;定期审阅项目经理提交的相关报告;项目经理制定项目计划并依据计划对项目进行监督与跟踪控制;事件驱动或定期向高级经理汇报项目的进展情况;对项目中出现的问题及时采取相应措施;设计人员参与负责新产品需求工作、概要设计、部分详细设计VSTS开发人员参与负责新产品的设计,编码以及单元测试A

44、ndroid/java第5章 系统实现5.1 应用程序功能实现本系统的主要功能所用到类以及其作用,具体如表5.1系统结构类图说明所示。主要文件列表:表5.1 系统结构类图说明表类别用到的类或文件作用布局文件main.xml显示日程历主界面record.xml添加记录的界面mydate.xml指定日期的界面提醒时间的管理Remind.java封装提醒时间的属性RemindSeting.java指定所显示的界面AlarmAlert.java设置提醒时间的特点记录信息的管理Record.java指定显示的界面和添加数据库中AllRecord.java指定界面和处理一些事件核心类Grid.java绘制

45、日历和处理事务的方法5.2 应用程序界面功能实现5.2.1 应用程序主界面应用程序启动主界面如图5-1所示。图5-1 系统启动主界面 Android的每一个可视化界面都有一个唯一的布局配置文件,该文件里面有许多种布局方式,和各种资源文件如图像,文字,颜色,本程序在运行时,可以通过代码对各配置文件里面的内容进行读取以完成Android应用程序的界面。这样就可以形成多种不同的可视化界面和丰富炫丽的效果。其主要代码如下:LinearLayout mainLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.main, null);

46、setContentView(mainLayout); calendarView = new CalendarView(this); mainLayout.addView(calendarView);该代码主要把日程应用程序的主界面展现在用户面前。除此之外,我们能够看到在有一个设置布局的方法setContentView(mainLayout),而该方法的mainLayout是通过是通过获取R.java类里的ID获取的,而此ID正是代表res/layout目录下的main.xml文件。下面为布局文件main.xml的代码。<?xml version="1.0" enco

47、ding="utf-8"?><LinearLayout xmlns:android="android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent" android:background="color/calendar_background"><!- android:background="drawable/back

48、ground" -><RelativeLayout android:id="+id/calHeader" android:layout_width="fill_parent"android:layout_height="70dp"><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_toRightOf="

49、id/ivLogo"android:layout_marginTop="dimen/margin" android:orientation="vertical" > <TextView android:id="+id/tvMsg1" android:layout_width="fill_parent"android:layout_height="wrap_content" android:textColor="color/text_color" andr

50、oid:textSize="16sp"/> </LinearLayout></RelativeLayout></LinearLayout>5.2.2 分享界面分享应用程序的界面如图5-2所示。图5-2 分享界面首先需要在单击选项菜单时显示如图5-2所示的设置分享的对话框,菜单单击事件的代码如下:builder = new AlertDialog.Builder(activity);builder.setTitle("分享");dpSelectDate.init(calendarView.ce.grid.curre

51、ntYear,calendarView.ce.grid.currentMonth,calendarView.ce.grid.currentDay, this);builder.setView(myDateLayout);adMyDate = builder.create();onDateChanged(dpSelectDate, dpSelectDate.getYear(), dpSelectDate.getMonth(), dpSelectDate.getDayOfMonth();adMyDate.show();5.3 数据库存储方式SQLite是一款非常流行的嵌入式数据库,它支持SQL查询

52、,并且只用很少的内存。Android在运行时集成了SQLite,所以每个Android应用程序都可以使用SQLite数据库。对数熟悉SQL的开发人员来时,使用SQLite相当简单。但是,由于JDBC不适合手机这种内存受限设备,所以Android开发人员需要学习新的API来使用SQLite。Android不自动提供数据库。在Android应用程序中使用SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android提供了SQLiteOpenHelper帮助我们创建一个数据库,我们只要继承SQLiteOpenHelper类,就可以轻松创建数据库。SQLiteOpenHelper类根据开

53、发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper的子类,至少需要实现三个方法:构造函数,调用父类SQLiteOpenHelper的构造函数。这个方法需要四个参数:上下文环境(例如,一个Activity),数据库名字,一个可选的游标工厂(通常是Null),一个代表你正在使用的数据库模型版本的整数。onCreate()方法,它需要一个SQLiteDatabase对象作为参数,根据需要对这个对象填充表和初始化数据。onUpgrage()方法,它需要三个参数,一个SQLiteDatabase对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的

54、模型转变到新的模型。在日程应用程序的DBService类中同样实现了上述的三个方法来创建数据库和一些操作。当我们需要在数据库中进行创建表、删除数据、插入数据时,一般就要调用getReadableDatabase()或getWriteableDatabase()方法,来得到SQLiteDatabase实例去改变数据库里的内容。其中的删除数据的代码如下:public void deleteRecord(int id)String sql = "delete from t_records where id = " + id;SQLiteDatabase db = this.get

55、WritableDatabase();db.execSQL(sql);而查询数据时我们就要用到Cursor游标来遍历数据库中的数据了,其代码如下:public Cursor query(String date)SQLiteDatabase db = this.getReadableDatabase();Cursor cursor = db.rawQuery("select id,title from t_records where record_date='" + date+ "' order by id desc", null);ret

56、urn cursor;第6章 系统测试为了提高本应用程序的质量,使应用程序的使用更加人性化,友好化,一个完整的软件测试是必不可少的。通过软件测试我们能够发现其中的一些错误和不合理的地方,这对于系统的完善是极有好处的。6.1 测试方案及测试用例软件测试是对软件质量保证的关键步骤,它是在软件投入运行前,对软件的需求分析、软件规格说明和编码实现的最终审查。通常对软件的定义有两种描述,第一软件测试是为了发现错误而必须执行的程序的过程;第二软件测试是根据软件设计开发各阶段的需求说明和程序的内部结构而精心设计的一些测试用例,并利用这些测试用例运行程序和及时发现错误的过程,即执行测试步骤。按照软件测试用例的

57、设计方法而论,软件测试可以分为白盒测试和黑盒测试法。按照软件测试的策略和过程分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。6.2 系统测试计划在系统的开发和设计过程中,对系统做了如下几个方面的测试:(1)功能及正确性测试:对后台记录信息的增、删、改、查等操作的测试。(2)及时正确的处理系统各种错误的异常。6.3 系统测试(1)添加记录测试用例,具体如表6.1所示。功能描述:验证添加记录信息功能。用例目的:验证添加记录信息功能的实现。前提条件:已经进入到添加记录信息的页面。表6.1 添加记录测试序号输入/动作期望的输出实际情况测试结果1填写错误信息提示添加失败提示添加失败

58、弹出警告2输入标题和内容记录成功在页面中显示添加成功正确(2)修改记录测试用例,具体如表6.2所示。功能描述:验证修改记录信息功能。用例目的:验证修改记录信息功能的实现。前提条件:已经进入到修改记录信息的页面。表6.2 修改记录测试序号输入/动作期望的输出实际情况测试结果1填写错误信息提示添加失败程序崩溃弹出错误信息2输入标题和内容记录成功在页面中显示添加成功正确(3)删除记录测试用例,具体如表6.3所示。功能描述:验证删除记录信息功能。用例目的:验证删除记录信息功能的实现。前提条件:已经进入到删除记录信息的页面。表6.3 删除记录测试序号输入/动作期望的输出实际情况测试结果1点击“删除”按钮

59、记录信息从页面列表中消失删除成功正确(4)查看记录测试用例,具体如表6.4所示。功能描述:验证查看记录信息功能。用例目的:验证查看记录信息功能的实现。前提条件:已经进入到查看记录信息的页面。表6.4 查看记录测试序号输入/动作期望的输出实际情况测试结果1点击“查看”按钮记录信息在页面中显示查看成功正确6.4 测试总结通过对各个不同功能模块的测试,本应用程序基本运行正确,没什么太大的问题,但是因个人水平有限,仍然有许多地方需要改进,比如界面的美观,提醒时间的功能的多样性等等。一个完整的运行的系统不可能一步做到完美的地步,这需要在以后的学习生活中进一步完善。在本应用程序中还有一些技术上的问题没能够

60、得到完美的解决,希望在以后的生活中,进一步学习这方面的技术,使这个程序到达完美的地步。最后经过多方面的方法测试,本应用程序基本设计完成,能够正常运行。结论本系统是基于Android系统的应用程序,所以主要是在Android的框架中进行开发设计。由于在Android系统下开发程序和在JavaME的原理类似,所以本系统也采用了类似于MVC模式的原理。本应用程序由界面显示和后台管理组成,符合一般人的逻辑思维。本程序的一个特点是在界面上进行了优化,在处理一些事务的逻辑算法上进行了优化。所以,在使用本程序时会感到人性化和界面的友好。一方面,本程序采用了类似于MVC模型的开发模式,由Activity类负责

61、调用处理事务的方法并在前台进行显示,由xml文件负责页面的布局。另一方面,本日程应用程序采用Java和Android的相关技术,实现页面的展现和相关逻辑思路的处理,用SQLite数据库实现对记录信息的增、删、改、查等操作,并尽可能的在Android的UI上实现了美观。基于以上原因,使得本程序在以后的扩展和程序的升级上都有很大的空间。通过完成这次的毕业论文,使我认识的一个完整项目的开发的不易,也使我进一步加深了对数据库操作的理解,清楚了一个完整的应用程序开发的流程,进一步认识到一个优秀的数据库和良好的算法是多么的重要。而且还使我认识到一个优秀的程序离不了测试,只有不断的进行测试,我们的程序才能趋于完美。参考文献1BruceEckelJAVA编程思想M,北京:机械工业出版社,2003.2赛奎春JAVA工程应用与项目实践M,北京:机械工业出版社,2002.3FLANAGANJAVA技术手册M,北京:中国电力出版社,2002.4孙涌现代软件工程M,北京:北京希望电子出版社,2003.5萨师煊,王珊数据库系统概论M,北京:高等教育出版社,2002.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!