安卓APP源码和设计报告——抢答器

抢答器项目说明书

项目代码结构:

(1)Socket服务端:

(2)抢答器客户端:

2.项目重要技术点说明:

(1)本次项目主要是利用Socket在客户端和服务器端之间传输字符串数据实现通信。

(2)读取的试卷数据存放在服务端的文件中,而试卷内容主要是JSON格式,所以抢答器客户端使用了文件存储技术和JSON解析技术。

(3)因为项目中界面需要实时动态变化,连接Socket之后,相当于开了一个线程,因不能在线程中更新界面,需要使用异步回调机制Handler处理信息,通知界面更新。

(4)在抢答之前需要倒计时,将Timer和TimerTask两个类结合使用,可以实现执行一次倒计时任务。

(5)弹出框PopupWindow由这个类实现的,可以使用任意布局的View作为其内容,也可以自定义弹出框显示、隐藏的动画效果,且这个弹出框是悬浮在当前activity之上。

(6)应用开启界面使用了Animations的API,这个实现了淡入淡出、位置移动等动画效果,且应用在UI控件之中。

3.项目使用说明:(客户端)

设置用户名:打开程序,会打开启动界面,并跳到如下界面,设置自己的游戏名字。本小组用了三个模拟器测试:分别命名为AA,BB,CC:

(2)连接服务器:若使用模拟器测试会自动连接,连接成功就会跳到主界面,若超时(6秒)就会提示“连接出错”,并需要客户自己重新输入IP(10.0.3.2);若为真机测试则需要自己手动输入。

(3)主界面:如果连接成功,进去了下面蓝色的界面,蓝色界面的最上面有建立成功的标志,服务器会提示有人访问,需要点击确定(服务端允许),客户端才可以正常运行。

(4)主界面按钮:下图中发起请求按钮是联机抢答,右侧是显示用户的名字

(5)发起抢答请求:点击发起请求,经由服务器处理,所有客户端会出现提示框:

(6)请求取消:若点击取消,所有客户端的对话框将消失,并在下面提示“有人退出,连接终止”。

(7)连接过程:若每当一个客户端点击确定,在上方会显示连接的人数,比如下面有两人连接了,显示connecting......2/3。

(8)准备抢答:所有人点击确定连接之后,会有提示,所有试卷下载完毕,然后进入抢答阶段,这时候会弹出倒计时对话框:请准备抢答(倒计时5秒)!

(9)抢答成功:此时显示第一道问题:如果有用户提前抢答并抢答正确,所有客户端会提示谁抢答成功并继续倒计时进入下一道题。若抢答时答案错误,则提示答案错误,其他用户仍可以抢答。(如下图)

(10)游戏结束:本程序用了3道题来测试,当抢答完三道题之后,显示对话框:游戏结束。

(11)显示结果:所有客户端点击确定后,会在最后面显示出各人的得分总计。

答题规则:每抢答答对一道得1分。

如下方显示:“个人得分score:CC:0,BB:0,AA:3”

此截图为用户名BB的客户端,BB和CC得分为0分,但AA为3分,这样则表示AA胜利。

猜你喜欢

转载自blog.csdn.net/qq_39154376/article/details/128607747