摘要:随着工作学习的强度不断加大,读书笔记已成为生活中必备的一部分,而移动通讯技术的发展,移动设备已经逐渐在人们的生活中必备的日常工具。为了使人们能够便利地记录笔记的内容、查询修改等,设计一个基于android的读书笔记的应用软件是具有很大的实际应用意义。本系统是采用Java语言编写,结合SQLite来保存记录数据的,实现了在移动终端可以运行的读书笔记信息管理的功能,让用户能够快速的管理笔记的信息,大大便利了人们的日常需求。
关键词:安卓平台 软件开发 笔记本
1. 引言
读书笔记是一款供用户随手记下自己的感悟的软件系统,为用户提供了便利的信息查询和记录等功能。它以Android为平台,供用户随时随地阅读、随心编辑操作笔记,有利的解决了人们以往做读书笔记时手抄时的不便,读书的效率得到了提高。
本系统适合热爱读书学习、日常事务记录等的大众群体,根据日常记录的习惯经验和需求所设计,结合手机产品已渐渐深入到人们的生活,设计了适用于人们的记录读书笔记手机系统。使用Eclipse[1]开发工具使用,采用Java[2]作为编程语言,实现了笔记信息记录和按照不同的事务信息进行笔记归纳整理等功能,借助于手机方便了用户日常需求,可以随时随地轻松记录自己的所思所想,总而言之,读书笔记的设计与实现为人们记录信息提供了极大的便利。
本应用程序主要是在前人开发研究的基础上,参照了印象笔记(Evernote)而设计,本应用系统是基于Android[3]开发,功能的实现采用Java编写,设计实现的功能。
首先,在读书笔记软件中的首要功能是用户笔记记录,这也是最基本的功能要求,移动端用户在实际生活应用中常用到的是文字记事,输入的记录的信息并以文字的形式展现,存储起来。随着用户需求的不断增加,可能需要用图形去代替文本来记事,用户在登录本应用后,只要看到图形信息便能联系自己到所记录的信息内容。至此就没有了手动输入信息的不便,操作方便。也可将笔记中的文字信息与图片进行交互使用,使得用户自己去自由的选择喜欢的记录笔记的方式,体验到更加的自由与便捷的功能运用。所本设计将简单的记事信息以文本和图形来表达,使系统变得更加方便、易操作。
其次,如果在记事本里有很多的信息,并且用户需要很快找到他们需要的信息,那么检索的功能就变得非常有用。因为生活节奏快,事务的多样等原因,此项功能就变得很有必要。内容检索的功能可以给用户带来很多方便。可以使他们更加有效地使用手机,节省时间,高效工作和生活。
最后是统计功能,在一段时间内用户使用记事本情况的统计,分别有日统计,周统计,月统计,使得用户一目了然的明白自己在不同方的时间段所记录的信息数量,了解自己使用记录信息的情况,起到督促用户常记录笔记心得的作用,提高学习工作的效率。
与传统的记事本应用相比,本系统在扩大了笔记记录信息的管理查询的范围,增强了用户在记录查询管理笔记的功能,同时,还缩短了用户查找笔记,管理笔记的时间,简化了笔记管理的过程,更是减少了用户在记录笔记时的时间,另外,本系统在运行时所需要的一些硬件条件在今天是很容易得到满足,基本每人都会有一台移动设备,例如手机,已是非常普遍了,因此,此系统在经济上和实用情况上是完全可行的。综合以上的所有分析可得出,本系统设计的无论是在功能应用上,还是技术操作上,生活日常需要中,都是值得设计的应用系统。
2. 开发技术与工具介绍
本次设计主要是基于Android系统,结合Eclipse和SQLite[4]等软件的使用,以及Java编程语言等技术来实现。
2.1 开发技术
2.1.1 Java
Java[5]是一种计算机程序编程语言,通过让开发者创建应用程序,下载完成后,即可在任何计算机平台上安全地运行,具有跨平台、面向对象、泛型编程的特性,并且普遍的应用于大型平台的网络应用开发和移动应用开发。
Java编程语言是本系统中的主要编程语言,对于本身现阶段的编程水平来说,Java[6]语言是相对简单易学的,这也是在设计本系统时所考虑到的最重要的原因之一,Java语言和之前学习过的C语言在很多方面都有相识之处,而且在实际操作中更容易理解,思路也更加明确清晰,在实现功能方面会更加简单快速,它可以在任何的电脑移动等设备上编译运行,这对于设计开发本系统是方便而行之有效的。
Java编程语言的中一个最主要的优势是面向对象的程序开发,所以这种特性在程序编程中就变得非常重要。面向对象程序设计中,便于在大型软件工程的规划和实施中的管理,也提高了工程的健康度,失败工程比率也会减少。
Java编程语言的另一个优势是跨平台,那就是,不论开发者在任何的平台进行开发,都可以在其平台上运行成功。例如:在linux系统开发环境下操作运行,是不需要做任何操作行为就能放到xp,vista,或者OS X这些平台去自由地运行,而且操作简单。
2.2 开发工具
2.2.1 Eclipse
Eclipse[7]是一个集成开发环境中的一种,用于Java程序的编写。理论上Java程序可以通过文本文档(记事本)来开发,像是初学者在最初学习Java语言时,练习时就是用电脑端的文本文档编,只需改变一下它的文件后缀名,即可编写出第一个helloworld的编程。现在的集成开发环境有很多,比如美国的Sun公司开发的,比较常用的开发工具有netbeans,Eclipse等等。Eclipse是现阶段最常用的开发工具,原因是它与jBuilder 等等工具相比,它的优势在于它是自由的,免费的开发工具,对于学习开发小型的应用和规模较小的公司来说是很实用的。这也是本系统选择Eclipse开发工具的重要原因之一。原因二,它的插件几乎是通用的,可以运用它来开发任何想要开发的程序应用,只需下载安装上相应的插件便可操作实现。所以,在通常情况下,大部分公司现在都是在使用Eclipse为开发工具设计程序。
Eclipse[8]从2006年起到2015年陆续发布了十多个版本,Eclipse软件适用于多种语言的编译,当然主要是开发Java语言,在程序开发中Eclipse软件也提供了许多快捷键的使用,以方便开发者的开发速度,加快项目开发的时间,Eclipse软件还具有一定的安全性,使得程序系统更加安全,开发语言更加私密,为项目开发提供了很多便利。Eclipse适用范围很广,不会局限于某一部分开发使用,既可以为初学者使用开发小型的编程,类似于贪吃蛇游戏,也可以为学校、企业等大中型项目做开发研究,而且学习速度快,工具栏内的各项工具操作简单,便于理解记忆,也可以根据自己的需要自行调整软件的界面。随着版本的不断更新,Eclipse的使用也变得更加人性化。
2.2.2 数据厍SQLite
SQLite[9],是一种小型数据库。只能用于手机和其他移动设备,因为占用资源少和移动资源已经紧张,这可以节省资源的很大一部分,所以使得效率非常好。
SQLite还具有操作简单的特点,SQLite在实际操作中不需要做任何的配置信息,即可方便的进行数据开发,使得开发人员的工作变得简单而轻松,这正好符合了单人开发系统的特点,而且SQLite是独立存在的,这和Eclipse有很大的区别,Eclipse在开发的过程中需要很多的依赖和插件,对于这些SQLite通通不需要,SQLite的使用范围很广,功能实现方面和SQL相比基本一致,不存在功能的局限性。SQLite也支持多种语言的开发操作,并且在相同代码的情况下,要比其他的软件所占内存小很多。
Android是全球使用量最多的手机系统,符合资源少的SQLite占据优势,它是集成在SQLite[7]的Android平台。
3. 系统可行性分析
3.1 需求分析
本记事本软件主要是用来记录管理笔记信息的手机应用软件,便于人们在安卓的手持设备上运行。
3.1.1 使用Android记事本的意义
根据手机功能软件的使用调查结果显示,大部分的手机用户都会使用手机记事本功能软件。随着移动设备的不断更新换代,手机记事本软件功能一直存在,并具有很大的实用性,而它的操作功能也在不断的加大与完善,手机记事本软件的操作应用对于人们的生活影响,已经不仅仅是像普通的记事簿一样在做简单记录,而是在面向实用化、个性化、多样化等方向的发展。
用户触发事件:记事本应用与外部环境间的交互。在整个系统应用中,通过数据系统分析,可以识别出软件系统的参与者是用户。对用户而言,记事本软件的每个功能使用都是用户向系统输入数据时的请求,而系统的设备显示器,例如手机屏幕,则是将用户记录的信息的直观的展现出来。
事件是来源于用户在使用系统中操作时所输入的重要的消息,下表显示了在本系统中也许会发生的所有的事件。
表1 系统响应及执行结果
3.1.2 记事本软件的基本要求
记事本应用的基本要求:系统用例图描述了用户在系统里想要体验的功能和通过某些操作去实现这些功能。其中一个用例就代表着用户与系统之间的一种交互方式。正如在前面介绍过的,识别系统用例最好的方式就是从用户的角度去分析系统的功能。在本应用中,操作的主体是用户。如图1所示,以用户的需求来分析在本应用系统应该具有的3大重要功能。
图1 系统用例图
3.2 技术可行性分析
技术可行性:本项目只需要配备计算机一台,可以安装eclipse和android软件即可,对电脑本身有一定的要求,也可以使用微软等多个版本,或是苹果等其他系统。
经济可行性:因为此软件是个人开发与设计的,所以只需台笔记本电脑即可,没有什么成本。在经济上是完全可行的。
操作可行性:系统页面在设计时是为了结合了用户的日常使用习惯和手机功能需求,所以程序设计比较简单;而这个过程只涉及到软件的安装,熟练操作软件功能,和数据的记录存储。所以并没有太大的难度,即该项目完全有可操作性。
4. 系统总体设计
按照需求分析的要求,基于android的读书笔记的设计与实现,可以分为前端技术开发和后台数据库管理两大部分构成。前端开发是使用Java与Eclipse[10]作为开发工具,并且对数据库的访问。
4.1系统功能结构图
通过对系统功能的分析,可以得出的系统功能的结构如图2所示。
图2 系统功能结构图
对于图2中详细描述了系统功能模块,将软件分为三个部分:账户信息的生成与管理、笔记信息的发布与管理、退出系统的发布与管理等。其中主要功能包括:用户用手机在注册登录后进入本软件后,会看到所有记事信息列表界面。列表界面主菜单中包括添加、查看、修改、删除、搜索等菜单项。单击“添加”,输入添加到界面的信息,输入笔记,保存,便添加信息成功,跳转到查询记录信息界面,添加的记录显示在列表中,用户可根据需要选择查询信息,进行查询、修改、删除和查找。本设计的主要内容是:用户通过使用手机应用,方便记录了人们的日常记事的运作过程;便于实现对笔记的基本的信息进行添加和管理;并实现了对记事笔记的记录信息和管理统计等信息。以上的所有功能都是面对用户的实际需求而言,方便于人们的日常需要。
4.2 系统总体流程图
用户在注册登录系统,进入读书笔记应用的界面后,可以根据个人需要分别进行创建、发布和管理笔记的信息,以及查看、保存、退出和搜索笔记的信息,如图3所示。
图3 系统总体流程图
4.3 数据库设计
数据库应用在系统开发中占有非常重要的地位,系统设计的成功应用对数据库结构和故障系统的实施效果将产生重大影响,合理的数据库结构设计将大大提高数据存储的效率,保证数据的一致性。因此,它是非常重要的,了解用户的需求的功能,包括在初步设计应用的当前和未来的功能。以下是系统的数据流程,如图4所示。
图4 数据信息流程图
数据库设计的步骤分以下几部分:
图5 数据库步骤图
其中设计数据库概念结构是个抽象的概念。可以用E-R图表示。如图6所示:
图6 E-R图
4.4 系统主要模块设计
4.4.1 信息记录的发布与管理系统功能需求
笔记信息的发布与管理系统流程的如下:
用户首先进入到android读书笔记应用界面后,如果用户还不是本应用的会员,可以先注册账号信息,然后进入登录页面进行登录,是不支持用户直接体验该应用的各项功能。
用户在注册信息、账号和密码的应用上,注册时注意2次输入的密码要一致,并记住你的用户名,以防止丢失信息,输入完成后,等待验证的信息,提示成功后,便成功注册。
已申请用户,只要输入一个现有的账号密码登录系统,用户登录,信息管理,可以根据需要添加注释等,可以注意保存、修改、删除等功能。用户还可以进行笔记的查询,在查询时,可以直接在界面上显示的现有的笔记信息、统计的笔记等条件查询自己需要的笔记。
4.4.2 系统的设计原则
在系统应用中,系统处理的实时性和正确性是系统应用的必备性能。在系统应用的设计与开发的过程中,要同时考虑到系统的工作量,该系统能够满足用户对数据的处理和响应时间的要求。
对于系统的应用,查询和记录的功能,在整个系统功能的实现和性能需求中占有较大的比例。用户要查询、记录、管理他们所需要的信息,即在应用程序中,查询结果的准确性在很大程度上是方便人们的需求。
5. 系统实现
5.1 首页
本系统的首页简单、大方,具体如图5所示:
图5 笔记登录 图6 笔记首页
如图5是用户打开软件后首先看到的登录页面,用户第一次登陆本软件时需要注册账号信息,点击立即注册按钮即可跳转到注册页面,输入用户名、新密码和确认密码,点击注册按钮,注册成功后即可跳转到图6笔记信息界面进行笔记记录,如果是已经注册过的用户只需在图5中输入登录信息即可,例如:用户名为“cfy”密码“123”,点击账号登陆按钮,即可成功登陆到本应用的首页图6,就可以操作本应用的各项功能。本应用的主菜单分为四部分:笔记管理,读书计划,笔记统计和系统设置。其中笔记管理是本软件应用的主要实现部分,也是基础部分,它是用户最常用的功能,包括增删改查和搜索等功能,读书计划是根据客户的需求,把笔记分成普通笔记、工作笔记,学习笔记三部分,便于用户的记录,归类使得用户笔记信息更加清晰,功能更加人性化,记录报表项是对于用户的笔记记录数量时间进行统计,使用户直观地了解到自己定期所做的笔记记录情况,系统设置项内记录了用户的个人信息情况和账号退出功能。本应用软件所实现的功能应用相对简单,但是对于用户的日常生活需求已经基本满足,也会在今后的生活中不断完善各个功能,力求贴近用户日常需要,完善用户的各项应用功能。
记事本软件登录成功后,就可看到如图6所示的界面,页面颜色以蓝色为主,设计简洁明了,在图中可以清楚的看到笔记记录的情况,在列表中显示了笔记的题目,和笔记的时间记录等信息,如图所示:序号为1的笔记标题为“笔记”,时间为“2016-05-11”等3条信息的记录情况,查询成功。此功能满足了用户的事务记录、事物查询等简单需求。本界面为笔记管理,作为本设计的主体部分,它功能有笔记的增删改查和搜索等功能。此界面为查询页面,只需点击新增按钮,就可以直接跳转到新增页面。实现新增笔记的功能。
5.2 新增页
图7 笔记新增 图8 笔记修改
登录记事本软件后,首先进入到笔记查询界面,根据用户的需求,点击新增按钮,可以直接跳转到新增页面如图7所示,进行新增笔记。内容分为三大块:笔记主题,摘录的信息及感悟心得的记录。符合了人们的实际应用,也更加人性化,利己化。信息记录完成后只需点击保存按钮即可实现笔记的新增功能。若是用户不想进行添加信息,点击返回按钮即可跳转到之前的笔记查询页面。此功能满足了用户的事务新增你急记录内容查询等简单需求。
5.3 修改页面
登录记事本软件后,首先进入到笔记查询界面,可看到记录好的笔记,根据需求选中要编辑的笔记,点击查看按钮即可跳转到修改页面进行笔记的修改,如图8所示,当前的笔记记录为:标题“天气好”,感悟“心情也好”,摘录“微笑面对”的笔记信息,修改时可以编辑笔记的主题、感悟、摘录等项,更改其原有的内容,编辑完成后确定保存,修改的功能实现,此功能满足用户事务修改记录内容查询等简单的需求。
5.4 删除页面
图9 笔记删除 图10 笔记搜索
登录记事本软件后,首先进入到笔记查询界面,就可看到如图9所示的界面,根据用户需求点击笔记列表中想要删除的笔记能容,即左边的复选框,实现一条或是多条笔记的选择,当前界面选择的是标题为“笔记”,时间为“2016-05-11”的笔记信息,选好后点击删除按钮即可实现笔记的删除功能,在此页面中将不在出现删除的笔记信息,图中可以清楚的看到所有笔记记录的情况,满足事务删除记录的查询等简单需求。
5.5 搜索页面
登录记事本软件后,首先进入到笔记查询界面,根据用户需求,在笔记查询页面可看到搜索按钮,如图10所示,输入想要搜索笔记标题的内容,例如:工作,即可看到需要的笔记信息记录情况,图中可以清楚的看到搜索到笔记记录信息,笔记标题“工作”,时间“2016-05-11”,搜索成功。同时也可实现对查询笔记信息进行查看、删除等功能,此项功能满足了事务搜索记录等简单需求。
6. 系统的测试
为了提高系统的质量,必须使用更人性化、实用化和完整的软件测试。通过软件测试,我们可以发现很多的设计和实施都是不合理的,这对系统的改进有很大的好处。
6.1 测试的目的
通过在软硬件条件下运行,能够找到并消除系统中的一些缺陷和不足,从而避免了缺陷和错误,也证明了系统在功能、性能和需求上的合理分析。
6.2 测试的环境
操作系统:Windows 8、Java编程语言、Android手机
开发工具:SDK、Eclipse
数据库系统:SQlite
6.3 测试的内容
在系统的开发和设计过程中,对系统做出了如下的几个方面测试:
(1)功能及正确性的测试:对后台记录信息数据的增、删、改、查等操作的测试。
(2)及时正确地处理系统中的各种错误。
6.4 系统测试
(1)添加记录信息的测试用例,具体如表2所示:
功能描述:进行验证添加的记录信息的功能。
用例目的:进行验证添加的记录信息时的功能实现。
前提条件:已经进入到添加的记录信息的页面。
表2 系统添加记录测试表
序列号 输入/动作 期望的结果 实际的结果 实测的结果
1 填写错误的信息 提示添加信息失败 提示添加信息失败 弹出警告
2 输入标题和内容信息 信息记录成功在页面里显示 添加信息成功 正确
(2)修改记录信息的测试用例,具体如表3所示。
功能描述:进行验证修改的记录信息的功能。
用例目的:进行验证修改的记录信息时的功能实现。
前提条件:已经进入到修改的记录信息的页面。
表3 修改信息记录测试
序列号 输入/动作 期望的结果 实际的结果 实测的结果
1 填写错误的信息 提示添加信息失败 程序崩溃 弹出错误的信息
2 输入标题和内容信息 信息记录成功在页面里显示 添加信息成功 正确
(3)删除记录信息的测试用例,具体如表4所示。
功能描述:进行验证删除的记录信息的功能。
用例目的:进行验证删除的记录信息时的功能实现。
前提条件:已经进入到删除的记录信息的页面。
表4 删除信息记录测试
序列号 输入/动作 期望的结果 实际的结果 实测的结果
1 点击“删除”按钮 记录的信息从页面列表里消失 删除信息成功 正确
(4)查看记录信息的测试用例,具体如表5所示。
功能描述:进行验证查看的记录信息的功能。
用例目的:进行验证查看的记录信息时的功能实现。
前提条件:已经进入到查看的记录信息的页面。
表5 查看信息记录测试
序列号 输入/动作 期望的结果 实际的结果 实测的结果
1 点击“查看”按钮 记录的信息在页面里显示 查看信息成功 正确
(5)搜索记录信息的测试用例,具体如表3所示。
功能描述:进行验证搜索的记录信息的功能。
用例目的:进行验证搜索的记录信息时的功能实现。
前提条件:已经进入到搜索的记录信息的页面。
表6 搜索信息记录测试
序列号 输入/动作 期望的结果 实际的结果 实测的结果
1 填写错误的信息 提示搜索信息失败 提示搜索信息失败 弹出警告
2 输入标题信息 记录的信息在页面里显示 搜索信息成功 正确
6.5 测试总结
经过对各个不同的功能模块测试,本应用程序在基本运行上均正确,没有什么太大问题,但是由于个人能力水平有限,仍然在许多地方上需要改进,比如界面的美观,提醒时间等功能。还有在程序中存在一些技术问题没有得到完美的解决,因为一个完整的系统是需要长时间的不断的进行完善修整,才会达到完美,所以本应用程序还需要在以后的学习生活中进一步完善。
7. 结语
本软件主要是对Android系统进行的开发与设计。所以本设计是由界面显示和后台管理两部分组成,这符合了多数人的逻辑思维。本程序的特点是在界面上做了优化,同时在处理一些事务上进行了优化。用户在使用本应用程序时会体验到人性化与界面的友好。本应用程序是采用Java语言和Android系统等相关的技术,实现了界面之间的展现以及相关逻辑思路的分析和处理,用SQLite数据库来管理记录信息的增、删、改、查等一系列的操作,并且尽可能的在Android的UI设计上实现了美观。综上所述,使得本应用程序在以后的扩展和系统升级上都会有很大的空间。
通过这次完成毕业设计,使我明白了一个完整项目开发的不易,也让我进一步加深了对于数据库操作的理解,认识到开发一个完整的应用程序的流程。从一个刚开始只知道理论知识,在面对困难时懵懂无措,不断求教身边的老师同学的菜鸟,慢慢成长为一个对安卓开发有实战经验的新手,使我认识到一个优秀的程序离不了个人的不断的学习进步,也离不了程序测试,只有不断的进行测试,我们的程序才能趋于完美。