基于android的课堂签到系统.docx
- 文档编号:5515884
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:19
- 大小:210.95KB
基于android的课堂签到系统.docx
《基于android的课堂签到系统.docx》由会员分享,可在线阅读,更多相关《基于android的课堂签到系统.docx(19页珍藏版)》请在冰豆网上搜索。
基于android的课堂签到系统
本科毕业论文(设计)
题目基于Android的课堂签到系统
学生姓名XXX
指导教师XX
学院信息科学与工程学院
专业班级运算机科学与技术0908班
完成时刻2021年5月
摘要
在大学课堂中,签到问题一直困扰着教师和同窗们。
传统课堂签到的手腕大多是老师依照花名册点名或让学生自行签到。
现今课堂上的学生数量大,教师需要花费很多时刻点名,大大阻碍了教学质量。
让学生自行签名尽管比较节省时刻,但却无法解决学生代签的问题,学生代签会使得签到的结果不能准确反映实际的出勤情形。
另外,传统的签到方式将产生大量的签到数据,对这些数据的治理与分析给教师们增加很多的负担。
针对传统课堂签到产生的各类问题,本文介绍了一个基于Android(安卓)系统平台的课堂签到系统,系统通过蓝牙连接技术实现数据通信。
签到系统不仅方便课堂签到,而且所得签到数据能准确反映出学生出勤情形,系统还提供了关于签到数据的治理功能,方便教师对签到的结果进行统计、分析。
关键词Android系统,课堂签到,蓝牙
ABSTRACT
Intheuniversityclassrooms,questionsofattendanceregistrationistroublingourteachersandstudents.Thetraditionalwayofregistrationisteacher’srollcallormakingstudentssignintherosterbythemself.Nowadays,therearemanystudentsinoneclassroom,teacherswillspendlotsoftimeonsingingnames,greatlyinfluencestheteachingquality.Letstudentssigninbythemselvesthoughsavetime,itcan’treflectactualattendancebecausestudentswillcheat.Inaddition,thetraditionalwayinattendancewillproducelargeamountofdata,makesteachersspendlotsoftimetomanagethesedata.
Againstthequestionswhichcausedbythetraditionalclassroomregistration,thispaperintroducesaclassroomregistrationsystembasedonAndroid,usedBluetoothtoachievedatatransmission.Thissystemachievesconvenientregisterinclassroom,andtheattendancedatacanaccuratelyreflectthestudents'attendance,thesystemalsoprovidesfunctionstomanagedatafortheteacher.
KEYWORDSandroid,classroomregister,bluetooth
第一章绪论
课题背景
现今最热点的电话系统平台无疑是Android,Android一词的含义是“机械人”,Android的图标是一个绿色的机械人。
在竞争日趋残酷的移动终端领域,那个“绿机械人”凭借着自身的独特的特性取得了大多数用户的青睐,使得Android在近几年的进展快速而又稳固。
Google公司在2007年推出了一款基于Linux的开源电话操作系统,取名Android(也确实是安卓)。
该系统的设计让人为之亮眼。
Android平台的设计采纳了Linux系统的框架,包括了操作系统、中间件、应用软件和用户界面[1]。
Google宣称Android系统是一个完全开放的移动终端平台。
随着物质水平的提高和移动通信行业的进展,几乎人人都有一部属于自己的电话,电话成了人们生活中必不可少的工具。
在那个互联网高度进展的时期,Google的Android以其人性化的界面和独树一帜的性能优势在相当短的时刻内占据了智能移动设备的市场份额。
随着Android平台的快速普及和利用,Android电话应用的关注度愈来愈高。
Android开发技术是现今一个相当热点的技术,涉及得电话通信、电话游戏、经常使用应用等方面。
现今利用身旁的Android电话解决日常问题的条件也趋于成熟,电话在日常生活的应用称为了一大核心。
传统的课堂签到费时费力而且容易产生疏漏,上课教师点名的形式很古老、相当占用课堂时刻同时令人反感,以文本的形式进行签到数据的治理效率低下。
本文介绍一款基于Android电话平台下蓝牙通信的课堂签到应用程序。
Android系统是现今最热点的智能电话系统,基于Android系统的应用程序的开发技术已相当做熟。
现在的蓝牙技术进展得已经超级成熟,蓝牙设备的普及率高,几乎每台Android电话都搭载了蓝牙功能。
蓝牙的通信范围、传输速度等特性很适合进行课堂签到的要求。
利用已经普及的Android电话进行课堂签到能更快速更准确得进行课堂签到。
课堂签到是大学生活的一个常见问题,本课题的提出是为解决师生的签到问题。
课题任务
本课题的任务是设计并实现一款能在电话终端运行的系统,该系统基于Android开发技术,能在Android平台下流畅地运行并实现帮忙课堂上的教师学生方便进行签到的功能。
系统能够帮忙教师对那时学生的出勤情形进行准确的统计,统计的数据能直观地反映出那时课堂学生的出勤情形。
系统能够帮忙学生利用手中的电话终端方便快捷地进行签到,学生利用电话发送个人信息到教师的电话效劳器端从而实现学生自身的签到。
设计的签到系统要实此刻签到的时段内教师的无操作,教师无需具体操作只需对签到结果进行查看治理即可。
设计的系统的目标不仅是能够提高点名的效率节约课堂时刻,同时能够幸免代签等不良现象保证签到的平安性,使得关于课堂签到的考评更显公平性。
进展现状
相较于Symbian的日落西山,和苹果的封锁、Windows Phone的前途未卜,Android无疑代表了当前行业进展的主流趋势:
开放平台取代了封锁平台。
让参与者均能通过自己的尽力而获益。
通过这几年的进展,Android已经进展成了一个平台、一个生态体系。
此刻Android在移动领域已经取得了普遍的应用。
目前国内的Android开发要紧以应用开发为主,要紧分成3类:
为企业开发应用、开发通用应用(在Android Market或其他App Market销售)和游戏开发。
第一类开发者一样身处规模较大的公司,这些公司要紧为自有品牌或其他品牌设计电话或平板电脑的整体方案。
除依照需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。
第二类开发者,一样处于创业型公司或是独立开发者,他们的盈利方式主若是2种:
为国外公司进行外包开发,或通过Google的移动广告(AdMob)通过广告点击分成。
而理论上的通过付费下载的形式来盈利的,此刻国内鲜见成功者。
第三类开发者,目前和第二类开发者类似。
论文结构
本篇论文介绍了一个基于Android的课堂签到系统。
本篇论文结构如下:
第一章绪论简单介绍了那个课题任务的背景和课堂说要达到的目标。
第二章介绍了本系统开发所用到的技术,包括Android应用开发技术及Android背景、蓝牙技术、大体网络通信和数据库。
第三章对本系统进行了需求分析,依照系统需求分析对系统进行简单的设计。
第四章对系统进行深切的研究对系统进行详细的设计来实现系统功能,并提供了部份核心代码。
第五章对体统进行了测试,提供了测试方式、流程及测试的结果。
第六章本人关于本课程设计的结果分析和对本签到系统的展望,并指出一些还能改良的部份。
论文最后列出了本篇论文所引用到了的参考文献和致谢词。
第二章相关技术及背景介绍
系统介绍与开发环境搭建
Android系统简介
有着“Android之父”之称的的开办了一家名为Android科技公司()的公司,该公司主若是开发一个名为Android的系统[2]。
以后Google公司兼并了公司,可是Google并无停下对Android的开发和运营。
Android系统的开发是基于Linux内核,由Linux操作系统衍生出来的针对移动设备的开源操作系统[3]。
Android操作系统利用开放免费代码许可证,一切代码都是公布免费[4]。
采纳了可细分成三个层面的软件堆(softwarestack,又称为软件叠层)架构,底层以LinuxKernel为基础。
随着Android的进展而Android又有开源的特性,以后Android再也不是由Google一家独立开发。
然后显现了由Google公司宣布组建的开放电话联盟(OpenHandsetAlliance),该联盟包括电话制造商、电话芯片和移动运营商组成,支持并一起开发Android那个开放源代码的移动系统[5]。
Android的平台特性
(1)开放性
提及Android系统平台,第一反映确实是“开源”和“开放”,Android系统开源是指所有人都能取得Android的源代码,并对Android的源代码进行修改。
开放性是Android系统平台最大的亮点,显著的开放性使得Android拥有众多的技术开发者。
不仅是个人开发者,众多的移动终端厂商也加入到了Android进展联盟中。
Android拥有如此众多的用户、应用开发者、硬件设备提供商增进了那个富有朝气的系统平台的快速进展,在不久的以后将愈来愈趋于成熟。
Android的快速进展是由于其开放性是毋庸置疑的,系统的开放性增加了系统自由度使得系统更为人性化,人性化的特性更易吸引消费者和厂商。
开放性关于消费者来讲,最大的收益是丰硕的应用软件资源。
开放性给Android会带来更强的生命力和活力。
如此一来,Android的进展就更为健康[6]。
(2)丰硕的机型选择
Android电话摆脱了之前电话机型单一的境界。
可供选择的机型再也不像苹果那样只有一种,不需要忍受Nokia电话那种永久不变的风格。
Android可供选择的机型外形各式各样,功能丰硕。
Android有着多种多样的机型选择专门大程度和Android的开放性有关。
(3)个性的DIY
Android系统为用户提供了专门大的可操作性空间,Android用户能够定制自己喜爱的用户界面,选择方便有效的经常使用软件,用户能够方便地对系统进行升级,乃至自己配置属于自己的Android系统[6]。
(4)Google应用的支持
Google关于Android的支持是Android得以快速地进展的重要因素,Google对Android进行开发并提供一些大体的应用效劳。
使得Android能够无缝地利用经常使用的Google应用效劳,如Gmail、GoogleMap等。
Android系统架构
Android结构分为四层,别离是应用层、应用框架层、系统运行库层和Linux内核层[7]。
图Android架构
(1)应用层
Android应用层中的应用程序是运行在Dalvik虚拟机上,这些应用程序由Java语言编译而成。
Android系统有一个核心应用集合,包括联系人、地图、拨号、短信等经常使用应用。
(2)应用程序框架层
Android作为一个完全开放的平台,开发者能够开发多种多样的应用程序。
开发者能够自由访问核心应用程序所利用的框架API。
如此的体系主若是为了简化了组件的重用,利用其他应用的设计框架便于应用程序的开发,可是开发者必需遵守应用程序架构的原那么。
每一个应用程序简单讲确实是一组效劳和系统,其包括有:
视图(View)、ContentProvider、资源治理器(ResourceManager)、NotificationManager、ActivityManager。
(3)库和系统运行库
Android库有C/C++库和系统运行库,Android的开发者们能够通过Android应用程序框架来利用系统提供的组件。
Android核心库有:
系统C库、界面治理、3D库、SQLite、媒体库、FreeType、SGL和LibWebCore。
Android运行库包括一个核心库的集合,Android的每一个应用程序都是运行在Dalvik虚拟机上。
Dalvik只支持.ded文件格式,.ded格式适合内存小、处置器速度受限的系统。
(4)Linux内核
Android系统效劳以Linux特有的内核系统效劳为基础,如基于权限的平安规那么、优越的进程治理和内存治理、普遍认可的驱动模型和网络协议。
LinuxKernel作为软硬件之间的抽象层,在对上层提供效劳时隐藏了基层的硬件细节。
Android应用程序开发组件
(1)Activity
简单讲,Activity是Android应用程序与用户进行人机交互的界面。
Activity的功能确实是把应用程序以直观的界面呈现给用户,所有效户能见到的都能够可称之为Activity。
(2)BroadcastReceiver
Android系统的每一个事件都会产生一个信息并在系统中进行广播,那个信息也确实是Broadcast。
BroadcastReceiver会接收它感爱好的广播并触发一些行为。
(3)Service
Service运行在Android系统后台,Service与Activity能够说是同级。
可是Service与Activity有专门大的不同,Activity是Android应用为用户提供可视的界面,而Service是运行在后台关于用户来讲不可见无界面的效劳。
(4)ContentProvider
ContentProvider是Android开发重要的组件之一,是应用程序之间共享数据的唯一方式,ContentProvider主若是存储并检索应用程序的数据并向其他应用程序提供访问该程序数据的接口。
Android开发平台的搭建
本系统基于Android的应用层开发,需要进行Android平台的搭建。
运算机的操作系统是微软的Windows系统。
下面是Windows操作系统下搭建Android开发平台的步骤:
第一步:
Android应用开发以为基础,因此第一开发环境需要配置JDK,JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。
安装完JDK工具包后设置系统的环境变量JAVA_HOME、CLASSPATH和Path。
第二步:
安装配置Google提供的针关于Android的开发工具包SoftwareDevelopmentKit(SDK)。
AndroidSDK指的是Google提供的针关于开发的。
进行Android开发AndroidSDK的配置是必需的。
第三步:
下载安装eclipse作为本次Android系统开发的IDE(IntegratedDevelopmentEnvironment,集成开发环境),eclipse是一款针关于Java开发的开源可拓展开发环境,eclipse的开发效率高方便本次系统设计。
第四步:
安装Google提供的针关于eclipse开发环境的Android开发插件ADT(AndroidDevelopmentTools)。
第五步:
创建AVD(AndroidVirtualDevice,Android虚拟设备),方便了Android的开发,开发的Android项目能够在AVD上进行调试,预览项目在真实Android平台下的实际成效。
每一个AVD上能够配置多个虚拟Android设备包括电话和平板电脑。
系统开发所需的Android开发平台搭建完成。
蓝牙技术简介
蓝牙(Bluetooth)是一种无线电通信技术,蓝牙设备的通信距离较短可能在十米左右。
能在多种终端设备之间以无线信号波的形式进行通信。
蓝牙技术通过终端间的配对连接简化了设备之间的通信,幸免了繁杂的操作加速了数据的传输效率。
蓝牙技术的起源与进展历程
蓝牙是以古老的北欧国王Blåtand的名字而命名的(Blå=蓝、Tand=牙)。
随着蓝牙的进展,蓝牙专门快成为面向无线局域网(WPAN)的应用标准,蓝牙技术的显现是以因特网为代表的数据通信和移动通信技术高速进展的结果[8]。
现今是一个快速进展的信息社会,实现信息全世界化的基础硬件设备已初步搭建完成。
在那个网络高度发达的信息社会,每一个用户、每台信息设备终端不管时刻、地址都能方便快捷地接入网络,蓝牙技术的显现确实是为了实现这一目的。
它面向短距离通信网络,是一种随时随地处处可见的无线网络串联起在脚下范围的各类信息设备。
蓝牙技术从最开始的只应用于高端产品,到此刻普及到智能电话,个人电脑,平板电脑,等移动互联设备。
蓝牙的进展速度愈来愈快,伴随着蓝牙硬件本钱的下降,蓝牙应用技术也趋于成熟,当前蓝牙产品的市场从第二时期过渡到了高速进展的第三时期,方才显现的第三代移动互联技术将为蓝牙制造更多的进展机缘[9]。
蓝牙技术最开始由爱立信公司的无线通信部门于1994年着手研究,蓝牙最开始的设计目的是通过点对点的连接进行短距无线传输,但蓝牙的进展受限于蓝牙设备昂贵的本钱和极低的蓝牙覆盖率,造成了蓝牙的研究掉队进展赶不上以后显现的Wi-Fi技术。
以后随着电话行业的进展Nokia、Motorola、Ericsson等电话制造公司的快速崛起,蓝牙接踵登录高端电话平台。
蓝牙市场得以苏醒,蓝牙的进展走上快速进展的道路。
由于蓝牙小巧的外形和较低的产品本钱,蓝牙技术已被普遍采纳在消费者或移动设备[10]。
2001-2005年间,每一年蓝牙设备的出货量都翻一番,2005年蓝牙设备的出货量冲破了4亿,而且以后几年凭借着持续的增加率,到2020年蓝牙需求量增加到亿个,年增率超过140%。
蓝牙技术的特点
蓝牙技术有八大特点:
1.全世界适用,蓝牙频段范围为的ISM
2.同时可传输语音和数据,采纳电路互换和分组互换技术,支持异步传输数据
3.可成立临时性的对等连接,实现一对多连接方式
5.蓝牙模块小,便于集成
[11]
本论文设计确实是依据蓝牙的诸多特点开展的,专门是在对等连接和抗干扰能力和开放的接口标准。
在Android电话大占电话市场份额的环境下,Android电话的蓝牙开发拥有超级广漠的前景。
Android蓝牙开发包()
Android自带的bluetooth包中有8个类,而本次要紧利用到的类要紧有BluetoothAdapter(蓝牙适配器类),用来成立蓝牙连接的BluetoothDevice(蓝牙设备类),用于创建效劳器套接字的BluetoothServiceSocket(蓝牙效劳器套接字),还有BluttoothSocket(客户端套接字类)[12]。
Socket与IO流
网络套接字(Socket)
Socket咱们通常称为“套接字”,是一个用于描述IP地址和端口的通信链句柄。
在通信开发中,Socket能够实现各类的网络协议。
Socket是网络中两个彼此通信的应用程序实现的套接字,Socket将网络中所谓的客户端/效劳器端连接起来。
客户端请求和效劳器的相应请求是Socket两个标准动作。
在网络操作中会发觉,Socket是一个特殊的I/O。
Socket增加了端口的概念。
常见的Socket有2种:
流式Socket和数据报式Socket。
流式Socket是面向连接的Socket,实现了面向连接的TCP协议;数据报式Socket是一种无连接的Socket,实现了无连接的UDP协议。
本系统Socket应用程序通过Socket接口来进行发送和接收数据,Socket的创建打开了连个电话终端的连接,数据像流水一样在电话间进行传输。
ServerSocket实现了效劳器端的Socket,创建那个类能够监听来自其他客户端Socket的请求。
输入输出流(IO流)
说到输入输出流,学习Java的确信都很熟悉数据的输入和输出流。
输入输出流用来传输用户发送的文字及其他数据。
只要Socket连接到效劳器的ServerSocket,这时就能够够用输入输出流进行效劳器与客户端之间的数据通信。
SQLite数据库
SQLite一个Android自带的数据库,那个数据库体积小所需要的内存小,该数据库要紧针关于开发,超级适合用来进行Android项目开发,适合存储数据量小的表格、图片等数据。
SQLite是在嵌入式开发中很受欢迎的一款轻量级数据库引擎,SQLite支持大体SQL语句。
专门的是,运行SQLite不需要占用专门大的内存资源就能够达到超级好的执行成效。
同时SQLite是开源的,任何人只要到SQLite官网就能够下载并利用它。
由于SQLite的特性很多开源项目((Mozilla,PHP,Python)的数据库都选用了SQLite数据库。
SQL编译器、附件、后端和内核这4个组件组成了完整的SQLite数据库。
那个数据库遵守了关系数据库治理系统的4个大体特性:
(Consistency)、(Durability)、独立性(Isolation)和不可分割性(Unbreak)。
SQLite符合大体数据库的要求,能方便对数据库中的数据进行大体治理。
SQLite在Android开发中要紧利用SQLiteOpenHelper那个辅助类来实现对数据库的大体操作,利用SQLiteOpenHelper那个类可对数据库进行新增、查找、更新、删除的操作。
第三章系统需求分析与概要设计
系统功能需求
本签到系统是以Android技术为核心,以蓝牙通信技术为手腕,将教师与学生的Android电话连接成为一个有机整体进行电话间的通信从而实现签到的应用程序。
数据库技术实现了本系统关于签到数据的治理。
学生模块需求分析
学生客户端模块应该能完的功能包括登录签到功能和签到情形查询功能。
(1)课堂签到分析
学生端(客户端)点击签到把自己的个人信息(如姓名、学号)通过蓝牙发送到教师端(效劳器),效劳器对接收的数据进行处置与数据库中的数据进行匹配,假设学号和密码匹配,那么将签到结果回馈到学生电话端让学生得悉签到成功,不匹配那么返回未能签到信息提示从头签到。
图签到功能
(2)签到情形查询
系统的签到查询功能让学生查询自己的签到情形,学生能够在效劳器开启的情形下查看自己的签到情形。
如以下图,学生端向效劳器端发送个人信息查询命令对签到情形查询。
图学生查询功能
教师模块需求分析
教师端模块的功能应该有治理学生信息数据库、搜集签到信息和签到情形查询。
(1)数据库治理
实现学生端的签到,教师端主若是开启签到线程和对签到结果数据进行治理。
系统目标是单个教师关于所有学生进行治理,因此系统首要的目标是教师的便利操作,教师只需开启签到功能,在签到终止后对签到结果进行治理即可。
学生信息的治理设计到学生信息初始化的问题,一个教师所拥有的学生可能很多,而每一个学生的信息可能很繁杂。
系统应该方便教师进行学生信息数据的初始化。
(2)搜集签到信息
教师端开启签到功能要求开启签到等待效劳,教师端能够在自定的时刻段开启签到功能中实现教师关于签到时刻的限制。
教师端接收到学生发送过来的信息,在数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 课堂 签到 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)