1、 毕 业 设 计中文题目 基于安卓的手机贴身秘书系统的设计与实现英文题目 Design and Implementation of Mobile Personal Secretary SystemBased on Android院 系: 计算机与信息工程学院年级专业: 软件工程(金融服务)姓 名:指导教师:学 号:职 称: 年 月摘要I摘 要随着 Android APP应用在手机市场的迅速发展,各种 APP应用也渐渐成为人们生活必不可少的一部分。由于 Android手机存在大量文件、文件夹和 APK,因此开发一款方便快捷、操作简单、界面简洁的应用供用户使用。Android 手机贴身秘书软件,帮
2、助用户记录日常活动,提醒用户在哪个时间段需要做什么事。所有设定的日常活动都可以进行修改,增加,删除,查找。手机秘书软件拥有方便快捷、操作简单、界面简洁等优点。通过使用手机贴身秘书软件,实现对日常活动进行基本的管理功能。手机贴身秘书具备以下几个功能:注册新用户、用户登录、个人信息查看、个人信息修改、修改密码和注销账号等功能,对于设定日常活动的管理:比如修改,添加,删除,查找等。提醒用户的铃声可供修改,用户可为活动加密,设置优先级。关键词: 手机贴身秘书;提醒;AndroidAbstract IIABSTRACTWith the rapid development of the Android A
3、PP application in the mobile market, all sorts of APP also gradually become an indispensable part of peoples life. Because there are a large files, folders and Android APK, so developing a fast and convenient, simple operation and application for the use of the user interface is simple.Android perso
4、nal secretary software, help the user to record daily activities, to remind the user what in which time period needs to be done.All set of daily activity can be modified, increase, delete, search.Secretary of mobile phone software has advantages of convenient and quick, simple, concise interface.Thr
5、ough the use of mobile personal secretary software, realize the basic daily activities with management functions.Mobile personal secretary has the following functions: registering a new user, user login, personal information, personal information to view, modify, change passwords, and cancellation o
6、f account, and other functions, set for the management of the daily activities, such as to modify, add, delete, search, etc.Remind the bell for the user to modify and users for encryption of the event, setting priorities.Keywords:Mobile personal secretary; Remind; Android目录III目 录第 1 章 引言 11.1 课题研究背景
7、及意义 .11.2 国内外研究现状 .21.3 主要工作 .21.4 本章小结 .3第 2 章 主要理论和技术路线 42.1 Android 平台简介 .42.2 Android 的基本框架 .42.3 SQLite 数据库 72.4 Android 应用程序结构 .72.5 JAVA 语言 .102.6 本章小结 10第 3 章 系统需求分析 .113.1 问题定义说明书 113.1.1 现行工作调查 .113.2 可行性分析 113.2.1 技术可行性分析 .113.2.2 经济可行性分析 .123.2.3 操作可行性分析 .123.3 系统功能需求分析 123.3.1 系统的总体设计 1
8、43.3.2 设计思想 153.3.3 系统流程 153.4 本章小结 15第 4 章 系统的设计与实现 .174.1 Android 工程程序结构 184.1.1 AndroidManifest.xml 文件 194.2 系统实现 204.2.1 界面效果及实现: 214.3 主要功能界面展示 224.3.1 用户注册页面 .23目录IV4.3.2 用户注册界面 .244.3.3 个人计划主界面 .264.3.4 选择制定长中短期类计划界面 .284.3.5 编辑计划的界面 .294.4 本章小结 30第 5 章 系统测试 .315.1 运行环境 315.2 系统测试 315.2.1 测试方
9、法 .315.2.2 健壮性测试 .315.2.3 功能测试 .325.3 本章小结 32第 6 章 结论与展望 .326.1 本文主要工作总结 346.2 展望 34参考文献 35致谢 .1第 1 章 引言1第 1 章 引言1.1 课题研究背景及意义随着科学的进步和时代的发展,手机操作智能化趋势日渐突出,人们的生活质量在逐渐改善。对于手机的要求也越来越高。各种五花八门的 APP 应用也随之诞生,而用户选择 APP 应用的标准无非就是实用,简洁,方便。目前,手机已经成为了人们必不可少的产品,大多数人已经养成了手机不离身的习惯,手机在现代社会里头扮演了面具,它是人的对外的一个全部的来往,它是人的
10、一个器官。早上起来眼睛一睁,第一件事情不是摸头,摸手摸脚而是摸手机。很多种社交产品被广泛的应用,例如,微信,微博等等。人们几乎是无时无刻都可以玩手机,走路的时候,吃饭的时候,睡觉前躺在床上的时候,总之,只要是你想得到的场合,几乎都可以使用时候。为 APP 应用提供了一个庞大的市场。因为手机可以随时使用,现在手机已经不仅仅是一款通讯工具,当你不认识路时,它可以用来查看地图,当你不知道该如何坐公交时,它可以查询公交,当你无聊时,它可以用来玩游戏,除此之外,手机还有非常多的功能。甚至可以说,手机几乎是万能的。研究表明,有些人有健忘的毛病,或者说缺乏对日常活动的规划。不知道什么时候该做什么。或者说忘记
11、了该做什么。而手机贴身秘书软件可以帮助用户记录日常活动,提醒用户在哪个时间段需要做什么事,在哪个时间段要做什么事,实现对日常活动的管理。功能上强大,价格上实惠,操作上方便,还有开源的操作系统,使得安卓平台变得越来普及。安卓平台给第三方开发商提供了一个非常好的开发环境,很多人都对其感到很有兴趣,因为,将会有越来越多的软件被开发出来。所谓手机软件,就是在手机上运行的应用程序,任何一种应用程序的运行,都离不开硬件环境的支持,任何一款软件应用要被用户认可,首先必须能够方便用户去使用。手机应用程序能够随时的使用,随时的进行操作。目前,手机已经是非常普遍的了,不论是老人,小孩,还是年轻人都拥有了自己的手机
12、,有些甚至不止一台,使得手机市场异常的火爆。几乎所有的手机上都会装有一款便签软件,从而可以看出,便签软件是很多必要去进行开发的,用户可以将想要做的事情记录在便签软件上,操作上各有不同,但是手机自带的便签软件通常不能满足所有用户的需求,因为如此,所以安卓应用市场上就出现了各种各样的便签软件。正所谓好记性不如烂笔头!用一款便签软件,用来记录需要做的事,随时的提醒用户不要忘记,十分有助于用户有条理的去处理好每一件事情。在完成后,可以将其删除,在事情有所改动的时候,可以修改里面的内容,在不删除原规划的前提下,追第 1 章 引言2加内容。可以记录我们每天完成的事,可以帮助用户回忆以前的事情。1.2 国内
13、外研究现状Android 继承了 Linux 操作系统的自由,开放源代码,用于移动设备非常方便 2。目前国内的 Android开发还是主要以应用开发为主,主要分成 3类:为企业开发应用、开发通用应用以及游戏开发。第一类开发者一般身处规模较大的公司,除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般处于创业型公司或者是独立开发者。第三类开发者,目前和第二类开发者类似。安卓智能手机凭借着方便携带和高端智能化两大优势,得到了用户的一致好评,并且正在慢慢的影响和改变用户。由于手机的高端智能化,商务上对于智能手机手机的需求也就随之诞生,从而使很多企业把研究重心转移到
14、了 APP 应用软件上面。很多企业都开始与软件公司开始合作。为企业设计和实现 APP 应用,企业可以通过这个推广品牌,开发出新的销售渠道。APP 应用软件的开发已经具有一个非常庞大的市场。国内的安卓 APP 应用起步虽然比国外要慢了一点,但目前发展十分迅速,需要大量的安卓开发人才。安卓手机 APP 开发的服务已经涉及到了汽车,医疗,旅游,服饰,娱乐,等等。目前,安卓在全球非常热门。安卓的智能手机操作系统在全球的市场上占有百分之 70 以上的份额,在中国更是占有更高的份额。非常受用户的欢迎。用途也越来越广泛。同时,由于大量的研究,安卓系统还在快速发展。1.3 主要工作人们的生活节奏越来越快,人们
15、要上班,要上课,在往返公司到家里或者学校到家里的路上要耗费不少时间,特别是在很多大城市,交通不便,经常出现堵车的现象,而这一种现象,自然使得手机得到人们的喜爱。五花八门的软件随之而生。人们的生活与手机息息相关,可以说现在人们已经离不开手机了,手机软件会成为最有价值的应用并且是最受欢迎的。本文对 Android 的系统架构进行了研究,开发则使用 Eclipse,代码的编写使用的是 JAVA 语言,设计一款便签软件,该软件有三大特色,第一,可以设置闹钟提醒,第二,可以添加密码,第三,可以使用手势添加。本文一共可以划分为五个章节,以“ 基于安卓的手机贴身秘书的设计与实现” 为背景,介绍 Androi
16、d 平台,详细阐述了如何在该平台下利用 Eclipse 工具和 Java 语言对手机贴身秘书进行设计与实现,各个章节内容如下:第 1 章 引言3第 1 章,主要介绍课题的研究目的和研究背景,国内外的研究现状。第 2 章,主要是进行需求分析,根据需求进行可行性分析,在可行性分析之后进行系统的分析设计,根据设计的思路为后续的开发进行准备。第 3 章,介绍软件的开发方法,还有软件开发中需要用的技术,为软件的实现做好准备工作。第 4 章,介绍了手机秘书系统的详细设计及实现。其内容包括 Android 工程的程序结构、软件界面的实现与代码。第 5 章,对系统开发进行总结和展望并提出下一步工作。1.4 本
17、章小结本章主要介绍本次项目的研究意义和目的以及项目的研究背景,相关项目在国内外的研究现状,然后给出了本次毕业设计的主要工作和论文的主要结构。第 2 章 主要理论跟技术路线4第 2 章 主要理论和技术路线本系统贴身秘书是基于安卓的开源系统技术实现的使用 Eclipse 作为主要的开发工具,代码部分则使用 Java 语言来进行编写,实现一个让用户喜爱的便签软件。在贴身秘书系统的开发中,涉及到了一些相关的技术和相关的工具,本文将对以下技术或者工具进行简要的描述:1java ; 2Android; 3Eclipse; 4Android SDK。2.1 Android 平台简介首先对 Android 平
18、台进行一个简单的介绍。自从 2008 年 Google 和 HTC 一起合作发行了第一台以 Android 为操作系统的手机之后,仅仅在 2011 年就实现了对塞班系统的超越,市场占有率超过了塞班系统,从而成为世界上最热门的系统。直到现在Android 依旧在手机操作系统上占有大量的份额。充分说明了 Android 系统的霸主地位。Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓” 或“安致”。Android 操作系统最初由Andy R
19、ubin 开发,主要支持手机。2005 年 8 月由 Google 收购注资。2007 年 11 月,Google 与 84 家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 Android 系统。随后 Google 以 Apache 开源许可证的授权方式,发布了 Android 的源代码。第一部 Android 智能手机发布于 2008 年 10 月。Android 逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。2013 年的第四季度,Android 平台手机的全球市场份额已经
20、达到 78.1%。 2013 年 09 月 24 日谷歌开发的操作系统 Android在迎来了 5 岁生日,全世界采用这款系统的设备数量已经达到 10 亿台。2.2 Android 的基本框架Android 设备是一个移动设备的开发平台,Android 系统的层次结构自上而下包括以下 4 层,如图 2.1 所示:1、操作系统层(OS)。2、各种库(Libries )和安卓运行环境( Run Time)。3、应用程序框架(Application Framework)。4、应用程序(Application )。第 2 章 主要理论跟技术路线5图 2.1 Android 的基本架构2.2.1 最底层
21、的系统操作层 OS安卓系统的底层操作系统是基于 Linux 操作系统的。安卓底层的操作系统层 OS使用 C 和 C+两种语言编写实现的。其实 Android 系统就是 Linux 系统,只是安卓系统充分利用了已有的机制。安卓系统的内核组件包含以下几个:1、Binder 驱动程序(用户 TPC 机制)。2、Logger 驱动程序(用户系统日志)。3、Timed_output 驱动框架。4、Timed_gpio 驱动程序。5、Lowmemorykill 组件。6、Ram_consolo 组件。7、Ashmen 驱动程序。8、Alarm 驱动程序。9、Pmem 驱动程序。10、ADB Garger
22、驱动程序。11、Android Paranoid 网络。2.2.2 安卓的硬件抽象层安卓有十分清晰的架构,采用了自上而下的结构,分别是 Linux 驱动、Android硬件抽象层、Android 本地框架、Android 的 Java 应用程序。负责建立 Android 系统和硬件设备之间联系的是硬件抽象层。1、Display Driver:常用基于 Linux 的帧缓冲驱动。2、Flasfh Memory Driver:基于 MTD 的驱动程序。3、Camera Driver :基于 Linux 的驱动。4、Audio Driver:基于 ALSA,高级 Linux 的驱动。5、KeyBoa
23、rd Driver:输入设备的键盘驱动。第 2 章 主要理论跟技术路线66、Bluetooth Driver:基于 IEEE802.15.1 标准的无线传输技术。7、Binder IPC:安卓中一个特殊的驱动程序。8、Power Management:用于电池电量信息的管理。2.2.3 各种库(Libraries)和安卓运行环境(RanTime )安卓的中间层分成两个部分,一部分是各种库,一部分是安卓运行环境。安卓系统的中间层内容大部分是使用 C+和 C 语言实现的。包含了下面各种库:1、C 库:安卓系统中最底层的库,通过 Linux 系统的调用来实现,是 C 语言的标准库。2、多媒体框架:这
24、是安卓多媒体的核心,从功能上可以分成两个部分,一个是音频的回放,一个是音频的记录。3、SFL:2D 图像引擎。4、SSL:为通信安全提供安全支持。5、OpenGLES :支持 3D 图像。6、SQLite:嵌入式数据库。7、WedKit:浏览器的核心部分。8、FreeType:提供位图和矢量字体的功能。2.2.4 Application Framework安卓的应用程序主要是用户界面方面的,安卓系统的代码是开源的,可以查看其中的代码得知。使用Java 语言来实现应用层的代码编写,还包含了各种资源文件,在res目录中。编译后,会生成一个APK包。安卓系统本身提供了主屏幕、联系人、电话和浏览器等大
25、量的应用。安卓开源的巨大潜力体现在开发者可以使用应用程序框架层层的API 实现要开发的程序。提供了UI设计中需要用到的控件,比如,View、List 、Frid、Text Box、Button等。一个基本的安卓应用程序,可以通过以下五部分的应用程序框架来构建1、Activity2、Broadcast Intent Receiver3、Service4、Content Provider5、Intent and Intent Filter2.2.5 ApplicationsApplications 位于应用程序和用户进行交互的层次,集合了 Android 自带的一些像联系人管理程序,短消息程序,浏
26、览器等的核心应用程序。所有的应用程序都是通过第 2 章 主要理论跟技术路线7Java 语言编写的,像计算机、浏览器、通讯体、MP3 播放器等 6。2.3 SQLite 数据库SQLite 是 Android 系统自带的一种数据库,它属于轻量级的 7。SQLite 数据库是一种嵌入式数据库,因为是轻量级的,所以该数据库所需要占用的资源非常少。SQLitem 数据库不仅可以在很多程序语言中使用,也可以运行在很多主流的操作系统上 8。SQLite 数据库提供了许多可以被外部调用的接口,因为是轻量级的,所以它的处理速度比 MySQL 和 Orcal 都要快。SQLite 是一个嵌入式库并且实现了零配置
27、、无服务端和事务功能的 SQL 数据库引擎。它在广泛领域内被使用,而且单线程读写性能与 MySQL 比肩,并且保证ACID 性。SQLite 的存储后端是采用 Btree 实现,多个连接可以并发操作,但是同一时间只允许一个写着存在。SQLite 在硬盘上一个数据库一个文件,每个数据库文件头部保存有这个数据库的元信息,包括版本,大小,Btree 根节点位置等等。SQLite 将一个数据库以 Page 为单位进行管理和读写,每一个 Page 默认为 512 字节,通常可以看做一个硬盘 sector 大小。2.4 Android 应用程序结构目前,软件开发的主流是安卓应用程序。安卓应用程序调用最底层
28、硬件和服务有三种方式。接下来是关于安卓应用开发框架的介绍。API 是在安卓应用的开发中来使用系统资源的,这是系统提供给开发者的,开发者很难离开 API 独立开发。API 就是属于系统架构层的,需要在系统的底层用 C+语言来来编写代码,实现那些系统没有提供的 API。安卓系统拥有四大组件,这四大组件都是一个视图,其中可见的有 Activity(活动)和 Content Provider(内容提供者的),不可见的有 Service(服务)和 Broadcast intent Receiver(广播接收器 ),这两个不可见的是在后台运行的,依靠能够激活其它组件的组件 13来实现通信。1、Activi
29、ty每个 Activity 都是一个单独的类,一个由 Views 组成的界面,这个类继承于基类Activity。安卓的 Activity 类似于网站的 html 页面 9。让用户去查看、操作,一般来说,每个程序都是多个 Activity。例如安卓手机自带的通讯录,就有添加联系人的Activity,查看联系人的 Activity,修改联系人的 Activity 等等。用户打开一个应用程第 2 章 主要理论跟技术路线8序,首先进入的就是主界面,可以通过点击事件跳转到另外一个 Activity,当打开新的界面后,旧的界面就会被关闭,通常两个界面之间都是可以互相传值的。比如添加完联系人之后,就可以将值
30、传回显示联系人的界面中。2、Broadcast intent Receiver要执行一些与外部事件相关的代码时,比如短信提醒,通话提醒,就可能用到IntenReceiver,它会使用 NotificationManager 来通知用户有些外部事件发生了,它不需要 UI。IntentReceivers 是在 AndroidManifest.xml 中声明的。同样的,也可以用Context.registerReceiver()来声明。当 IntentReceivers 触发时,如果需要,系统会自动启动程序。发送自己的 Intent 广播给其它程序也可以通过 Context.broadcostInt
31、ent 来发送。广播接收器不会另外显示界面,但是它可以通过通知栏的形式来提醒用户。3、Service Service 和广播接收器一样都是没有 UI 的,但它却是常驻系统的代码。比如视频播放器,通常一个播放视频的软件不止有一个 Activity 可以用来启动播放。而运行在后台 Activity 并不需要 Activity 去干涉。应为用户希望视频在后台运行的同事,还可以进行 Activity 的跳转。而用户可以在视频保持在后台的情况下,浏览其它的视频,必要的时候中断后台运行的 Service,通过 Context.bindService()方法连接到 Service上。 服务是安卓的一个组件,
32、在后台运行来执行长时间的操作或执行远程操作且不提供用户界面,只运行在系统的后台 10。通过调用 Context.startServece()启动服务,通过调用 startService()可以用来传递参数,通过调用 Context.stopService()结束服务。StartService 启动服务只能通过 StopService 关闭,这个时候 bindService,不会创建新的的服务。只会调用 onBind(),关闭界面,Service 不会关闭,只后解绑。不会调用 ondestory()方法,只会调用 onUnbind(),再次进入界面,先StartService , BindSer
33、vice。不会创建新的服务。4、Content Provider程序把数据存放到一个 SQLite 数据库格式的文件中,还可以存放在其它的设备中。想要用其它的应用程序使用这个应用程序的数据,这时,就必须用到 Content Provider。Content Provider 是实现了一系列标准的类,这个类使得其它程序可以读取和储存另一个应用程序的数据。 应用程序不必使用所有的Android 组件。意图可以被应用程序可以很容易地添加,删除和取代,而能够联系在一起工作则靠URI 11。 Android通过权限设置决定的安全模型来操作资源和数据的特征让应用程序更加地安全被使用。大多数的应用程序之间的
34、安全模式设置和标准的Linux系统相一致,像是给各个应用程序分配不同的UID 12。第 2 章 主要理论跟技术路线92.5 Java 语言Java 语言是一种面向对象的编程语言 13。所谓的面向对象,就是把每个对象所有的相关功能都封装在一个类中,然后通过调用该类,就可以直接使用该类中的方法。Java 语言的使用,与它所开发的平台是无关的,而且他是一种安全的,支持多线程的语言。使用 Java 语言可以开发多种可以运行在多个平台上的软件,且可以运用在各个领域。Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和
35、Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态的 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器现在均支持 Java applet。另一方面,Java 技术也不断更新。Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口(Application Programming Interface、简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩
36、展部分。在硬件或操作系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各种系统中运行。Java 应用编程接口已经从 1.1x 版发展到 1.2 版。目前常用的 Java 平台基于Java1.4,最近版本为 Java1.7。Java 分为三个体系 JavaSE(Java2 Platform Standard Edition,java 平台标准版),JavaEE(Java 2 Platform, Enterprise Edition, java 平台企业版),JavaME(Java 2
37、Platform Micro Edition, java 平台微型版)。2.6 Android 模拟器Genymotion 中文名字是急速模拟器,这是一款可以运行 Android 软件的模拟器。现在国内有很多可以运行 Android 软件的模拟器,通过作者的使用和比较之后,发现Genymotion 就是其中最好用的一款。选择这款模拟器的主要原因是,因为Genymotion 操作简单且使用方便,而且 Genymotion 运行的速度极快。Genymotion 安卓模拟器其实不是普通的模拟器,严格来说, Genymotion 是虚拟机,被网传定义为模拟器,genymotion 虚拟机希望能够给你带
38、来最好的 Android 模拟体验,目前具备以下特性:支持 OpenGL 加速,提供最好的 3D 性能体验,可以从Google Play 安装应用,支持全屏并改善了使用感受全控制,可同时启动多个模拟器,支持传感器管理,如电池状态、GPS、Accelerator 加速器支持 Shell 控制模拟器完全兼容 ADB,可以从主机控制您的模拟器管理设备易安装兼容 Microsoft Windows 第 2 章 主要理论跟技术路线1032/64 bits, Mac OSX 10.5+ and Linux 32/64 bits 可以配置模拟器参数,如屏幕分辨率、内存大小、CPU 数轻松下载、部署最新的 G
39、enymotion 虚拟设备。从 Eclipse 启动设备使用 Genymotion 测试应用。2.7 MySQL 数据库MySQL是 Android系统自带的一种数据库,它属于轻量级的。MySQL 数据库是一种嵌入式数据库,因为是轻量级的,所以该数据库所需要占用的资源非常少。MySQL数据库不仅可以在很多程序语言中使用,也可以运行在很多主流的操作系统上。MySQL数据库提供了许多可以被外部调用的接口,因为是轻量级的,所以它的处理速度比 Orcal要快。2.8 本章小结本章通过以上对于 Android 相关技术的介绍及分析,充分了解到 Android 作为一个开源的、发展较快的、界面 UI 优
40、化良好的免费软件,用来开发一款应用于生活中的,帮助上班族和学生党的软件,不仅意义重大,而且有着巨大的发展空间。第 3 章 系统需求分析11第 3 章 系统需求分析本章将对系统的可行性进行分析,包括技术上、经济上和操作的,并且对系统的功能进行分析以及系统该如何实现,设计思路又是如何,最后简单介绍系统流程。3.1 问题定义说明书3.1.1 现行工作调查随着科学的进步和时代的发展,手机操作智能化趋势日渐突出,人们的生活质量在逐渐改善。对于手机的要求也越来越高。各种五花八门的 APP 应用也随之诞生电子,计算机技术也在快速发展,因为,生活节奏的加快,目前的技术已经跟不上了。用户的需求越来越多,而目前市
41、场的应用已经无法满足用户了,手机秘书软件目的在于让人们对于每天的活动有个规划,用以记录每天的活动,提醒人们在什么时候该做什么事。有些人的记性不好或者说没人提醒就会产生惰性,不想或者忘记做某件事情。手机秘书可以用以提醒人们去完成当日该完成的任务。因此,为了方便人们能明确的知道自己在某个时间段需要做什么,将贴身秘书开发成手机应用软件,以便人们明确每天的活动。3.2 可行性分析3.2.1 技术可行性分析为了能够实现系统的需求,前期做了大量的准备,其中包括了相关软件的使用以及相关知识。本系统是在集成 JDK 和 Android SDK 等开发工具的 Eclipse 平台上,应用 Java、SQLite
42、 语言在 Windows 操作系统实现手机贴身秘书的设计 14。我们是计算机专业的,对于 Java 语言已经是再熟悉不过了,从大二开始就已经开始学习 Java,经过了三年的巩固,已经能够熟练的使用 Java 语言来进行程序的编写,而且,Android 代码是开源的,所以在开发技术这方面,有着大量的资料和视频可以借鉴;再次,Android 这门课程,本人在大四上学期的时候,又经过校外企业指导老师的为期一个多月的实践教学,在技术的应用上,使得较为成熟;最后,作者在校外实习期间,所实习的内容正是 Android 开发的内容,这与毕业设计相同,可以进一步巩固技术,有碰到特别大的技术难题,也可以及时得到
43、解决。综上所述,在技术方面,本人已经具备了开发这样一款软件所需要的成熟条件,第 3 章 系统需求分析12在技术上是可行的 15。 3.2.2 经济可行性分析由于系统后天所需要的数据量十分庞大,考虑到成本问题和时间的局限性,经过和校内外指导老师的商量,所以打算借用第三方的数据库,这大大地降低了开发的成本。Android 的项目,一般都属于比较小型的,而且本次毕业设计时间较为充足,开发人员只有作者一人,并不需要其他经济成本,所以在经济上是可行的。 3.2.3 操作可行性分析现在人手几乎都有一台手机,无论是老人还是小孩,手机已经成为了必需品,所以,对于手机的操作是基本不可能存在问题的。而且,本系统致
44、力于开发一个简洁,方便用户操作的软件,相信无论是谁,都能非常快的上手这款软件。所以,开发“手机贴身秘书” 这样一款便签软件,帮助广大用户不在忘记做某些事,有计划的去规划每天的活动。开发这样一款方便快捷、操作简单、界面简洁的软件在操作上是可行的16。3.3 系统功能需求分析本软件包括以下几个功能:(1)正文清单模式:使用列表控件 ListView 来保存用户添加的日常活动,使用户能够一眼就看清自己的日常规划;(2)可以为便签设置密码,保护用户的一些隐私规划不会泄露:如果手机借给他人,或者不小心丢失,而有些规划是必须保密的,所以给便签设置密码可以有效的防止这些隐私规划被别人得知,如表 3.1 所示
45、:表 3.1 设置密码功能表用例名称 设置密码参与者 用户目标 让用户给便签设置密码前置条件 便签可以正常运行基本事件流1.用户点击设置密码按钮2.弹出设置密码对话框第 3 章 系统需求分析13用例名称 设置密码3.设置密码4.设置成功(3)用不同的事件性质来区分便签:用户可以根据事件的轻重缓急来设置事件的紧急情况,分别设置为紧急、重要、和普通。这样在两个事件存在时间上的冲突时,可以根据这个来选择先完成哪个;(4)给便签设置闹钟提醒:为了避免一些比较重要的事情因为比较专心做其它事情而忘记,比如考试,开会,给这类重要的事情添加闹钟提醒,这样可以避免重要的事情忘记去做,避免重大的损失,如表 3.2
46、 所示:表 3.2 闹钟功能表用例名称 设置闹钟提醒参与者 用户目标 给便签添加闹钟提醒的功能前置条件 软件可以正常运行基本事件流1.点击设置提醒按钮2.弹出设置提醒对话框3.设置时间4.设置成功(5)一个简单的小游戏:工作之余,或者学习之余,或者在车上,或者在等待某件事情,觉得累了,想休息下,可以玩一会游戏,一款休闲的游戏可以放用户放松一下心情,缓解一下紧张的情绪,如表 3.3 所示:表 3.3 小游戏功能表用例名称 小游戏参与者 用户目标 用户可以玩小游戏前置条件 软件可以正常运行第 3 章 系统需求分析14用例名称 小游戏基本事件流1.点击小游戏2.进入游戏界面3.点击开始4游戏开始成功
47、(6)一个简单的计算器:日常生活中经常有需要计算的地方,比如买菜的时候,做作业的时候需要对较大的数据进行计算的时候,此时,一个简单的计算器可以帮助用户解决这些困难,如表 3.4 所示:表 3.4 计算器功能表用例名称 计算器参与者 用户目标 用户可以计算器进行计算前置条件 软件正常运行基本事件流1.用户点击计算器2.出现计算器界面7)一个简单的计时器:日常活动中可能会用到计时器,比如跑步的时候,做模拟测试的时候,高压锅在煮东西通常也需要计时,此时,计时器就派上用场了,如表 3.5 所示:表 3.5 计算器功能表用例名称 计算器参与者 用户目标 用户可以计算器进行计算前置条件 软件正常运行基本事
48、件流1.用户点击计算器2.出现计算器界面第 3 章 系统需求分析153.3.1 系统的总体设计首先是对界面进行设计,界面一定要让用户看上去感觉很整洁,给用户一个好的第一印象。然后实现软件的核心功能,对于便签的管理,添加便签,修改便签,删除便签,查看便签。然后实现一些辅助功能,让软件更有可用性,为便签设置密码的功能,为便签设置优先级的功能,为便签设置闹钟提醒,分享便签的功能,使用简单的手势添加便签的功能。3.3.2 设计思想(1)把软件的每个模块划分出来,一个一个模块去实现。(2)以分层的模块化程序作为设计的思想,整个系统采用模块化结构设计。使得应用程序有较强的可操作性和扩展性。3.3.3 系统
49、流程一打开程序,是登录界面,登录成功后,可以选择添加便签,或者长按已有的便签对便签进行删除,修改,查看等操作,进入添加便签页面后,可以选择制定一个长期、中期、短期的计划;然后填写便签主题,时间,优先级以及备注,同时还可以选择是否设置密码和闹钟提醒,编辑结束后即可点击保存计划,则返回主界面,在主界面中显示已添加的便签;还可以选择进入更多功能界面,在更多功能界面里,可以选择小游戏,点击可进入游戏界面,还可以选择计算器,点击可进入计算器界面,还可以选择计时器,点击可进入计时器的界面。3.4 本章小结本章对经济上的可行性、技术上的可行性和操作的可行性进行了详细的分析,证明了本系统的开发发行性。对目标软件的功能进行了详细的介绍。第 4 章 系统的设计与实现16第 4 章 系统的设计与实现本章将介绍系统的工程程序结构,以及相关的布局文件,资源文件,图片资源。各个功能分别在哪些类中实现。对用户所操作的界面进行演示,包括制定新计划界面,密码设置界面,闹钟设置界面等。4.1 Android 工程程序结构安卓工程的结构包括以下几个:(1)源代码所在的位置 src(2)运行系统的时候自动生成的 gen 目录(3)布局文件 xml(4)资源文件 ResAndroid 资源的类型和布局如图 4.1 所示:图 4.1 资源类型和布局图1.