Android:安卓开发使用okHttp进行网络请求和MySQL数据库完成图书馆管理系统APP

news2024/10/6 16:31:49

1、总体目标

1.1 项目概述

项目名称:基于安卓平台的图书管理系统。
本项目旨在研发一个图书管理系统,实现图书馆的信息化管理。在方便用户在线浏览,借阅,归还图书,方便图书馆管理员对图书进行管理。能很好的为用户提供方便,用户能通过它能随时随地的了解系统的实时信息,做到信息的实时化。可以有效地节省资源并且可以有效的存储,更新和查询信息,提高工作和服务效率。

1.2 项目意义

任务概述:

图书管理系统旨在确保系统的稳定,高效运行,为用户提供便捷,高效的图书借阅服务。图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。自图书管理系统出现以来,给人们的图书借阅提供了很大的便利,打破了传统图书管理方式对书籍的检索困难、管理效率低的困境。网上图书管理系统简化了图书检索、图书入库、图书流通、借阅者管理等业务流程,明显的减少了图书管理人员的工作量,节省了借阅者检索书籍的时间,在图书管理过程中起着相当重要的作用。

目标:

减少人力成本和管理费用,提高图书管理效率;
提高信息的准确性和信息的安全性;
提升资源利用效率,从而提高网络信息资源的利用率;
改善用户体验,提供更加优质的服务,快速且实用性更高;
促进用户体验,促进知识传播,培养用户阅读习惯;
减少纸质图书的使用,有助于减少资源浪费;

用户特点:

本系统最终用户群体多样,包括学生,教师,图书管理员,普通读者等。大多数用户都具有一定的教育背景,具备基本的计算机操作能力和阅读能力。不同用户可能有不同的使用习惯和偏好。图书管理系统需要根据不同用户的需求和偏好进行个性化设计。确保信息的准确性和安全性。

2、需求与可行性分析

2.1系统可行性分析

本次项目设计基于windows系统下,运用Adnroid开发,后端技术采用的是Mysql数据库和Java语言实现,总体的可行性共分为以下三个方面。

业务现状分析

图书馆管理需要的人员复杂,信息量复杂庞大,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书馆管理人员来说,图书馆管理包括图书信息管理、读者管理、借阅信息管理、归还管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便,因此,开发这样一个网上图书管理系统。让管理员方便的管理图书及用户信息,方便用户查找图书。
解决方案和计划
本系统针对图书馆的工作特点,设计了用户管理、图书管理、借阅管理等系统。应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理效率,使管理更加现代化。本系统通过计算机技术实现图书信息和用户信息的管理,减少了人力成本和管理费用,提高信息的准确性和信息的安全;良好的人机交互界面,操作简便;本系统是根据实际情况和具体内容,按一定的要求、科学、合理进行系统分析,设计,具体包括菜单设计、数据输入、查询、删除、修改、添加等各种设计。
图书管理系统采用的技术和框架都是开源免费的,开发工具,Androidstudio,idea,客户端采用android开发,使用xml来编写UI布局,使用Java语言来实现客户端底层逻辑,通信模块使用okHttp来实现。服务器端采用Tomcat来访问,使用servlet服务来实现服务器端代码。数据库是Mysql数据库来存储数据。

投入产出分析

原来图书管理处理中心进行信息管理的主要方式是基于手工处理,最多是用计算机的文本系统打印一些清单,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。现在准备建立的图书管理系统,要把图书馆的图书管理、读者管理、图书借阅管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。
图书管理系统主要包含借阅图书,还书,添加图书,删除图书,延迟还书处罚,发布公告等功能。

2.2系统需求分析

需求概述

该系统主要建立一个基于安卓开发的图书馆借阅管理系统,该系统可以实现三个用户类型的使用:
1.对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书,借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。
2.对于图书管理员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。
3.对于系统超级管理员可以对图书信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作,对图书管理系统进行修改维护等操作功能。
登录功能:读者、图书管理员,超级管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。
系统设置功能:图书管理员可以设置图书的相关的参数信息。
用户管理功能:对系统用户进行添加,修改,删除,权限设置等操作。
图书查询功能:对图书,借阅历史,读者用户等信息进行查询。
借还管理:对读者借阅过程中的相关记录进行处理,包括借阅申请、归还登记、逾期催还等操作。
其他功能:图书管理员可以修改自己的密码,并且拥有其他用户所拥有的所有功能。

功能性需求

