基于安卓的图书管理APP系统设计毕业论文
2020-02-23 18:20:28
摘 要
在这个信息、数据大爆炸的时代,科技发展一日千里,社会竞争愈来愈激烈,我们对信息的获取也向着更快、更多、更便捷的目标前进着。手机功能日益强大,传统的图书管理系统耗时费力并且使用极为不便,而安卓技术可以很好的解决这个令人头疼的问题。通过安卓技术设计一款手机app图书管理系统,使得我们可以随时随地享受图书馆带给我们的知识与乐趣。
安卓管理系统通过为用户提供更快捷的服务,提升用户满意度,提高图书管理效率,同时也能促进图书馆的发展,提高其竞争力。
本系统在安卓平台下设计,运用android studio进行开发,realm数据库作为后台。本研究基于安卓平台图书管理客户端,按照软件开发的步骤,对软件开发过程中所运用的理论知识和相关技术进行了详细的阐述,并对系统进行了详细的实现过程。
关键词:图书管理;android ; app ; realm数据库
Abstract
In this era of information and data explosion, the development of science and technology is a great day, and the competition of society is becoming more and more intense. The acquisition of information is moving forward to the goal of more fast, multi and convenient. The function of mobile phone is becoming more and more powerful. The traditional library management system is time-consuming and laborious and very inconvenient to use. Android technology can solve this headache problem well. Through Android technology, we design a mobile app library management system, so that we can enjoy the knowledge and fun brought by the library whenever and wherever we want.Android management system provides users with faster service to improve user satisfaction, improve the efficiency of library management, but also promote the development of the library and improve its competitiveness.
The system is designed under Android platform, developed by Android studio, and realm database as background. This research is based on the Android platform library management client. According to the steps of software development, the theoretical knowledge and related technologies used in the software development process are described in detail, and the system is implemented in detail.
Keywords: library management;Android;App;realm database
目 录
摘要
Abstract
1绪论
1.1研究背景与意义
1.2选题内容与技术方案
1.3国内外研究现状
2系统分析
2.1需求分析
2.2可行性分析
2.2.1技术可行性
2.2.2经济可行性
2.2.3市场可行性
2.3系统业务流程分析
3系统设计
3.1安卓系统构架
3.1.1应用程序框架
3.1.2系统运行库
3.2系统模块设计
3.2.1公共模块
3.2.2学生模块
3.2.3管理员模块
3.3数据库表的设计和用例图
4 android studio介绍
4.1安装及配置
4.2主要功能模板介绍
5 realm介绍
5.1基于realm数据库的简易图书管理
5.1.1创建student类继承realmobject
5.1.2创建book类继承realmboject
6系统实现
6.1登录界面
6.2学生信息管理界面
6.3图书管理界面
6.4添加图书代码
7系统测试
7.1黑盒测试
7.2白盒测试
7.3本系统将采用黑盒测试对系统功能进行测试
8系统评价
8.1系统不足
8.2系统扩展
致谢
参考文献
1 绪论
1.1研究背景与意义
21世纪,随着手机行业的迅猛发展,智能手机功能的不断完善,华为、三星、小米、苹果等公司间的不断竞争,手机已经成为我们生活中不可或缺的一部分。智能手机主要分为IOS和android两大阵营,IOS流畅、高效、封闭且能够培养用户习惯,拥有顶级硬件配置,更受高端智能手机用户喜爱。而android凭借兼容性、开放的特性,成为了中低端手机用户的垄断者。最新资料显示,安卓系统在手机市场份额早已占据榜首。国产手机大部分也都是安卓系统,安卓的APP开发便拥有了庞大的用户群体。
安卓APP开发的越来越火,也促生了不少APP软件开发公司。如今各种手机APP软件也极大改善、方便了人们的生活,社交、旅游、游戏、各种工具的APP软件可以说是无处不在。
众所周知,传统图书馆的管理过程主要依赖手工。一个最典型的手工处理就是过程就是:学生要前往图书馆,在茫茫书海中找到自己心仪的图书,然后将校园卡交给工作人员进行借阅图书的信息登记。还书过程同样繁琐无比,后来随着计算机技术的兴起便逐渐诞生了网页版的图书管理系统,但依然存在弊端:不够便捷高效。那么图书管理若是有一款智能终端系统,把资源、社交结为一体,为用户提供更为快捷、高效的服务,既能为我们提供随时随地享受图书管理的传统服务,也可以为图书管理系统提供更为广泛的客户。于是基于安卓APP的图书管理系统便应运而生。
本简易的图书管理APP系统便是依据以上目标设计,方便读者查询图书信息、借阅并使管理员能够在移动端为用户提供服务。
1.2 选题内容与技术方案
选题内容:在熟悉安卓技术的前提下,运用该技术设计与实现一个图书管理系统,该系统要具有一般图书管理APP应有的功能。
设计内容上本系统是根据学校图书管理流程设计,主要包括学生信息管理和图书信息管理模块。具体实现功能有用户注册与登录,图书信息添加与删除、修改、查询,学生信息增删改查,图书借阅以及到期提醒。
技术方案方面本系统基于android平台,使用xml进行编写,android studio为开发工具,realm为数据库,方便在计算机与手机端、模拟器等设备上运行。预期能够达到图书管理的基本功能。
1.3国内外研究现状
国内的android开发目前主要为应用开发,包含企业开发、开发通用以及游戏开发。App开发分为企业与个人开发,企业主要以展示企业文化、凸显企业实力,而个人开发则偏向于娱乐。
今年一月份的美国市场调查显示,google android系统占据了59%的广告网络流量,这说明了安卓市场已经成为了如今手机市场的主流,而在中国,更为成熟与庞大的消费者群为安卓的迅猛发展提供了保障。就业前景方面,国内的安卓研发人才缺口有30万之多。想要从事android开发,除了要掌握基本的计算机知识外,还需要根据企业以及岗位的需求补充相关的android知识,目前android的人才需求占总需求的72%。
无论是各种手机应用还是手机游戏,越来越影响着我们的生活,譬如为某公司、店铺写一个app应用,为某电视剧、小说做一个手机小游戏,安卓app的开发变得越来越多样化和功能全面化,在目前大环境良好的国内有着极为巨大的潜力且越来越火。
2 系统分析
2.1需求分析
本简易的图书管理系统的需求十分简单。作为学生,需要有登录功能,查看图书信息,借阅图书3个主要功能;作为管理员,需要有管理学生信息,管理图书信息(包括增删改查),到期提醒以及登录功能。各个模块具体需求如下:
图书查看:可以分为书名查找,作者查找以及出版社查找,因为查询结果便也包含书名、作者以及出版社等信息;
登录功能:分为学生登录和管理员登录,同时只能以一种方式登录;
学生信息编辑:由管理员对学生的姓名、学号、电话进行编辑与更新;
图书信息编辑:由管理员对书籍进行增删改查等操作;
到期提醒:由管理员对即将到期的图书进行邮件提醒。
2.2可行性分析
2.2.1技术可行性
技术上的可行性取决于硬件、软件配置能否顺利满足开发者的需求,相关技术能否达成目标。图书管理系统旨在搭起学生与图书馆之间沟通的桥梁,使得相互之间可以传达信息、处理信息。本系统运用xml进行编写,android studio进行开发,运用realm搭建数据库,软件硬件上来说都是没问题的。
2.2.2经济可行性
经济上的可行性包括软件开发费用、管理与维护费用、基本建设费人员工资和培训费等。安卓系统开源的特性使得开发者不需要支付额外的软件费用;图书管理系统相对简单、消耗的人力资源仅我一人。唯一需要考虑的是前期购置图书需要资金,但是开发完成后对系统进行进行了宣传,为使用者带来方便,收益将超过投资,因而经济上no
Problem。
2.2.3市场可行性
系统的开发需要通过用户的使用量来说明其价值,不然就是“亏本”。此简易系统依托智能机市场占有率最高的移动终端平台,以普及量带来该系统的市场。学生只需要在手机上搜寻便能省去图书馆排队等待和抄取书号的繁琐,通过过期信息通知减少忘记还书带来的经济损失,通过搜索便能知晓图书的可借与否、存在与否。诸多便利势必会提升用户的满意度,进而促进图书馆的良好发展。
综上所述,安卓图书管理app设计是可行的!
2.3系统业务流程分析
图书管理系统主要分为两部分:学生端和管理端,学生端有查询图书、借阅图书;管理端有学生管理、图书管理、管理员管理。基本处理流程如下图所示:
开始
选择
学生端
管理端
输入账号密码
输入账号密码
验证
验证
是否通过
是否通过
选择服务
选择服务
管理员管理
图书管理
学生管理
借阅图书
查询图书
结束
2.1基本处理流程图
数据流程图则描述了图书管理系统的数据流,展示了学生和管理员在系统中的各种操作和数据流动如下图所示:
学生
管理
系统
管
理
员
学生管理 查询图书
图书管理 借阅图书
管理员管理 操作通知
操作通知 信息反馈
信息反馈
2.2数据流程图
3系统设计
3.1Android系统构架
Android系统构架是安卓系统的体系结构,android的系统架构和其操作系统一样,采用了分层的架构,共分为四层,从高到低分别是Android应用层,Android应用框架层,Android系统运行层和Linux内核层。分为四层,从高到低分别是Android应用层,Android应用框架层,Android系统运行层和Linux内核层。
Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
3.1.1应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
*丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textBoxes),按钮(buttons),甚至可嵌入的web浏览器。
*内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
*资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
*通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
*活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
3.1.2系统运行库
1)程序库
Android包含一些C/C 库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:
*系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的。
*媒体库-基于PacketVideoopencore;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
*SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
*LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
*SGL-底层的2D图形引擎
*3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
*FreeType-位图(bitmap)和矢量(vector)字体显示。
*SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
2)Android运行库
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的“dx”工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
Android系统架构之Linux内核
Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。
3.2系统模块设计
图书管理系统
公共模块
管理员模块
学生模块
到期提醒
图书信息维 护
学生信息维 护
登录
借阅图书
登录
图书查询
3.2.1公共模块
图书查询:分3种查询方式,书名,作者,出版社;查询结构也包括书名、作者和出版社。
3.2.2学生模块
学生登录:输入帐号密码,验证通过即可登录系统;
借阅图书:通过操作可对自己感兴趣的空闲图书进行租借。
3.2.3管理员模块
编辑图书信息:可对图书进行增删改查的操作,既可以添加新书入库,也可以删除图书信息;
编辑学生信息:可对学生的信息进行查询与修改、删除操作;
管理员登录:输入帐号密码,验证通过即可登录系统;
过期提醒:对借阅即将到期或者已经到期的学生可通过发信息进行提醒。
3.3数据库表的设计与用例图
- 学生信息表:记录学生基本信息。
字段名 | 数据类型 | 字段大小 | 是否主键 | 是否为空 | 说明 |
S_Name | Varchar | 50 | 否 | 是 | 姓名 |
S_Num | Varchar | 20 | 是 | 否 | 学号 |
S_Phone | Varchar | 11 | 否 | 是 | 电话 |
3.1 student表
(2)管理员信息表:记录管理员基本信息。
字段名 | 数据类型 | 字段大小 | 是否主键 | 是否为空 | 说明 |
M_ID | Varchar | 20 | 是 | 否 | 管理员ID |
M_Pwd | Varchar | 50 | 否 | 是 | 管理员密码 |
3.2 Manager表