计算机毕业论文基于Android 的签到系统设计与实现
计算机专业本科毕业设计(论文)开题报告
毕业设计(论文)题目:基于Android的签到系统设计与实现
文章目录
- 毕业设计论文开题报告
- 一、课题的目的及意义(含国内外的研究现状分析):
- 二、课题任务、重点研究内容、实现途径、条件:
- 摘 要
- 1. 绪论
- 1.1. 研究背景
- 1.2. 研究现状
- 1.3. 研究意义
- 1.4. 研究目的
- 2. 系统开发环境
- 2.1. Android Studio简介
- 2.2. Visual Studio简介
- 2.3. MySQL数据库简介
- 2.4. Dart开发语言
- 2.5. Flutter 框架简介
- 2.6. C#开发语言
- 2.7. ASP.NET Core框架
- 3. 系统设计
- 3.1. 系统设计架构
- 3.2. 技术可行性分析
- 3.2.1开发前准备
- 3.2.2部署与测试
- 3.3. 非功能需求分析
- 3.3.1界面设计需求:
- 3.3.2可维护性需求:
- 3.3.4Android开发机对操作系统的要求:
- 3.4. 功能设计分析
- 3.5. 数据库表设计
- 4. 系统实现
- 4.1. 后端开发实现
- 4.1.1项目介绍
- 4.1.2 webapi项目结构
- 4.2. 前端框架实现
- 4.2.1项目介绍
- 4.2.2 flutter项目结构
- 4.3. 调用android SDK
- 4.4. android应用开发
- 4.4.1扫描二维码
- 4.4.2生成二维码
- 4.4.3发起签到要求后,获得用户签到时的位置
- 4.4.4调用指纹防作弊的api
- 4.4.5签到用户手机号码录入
- 4.5. 注册登录实现
- 4.6. 会议创建实现
- 4.7. 会议签到实现
- 4.8. 导出签到记录
- 4.9. 系统测试
- 5. 本文总结
- 6. 参考文献
毕业设计论文开题报告
毕业设计论文开题报告
毕业设计(论文)内容要求:
主要内容:
在工作和学习中,召开会议或上课均需要进行签到。传统的纸面签到效率十分低下,耗时且不便于统计。
现代组织中,用户一般具有手机,可以在手机上安装APP,利用Android提供的API,调用本机的识别信息,地理位置,指纹和时间,可以方便地进行签到,也可以十分方便地进行防范代签到。
试利用自己所学的知识,使用自己熟悉的开发语言,开发一种基于Android的签到系统,能有效防止代签到问题,多次签到后导出统计结果。要求实现的系统能正常运行。
要求:
- 设计的程序达到任务书要求,具有完整的分析设计文档,能正常运行。
- 根据系统调研、系统分析(含可行性分析)、系统设计(含数据库设计)、系统实现和测试的过程,完成论文。
- 论文结构合理、层次清楚、中心突出、语句通顺。
- 尽可能使用图、表来说明设计思想。
- 尽可能使用计算机辅助软件工程工具,规范地表达数据关系及处理逻辑。
- 论文中必须提供:①软件开发过程的描述;②重要的或者核心的源代码。
- 论文字数6000字以上。
- 严守学术道德,禁止抄袭。
`
一、课题的目的及意义(含国内外的研究现状分析):
传统的纸面签到费时费力,占用了大量珍贵时间,效率大打折扣,同时签到方式准确度不高,会出现代签,漏签情况。这一环节需要耗费一定的纸张、人工和时间成本,迫切需要一种更为高效安全的电子签名方式来解决这一问题。其次,纸质档案极易丢失,出现问题时难以整理出可用信息,同时新设备及相关信息缺乏更新。
随着时代的发展,智能手机越来越普及,越来越多的安卓手机 APP出现在人们的生活中。 因此,将纸质签到的数据经识别转换成文字信息,利用电子档案等方式进行信息存储是解决上述难点问题的最佳途径。同时,从数据安全的角度考虑,建立相应的存档数据库表(或称为历史数据库)已成为普遍要求。电子签到在日常办公中的应用,高效、便捷、移动办公的目标也逐渐成为现实。
目前的签到软件存在一些问题,指纹打卡签到软件,只需要把录入指纹的手指放在指纹打卡机上,打卡机读取用户指纹信息与数据库关联,调取用户信息,就可以完成自动签到。这种软硬件结合的打卡装置,存在一定缺陷,硬件容易出现故障导致当天的签到不能正常进行,购买指纹打卡机维护成本较高,需要排队轮流打卡签到签离,降低工作效率。这种单机、手工操作的工作方式,已不能适应现代工作的快速、网络化的要求。
同时,随着信息技术在我国的快速发展,作为支撑技术的 RFID技术被认为是最有发展前景的信息技术之一。同样是一款软硬件结合的签到系统,需要配置一个RFID 电子标签和RFID阅读器,当用户走进RFID阅读器的射频范围内的时候,就可以实现用户信息的读取,并通过RFID阅读器将信息传输至服务器中进行下一步的处理。虽然RFID技术的到来,解决了指纹打卡签到效率较低的问题,但是它的构建成本更大,也存在硬件损坏的风险。RFID技术具有诸多优点,但在实际应用中仍然存在着成本高、标准不统一等实施障碍,但它具有其他技术无法比拟的优越性,是智能化发展的必然趋势。
随着智能化技术的不断发展,手机的系统性能越来越先进,功能越来越多,各种安卓应用也应运而生。各种常用功能被整合到手机中,使得人们对手机的依赖性越来越强。目前市面上有不少基于移动终端开发的签到软件,例如钉钉、叮咚签到等,但是这些软件基本都是针对办公通讯的,增加了用户接收软件的难度,如果操作过于繁琐,界面设计不合理,必然会给软件的推广和使用带来极大的障碍。钉钉app目前不支持指纹打卡的,但是可以绑定匹配的考勤机使用指纹考勤机打卡。
对于中小型企业和一般学校来说,更偏向于使用搭建成本较低,操作简单,用户友好的签到系统。本次课题的设计在充分研究上述问题的基础上,主要是针对在工作和学习中,召开会议需要完成签到工作,能够让用户能够直接通过安卓手机访问签到系统。
二、课题任务、重点研究内容、实现途径、条件:
(1)课题任务:
解决在工作和学习中签到需求,召开会议均需要进行签到。传统的纸面签到效率十分低下,耗时且不便于统计。
现代组织中,用户一般具有手机,可以在手机上安装APP,利用Android提供的API,调用本机的识别信息,地理位置,指纹和时间,可以方便地进行签到,也可以十分方便地进行防范代签到,签到后显示并导出统计结果。
(2)重点研究内容:
- 会议签到流程
- 用户注册完善个人基础信息(手机号,姓名,密码)。
- 注册成功登录签到系统主页面(会议签到)。
- 进入会议签到页面,有两种模式:加入会议,创建会议。
- 创建会议,设置会议名称,会议说明,会议开始时间、结束时间以及入会密码等相关信息之后,点击“完成”按钮。可以看到新的会议已经创建,同时生成入会码,等待时间到达即可进入会议。
- 加入会议前,会议发起人把入会码发送到参会人员群,需要参会人手动输入入会码或扫描入会码。
- 加入会议时,早入会只能手动签到,定时入会和晚入会可以通过自动或手动签到两种方式。 中途退出会议,需要用户手动选择签退。如果到了截止会议结束时间,会议号自动签退。
- 会议结束后,自动统计签到并展示本场会议到场人数,到场人员明细。
- 展示并导出本次到场人员明细,(姓名,手机号,签到类型(自动/手动),地理位置,签到时间,签退类型(自动/手动),签退时间。
- 实现签到功能
为了防止代签到,参会人员无论采取自动或手动签到,加入会议签到时,系统自动定位,再验证指纹,接着识别人脸才可以进行签到。
系统自动签退后无需任何验证。如果手动签退时,系统默认自动定位,再验证指纹和人脸,为了防止代签退。
摘 要
本文阐述签到系统的发展现状,分析开发系统目的。设计出一个简单快速发布签到的Android平台系统。系统支持利用Android提供的API,调用本机的识别信息,地理位置,指纹和时间,可以方便地进行签到,也可以十分方便地进行防范代签到,签到后显示并导出统计结果。
本系统采用前后端分离技术,采用C#,Dart开发语言,搭建 ASP.NET Core 和Flutter框架,后端采取MySQL数据库,并且通过使用Web API技术进行访问。本文整体对签到系统进行分析,明确系统设计需求的可行性。采用模块化设计,针对数据库设计与表结构,满足数据的完整性,安全性。系统实现利用Flutter框架原生的UI组件搭建前端布局,实现注册用户个人信息,验证用户登录,创建会议生成会议号或二维码,利用手势检测器实现指纹识别通过身份验证,完成会议签到功能。最后,对于系统做出全面客观的评价,并进一步提出改进建议。
关键词:Android Dart C# Asp.Net Core Flutter MySQL
1. 绪论
1.1. 研究背景
传统纸面签到费时费力,占用大量珍贵时间,效率大打折扣,同时签到方式准确度不高,会出现代签,漏签情况。存在耗费纸张,人工和时间成本,纸质档案极易丢失这一类缺点,迫切需要一种更为高效安全的电子签到方式来解决。
将纸质签到的数据经识别转换成文字信息,利用电子档案等方式进行信息存储是解决上述难点问题的最佳途径。从数据安全的角度考虑,建立相应的数据库存档已成为普遍要求。电子签到在日常办公中的应用,高效、便捷、移动办公的目标也逐渐成为现实。
1.2. 研究现状
随着智能化技术的不断发展,手机的系统性能越来越先进,功能越来越多,各种安卓应用也应运而生。各种常用功能被整合到手机中,使得人们对手机的依赖性越来越强。传统纸面签到方式,早已不能满足网络化、便捷性的需求。
会议电子签到系统不受时间和地点的限制,对人们在工作和学习中带来极大的方便。目前市面上会议电子签到种类有条形码,二维码,IC卡,RFID,这类签到系统缺乏系统的管理方式记录会议签到信息,为了提高会议电子签到效率,所以开发了一款基于Android平台的会议签到系统。会议签到系统将通过Android手机进行整体智能化操作,可以随时创建会议,邀请加入会议,完成会议签到签退。
目前流行的手机操作系统很多,为了适应不同用户的需要,需要开发不同版本的客户端,这大大增加了软件的开发和维护成本[10]。因此,如何提高开发效率实现一套代码多端运行,降低开发成本是 Android应用开发的首要问题。
相关文章:
计算机毕业论文基于Android 的签到系统设计与实现
计算机专业本科毕业设计(论文)开题报告 毕业设计(论文)题目:基于Android的签到系统设计与实现 文章目录 毕业设计论文开题报告一、课题的目的及意义(含国内外的研究现状分析):二、课题任务、重点研究内容、实现途径、条件:摘 要1. 绪论1.1. 研究背景1.2. 研究现状1.3.…...

量化学习-02
1、宏观经济学基础概念 宏观经济简单背景 宏观经济,就是在宏观范畴以全局视角观察经济现象,分析其中的经济总量。该宏观范畴所包含的范围可以指一个国家或地区,是由众多微观个体组成的一个经济体,而这里面的微观个体可以指一个家…...

SAP_MM模块-设置业务合作伙伴类型字段必输(多种方案)
一、业务背景 公司需要把供应商增加一个细分的维度,并且要求该字段设置为必输,防止用户新增供应商时忘记维护。这里给用户找了一个分类的字段:业务合作伙伴类型,本文主要讲解如何设置该字段设置为必填; 注意ÿ…...
STM32平台上实现串口接收不定长数据-实际项目中应用
文章目录 一、中断串口监听方式初始化中断处理串口监听 二、空闲中断方式三、空闲中断DMA方式四、总结 本文将详细介绍在STM32平台上实现串口接收不定长数据的几种方法 一、中断串口监听方式 这种方式也是我早期使用的方式,直接使用寄存器来操作,这种方…...

AWD入门
一、简介 AWD(Attack With Defense,攻防兼备)模式。你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分。也就是说攻击别人的靶机可以获取 Flag 分数时,别人会被扣分,同时你也要保护自己的主机不被别人…...

T3矩阵看功率
每个像素的T3矩阵,功率等于特征值的和。 不同的像素的T3矩阵相加,可不能用特征分解的相加,因为两个T矩阵的特征向量不同...
VLMEvalKit多模态大模型评测工具源码解析
vlmeval/api和vlmeval/vlm文件夹下分别是api接口和本地运行的大模型的代码 基类都是base vlmeval/dataset是数据集处理代码 vlmeval/inference.py是推理代码 run.py的整个流程 1 vlmeval/api/base.py 主要为需要与外部API交互的系统提供了一个通用的框架 类属性 allowed_type…...

将 Docker 安装到指定目录
将 Docker 安装到指定目录 将 Docker 安装到指定目录 Docker 默认安装在 C:\Program Files\Docker\Docker,这可能会占用大量 C 盘空间。你可以按以下步骤将 Docker 安装到其他盘(例如 E 盘): 创建安装目录:在 E 盘创…...

哪些企业需要部署SD-WAN?
首先,让我们先明确SD-WAN的定义。SD-WAN,中文全称为软件定义广域网(Software-Defined Wide Area Network),通过集中化管理与流量控制,帮助企业优化网络性能,提升用户体验。与传统广域网…...
通信基站类型、频段与网络标准
【1】通信基站类型 移动通信基站根据覆盖面积和功率大小主要可以分为以下几种类型: 宏基站(宏站):这是最常见的基站类型,具有较大的发射功率和较广的覆盖范围,通常覆盖半径从1到25公里不等。宏基站主要用于…...

Java IO教程之Java 文件一口气讲完!( *︾▽︾)
Java 文件 Java IO教程 - Java文件 File类的对象是文件或目录的路径名的抽象表示。 创建文件 我们可以从中创建一个 File 对象 路径名父路径名和子路径名URI(统一资源标识符) 我们可以使用File类的以下构造函数之一创建一个文件: File(…...
如何在 Ubuntu 24 上安装 Vmware Tools
原文 Vmware Tools作用 增强图形显示性能 分辨率适配 可使虚拟机的分辨率能够自动适应窗口大小的变化。当您调整 VMware 软件窗口的大小时,Ubuntu 24 虚拟机的屏幕分辨率会随之自动调整,为用户提供更好的视觉体验,方便在不同的使用场景下进…...

内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)
内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)-含详细原理配置说明介绍 前言 远程桌面协议(RDP, Remote Desktop Protocol)可用于远程桌面连接,Windows系统(家庭版除外)也是支持这种协议的,无需安装…...

明星作家都在使用的电子书制作工具,现在向大家介绍
在数字化时代,电子书已经成为了广大读者和作家的新宠。越来越多的作家开始尝试将手中的文字作品转化为电子书,以便在更广泛的平台上推广和传播。那么,如何高效、便捷地制作电子书呢?今天,我们就来为大家揭秘一款明星…...
简单认识Maven 3-认识pop.Xml配置文件中的代码
pom.xml是 Maven 项目的核心配置文件,它包含了项目的各种配置信息,以下是对其主要内容含义的认识: 一、项目基本信息 <groupId>: 定义项目的组织或团体的唯一标识符,通常采用反向域名的格式。例如,“…...
LangChain4j系列—OpenAI开发实例
一、引入Maven依赖 1、纯Java <dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai</artifactId><version>0.35.0</version> </dependency> 2、Spring boot <dependency><groupId&g…...
Java 中简化操作集合的方法
在日常 Java 开发中,我们经常需要操作集合,如 List、Set 和 Map。虽然 Java 提供了丰富的集合框架供开发者使用,但在实际编写业务逻辑时,如何简化集合操作、提高代码可读性和效率,依然是一个经常遇到的问题。特别是随着…...
ArcGIS Pro SDK (十七)宗地结构
ArcGIS Pro SDK (十七)宗地结构 环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 宗地结构 1 获取活动记录 string errorMessage = await QueuedTask.Run(() => {...
D. Co-growing Sequence
传送门:Problem - 1547D - Codeforces 题意:给定一个 数组 a , 构造一个数组 b ,使得 ( a[i] ^ b[i] ) & ( a[i 1] ^ b[ i 1] ) a[i] ^ b[i] 思路:(二进制题目) 设 a[i] ^ b[i] t 我们要让…...

docker配置加速器
阿里云 控制台》容器镜像服务》镜像工具》镜像加速器 复制地址:https://ywtoq7bz.mirror.aliyuncs.com 到:etc/docker下:vi daemon.json 格式: { "registry-mirrors": ["加速器地址"] } 注࿱…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...