(1)登录系统:分学生登录与管理员登录,超级管理员登录三种用户类型。
(2)用户管理:对用户的类型和用户的档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信息,管理不同类型读者借阅图书的数量。
(3)图书管理功能:包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。
(4)图书借阅功能:可以完成对读者借阅,续接和还书的操作。
(5)归还管理:图书归库,显示图书信息,借阅人,以及借阅是否过期,过期天数等。
(6)未归还图书查询:管理员可按条件查询当前未归还的图书的记录。
(7)读者管理功能:系统查询功能:查询图书相关资料,借阅历史和借阅到期管理。
(8)修改密码功能:可以修改自己的登录密码。

功能层次图

图书管理系统涉及到的功能包括:系统管理,图书管理,读者管理,规格管理,借阅管理等,现就系统的主要功能层次图进行展示。
在这里插入图片描述

数据描述

静态数据
1)图书信息:(编号,图书名称,图书类型,作者,价格,出版社,数量)
2)图书类型:(编号,名称,可借阅天数)
3)读者信息:(编号,姓名,性别,读者类型,出生年月,登记日期,电话,邮箱)
4)读者类型:(名称,可借阅图书本数)
5)图书借阅信息:(图书编号,读者ID,借出时间,应还时间,是否归还)
6)图书归还信息:(图书编号,读者ID,归还时间)
7)用户:(编号,用户名称,密码)
8)图书馆信息:(编号,名称,馆长,电话,地址,邮箱,创建日期,简介)
动态数据
输入数据:鼠标对按钮的点击,查询方式,查询关键字,新建图书,读者记录修改,借阅,归还,丢失。
输出数据:查询关键字确定的数据库记录,统计结果,信息录入,删除结果,图书借阅,返还,丢失。

数据流图

1.顶层数据流图
在这里插入图片描述
2.0层数据流图
在这里插入图片描述
3.1层数据流图
(1)图书信息管理
在这里插入图片描述
(2)图书借还管理
在这里插入图片描述
(3)读者信息管理
在这里插入图片描述

5、系统实现

5.1登录功能

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2添加功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3修改功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4删除功能

在这里插入图片描述

5.5 注册功能

在这里插入图片描述

6.总结

在Android的开发环境下,以安卓为平台,运用Java编程语言和okHttp进行网络请求和MySQL数据库完成了图书馆管理系统APP。系统基本上实现了预期的各项功能,达到了报告中的主要设计内容的各项任务,整个系统也在经过测试和不断地改正之后能够顺利运行。基本上实现了报告中的需求设计到程序编写,该系统能够实现读者在本系统的应用下可实现查询图书。图书管理员能够实现对图书进行查询,便捷的对图书信息进行添加、修改、删除等操作,对读者信息进行相关添加,修改等操作。

需要源码和报告私信我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始理解Linux中断架构(7)--- Linux执行上下文之中断上下文

1 中断处理程序的基本要求 当前运行的loop是一条执行流,中断程序运行开启了另外一条执行流,从上一节得知这是三种跳转的第三类,这个是一个大跳转。对中断程序的基本要求就是中断执行完毕后要恢复到原来执行的程序,除了时间流逝外,原来运行的程序应该毫无感知。 具体到Armv…

如何设计一个短信发送功能

本文主要分享了如何设计一个发送短信功能。 一、总结简述 1.梳理多个平台短信API的发送参数,集成封装提供统一的API,支持多个短信平台(阿里云、腾讯云、百度云、京东云、七牛云)灵活切换 2.提供存储方案,表结构设计…

Redis数据库操作

Redis 命令参考 — Redis 命令参考http://doc.redisfans.com/ 1、Redis,远程词典服务器,是一个基于内存的键值型NoSQL数据库 特征: 键值型,支持多种不同数据结构,功能丰富 单线程,每个命令具备原子性 …

C语言督学营(中级阶段)

文章目录 中级阶段9.数据结构概述逻辑结构 与 存储结构时间复杂度、空间复杂度 10.11.12.线性表 (代码实战)线性表的定义、特点1.线性表的顺序存储(顺序表示):顺序表静态分配动态分配顺序表的定义、初始化、插入、删除、按值查找、按位查找 操作 (代码):…

go开发多云资产管理平台

go开发多云资产管理平台cmdb 代码仓库github.com/yunixiangfeng/gocmdb 云主机管理 主机资源监控 开发流程 Welcome to Beego | Beego bee new gocmdb/servercd gocmdb/servergo mod tidygo get -u github.com/beego/beego/v2 go get -u "github.com/astaxie/beego/o…

津津乐道设计模式 - 模版模式详解(以女友化妆流程带你彻底明白)

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…

JDBC-->java如何连接数据库(详细版小白必备)

个人名片: 🐅作者简介:一名大二在校生,热爱生活,爱好敲码! \ 💅个人主页 🥇:holy-wangle ➡系列内容: 🖼️ tkinter前端窗口界面创建与优化 &…

工业相机——显微镜头/放大镜头

校准尺,最小测量刻度为0.1mm 上图为手机拍的看不清,放了一个网上找的图,校准的详细参数见下图 例如:物距为116mm的显微镜头,这种镜头没有景深,只能测镜头前端到物体116mm的物体 ,几乎没有景深&a…

Vscode配置C/C++环境出现报错,导致不能运行代码,报错如下:

Vscode配置C/C环境出现报错,导致不能运行代码,报错如下: 问题描述—gcc : 无法将“gcc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次…

Hexo博客搭建 —— Next主题配置

Hexo博客搭建 —— Next主题配置 文章目录 Hexo博客搭建 —— Next主题配置配置文件区分站点配置文件主题配置文件 配置文件描述简称引入next主题-sitenext主题页面模式设置-next设置首页不显示全文-site设置博客文章持久化连接-site下载插件URL Setting 参考文档 配置文件区分…

【Docker】一文了解DockerFile

文章目录 Dockerfile 概念DockerFile的指令1、FROM 指定基础镜像2、RUN 执行命令3、COPY 复制文件4、ADD 更高级的复制文件5、ENV 设置环境变量6、EXPOSE7、VOLUME 定义匿名卷8、CMD容器启动命令9、ENTRYPOINT入口点10、USER 指定当前用户11、WORKDIR 指定工作目录12、LABEL为镜…

网络安全、Web安全、渗透测试之笔经面经总结含答案

以下为网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作。 注:本套面试题,已整理成pdf文档,但内容还在持续更新中,因为无论如何都不可能覆盖所有的面试问题&#xf…

4、数据库操作语句:聚合函数

目录 1、定义 2、常用的聚合函数 1)Avg/sum:只适用于数值类型的字段(或变量)。 2)Max/min:适用于数值类型、字符串类型、日期时间类型的字段(或变量) 3)Count: ①作…

一起来学孟德尔随机化(Mendelian Randomization)

孟德尔随机化最近实在是太火了,想不关注都不行,最近也花了点时间研究了一下,和大家分享一下,共同学习。 什么是孟德尔随机化? 在19世纪,孟德尔用豌豆花作为实验材料,通过对豌豆花颜色、形状等特…

ESP-BOX的GUI移植

因为squareline studio软件中适配了ESP-BOX,所以作者本想直接使用该软件创建的工程,但是会出现花屏的现象,也不知道是不是没有做好esp-box-lite的适配。 因此只能先用squareline studio设计好GUI,然后再导出其代码,在其…

jmeter-13-使用JSR223断言(推荐)

文章目录 前言一、JSR 223 进行断言二、总结 前言 之前都在使用 BeanShell 前后置、断言等,但是查看官方文档时发现推荐使用 JSR223 其实 BeanShell 是 JSR223 里面的一种,下面我们继续了解下。 官网介绍:Apache JMeter - User’s Manual: C…

【数据分享】1929-2022年全球站点的逐月平均露点数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

ffmpeg+nginx-rtmp转发视频流

本篇博客最早发布于实验室公共博客,但已无人维护,现迁移至个人博客 nginx与nginx-rtmp-module安装 画了好几天图,实在有些乏力,找点有意思的事情做做 觉得视频流传输挺有意思,B站找了些视频,但感觉有些大…

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

一、论文简述 1. 第一作者:Likang Wang 2. 发表年份:2022 3. 发表期刊:ECCV 4. 关键词:MVS、3D重建、重要性采样、无监督误差分布估计 5. 探索动机:以粗到细的方式预测深度图,部分缓解了对于分辨率的限…

Apache James邮件服务器搭建(linux)

1、配置jdk,此处不再赘述,随便搜一下然后照着操作即可 注意:后续james的版本是3.5.0,需要与jdk8配套 2、下载apache james ,apacheJames 下载之后可以直接运行,无需安装 注意:此处选择3.5.0版…