前段时间一个好友问我能否用AppInventor给她做一个登记学生成绩的App,当然学生也可以用此App查询成绩。研究了一下,用AppInventor大致可以实现她的想法。

功能分析:App分为教师界面和学生界面,教师界面添加学生基本信息,包括姓名、学号、语数英三科成绩,并保存;学生界面通过输入学生姓名和学号,可以查询自己的各科成绩。


Step1:界面设计:

说明:

SplashView中两个按钮,按钮分别显示“教师”和“学生”,主要用来选择角色,当点击“教师”按钮则出现logView登录界面;

logView为教师操作的界面,主要登记学生的基本信息(姓名和学号)以及语文、数学、英语三科成绩。“确定录入”按钮用来把信息存储在数据库中,这里依然用到了前面教程提到的新浪共享性MySql数据库;

queryView为学生操作的界面,主要用于学生输入姓名和学号来查询成绩,“确定查询”按钮则是访问数据库数据,并把学生的成绩显示到面板上;

对话框主要用来警告信息和提示信息;

这里用到了两个Web组件,一个命名为webt,用来处理教师界面操作数据库插入数据,另一个命名为webs,用来处理学生界面操作数据库查询数据。

注意:一开始将logView和queryView的可视化去掉,实现一开始不显示的效果。


Step2:数据表设计:


设计一个名为“studentscore”带有6个字段变量的数据表,如何创建数据表请查看我之前写的一篇文章《在SAE中创建MySql数据表》,在公众号目录AI教程中点击进去可以找到哈~~

数据表建好之后待用~~接下来进行脚本设计


Step3:脚本设计:

处理教师端程序的脚本代码(php代码详细分析详见我之前写的文章《利用AppInventor实现注册功能(完整版)》)

<?php

$name=$_POST['name'];

$num=$_POST['num'];

$math=$_POST['math'];

$chinese=$_POST['chinese'];

$english=$_POST['english'];

$mysql = new SaeMysql();

$sql = "SELECT * FROM `studentscore` where name='{$name}'";

$mysql->runSql($sql);

$no=$mysql->affectedRows();

if($no==0){

$sql="INSERT INTO `studentscore` (`id` ,`name`,`num`,`math`,`chinese`,`english`)VALUES (NULL ,  '{$name}','{$num}','{$math}','{$chinese}','{$english}')";

$mysql->runSql($sql);

echo 1;//用户注册

}

else {

echo 2;//用户已存在

}

?>

教师端脚本主要用来将数据插入到数据表中。

处理学生端的脚本代码如下:

?php

$name=$_POST['name'];

$num=$_POST['num'];

$mysql = new SaeMysql();

$sql = "SELECT * FROM `studentscore` where name='{$name}' AND num= '{$num}'";

$mysql->runSql($sql);

$no=$mysql->affectedRows();

if($no==0){

echo 1;//用户或密码错误

}

else {

$data=$mysql->getData($sql);

$math=$data[0]['math'];

$chinese=$data[0]['chinese'];

$english=$data[0]['english'];

$resultStr="姓名:{$name}欢迎你!数学:{$math} 语文:{$chinese} 英语:{$english}";

echo $resultStr;

}

?>

学生端脚本主要用来在数据表中查询数据!


Step4:逻辑设计:

1、初始化

设置切换命令

相信云朵们可以看懂,作用是切换用户界面

2、教师操作界面代码设计

(1)处理”确定录入“按钮点击事件

设置”确定录入“按钮的点击事件,首先判断文本框里面是否为空,有一个为空则显示警告信息,接着判断语文、数学、英语文本框里面输入的是否为数字,是数字再调用teacher这个过程。teacher过程执行的功能如下:

teacher过程主要设置头请求(前面的教程也介绍过,在此略过),设置访问网址,创建请求数据列表。

(2)处理服务器端返回的数据(根据脚本返回的数据显示用户是否存在。)


(3)返回主界面


点击返回按钮,返回到初始界面;

3、学生界面代码设计

(1)处理“确定查询”按钮点击事件


如果用户名和学号输入都不为空,则调用student过程,该过程定义如下:


设置请求头,访问URL以及请求数据列表。

(2)处理服务器端返回的数据


scoredisplay处显示成绩。

(3)返回主界面


Step5:测试


打开App,点击“教师”按钮,进入到教师界面


输入学生姓名、学号以及三科成绩,点击确定录入,稍等片刻,会出现“添加成功”的提示


点击“返回”按钮,再次回到主界面,点击“学生”按钮进入到成绩查询界面


我们会惊喜地发现,刚才在教师界面输入的成绩此时被查询出来了

最后我们来看一下我们的数据表


我们发现刚才在教师界面输入的用户信息已经被存储到数据表中了,学生界面就是访问了这个数据表直接把数据读取出来的。

云端微课不做网络的搬运工

坚持分享实用信息资讯和原创信息技术教程

成绩登记与查询系统App相关推荐

  1. java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目 ...

  2. 2021年四川高考成绩在哪里查询,2021年四川高考成绩查询系统入口,四川高考成绩怎么近查询系统...

    本文小编大家整理了关于四川高考成绩查询系统入口的相关知识,供大家在成绩公布之时快速的查询自己的成绩. 一.2021年四川高考成绩查询系统入口 2021年四川高考成绩查询系统入口,考生可以登录四川招生考 ...

  3. 怎样查询2021年青海高考成绩,2021年青海高考成绩查询系统入口,青海高考成绩怎么近查询系统...

    本文小编大家整理了关于青海高考成绩查询系统入口的相关知识,供大家在成绩公布之时快速的查询自己的成绩. 一.2021年青海高考成绩查询系统入口 2021年青海高考成绩查询系统入口,考生可以登录青海招生考 ...

  4. 基于android的旅游信息查询系统APP(ssm+uinapp+Mysql)

    网络的广泛应用给生活带来了十分的便利.所以把旅游信息查询管理与现在网络相结合,利用java技术建设基于安卓的旅游信息查询系统,实现旅游信息查询的信息化.则对于进一步提高旅游信息查询管理发展,丰富旅游信 ...

  5. 基于Android的地铁查询系统app

    本软件研究了一个Android平台的地铁查询软件实现方案,从数据库数据保存到地铁数据的提取,再到界面的友好展示,最后到一个成型软件的生成这样一个过程,研究了SQLite数据库在Android平台的应用 ...

  6. 基于android的航班船票机票预订查询系统app

    本系统提供了网上机票预订让人们及时和方便地查询航班信息,安全高效地预订机票.本系统是具有开放体系结构的.易扩充的.易维护的.具有良好人机界面的优点,可以让用户轻松了解航班的信息,以及结合自身的情况,做 ...

  7. 计算机毕业设计之Android的地铁查询系统app(源码+系统+mysql数据库+Lw文档)

    本软件研究了一个Android平台的地铁查询软件实现方案,从数据库数据保存到地铁数据的提取,再到界面的友好展示,最后到一个成型软件的生成这样一个过程,研究了SQLite数据库在Android平台的应用 ...

  8. 计算机毕业设计基于Android平台的公交线路查询系统app

    基于Android平台的公交线路查询就是一个可以帮助用户便捷的浏览公交信息的公交线路查询的优秀app,手机联网或者通过USB连接电脑下载即可,在手机上安装完成,直接就可以使用,使用者可以通过公交线路查 ...

  9. 基于Android平台的公交线路查询系统app

    基于Android平台的公交线路查询就是一个可以帮助用户便捷的浏览公交信息的公交线路查询的优秀app,手机联网或者通过USB连接电脑下载即可,在手机上安装完成,直接就可以使用,使用者可以通过公交线路查 ...

最新文章

  1. 深入jvm虚拟机第4版_深入JVM虚拟机,阿里架构师直言,这份文档真的是JVM最深解读...
  2. CTFshow php特性 web105
  3. 基于.NET Core的简单,跨平台,模块化的电子商务系统-SimplCommerce
  4. 阿里巴巴黄贵谈存储新硬件带来数据库的机遇
  5. 拯救IT人的报表神器来了,不用写代码,还免费
  6. CNN笔记:通俗理解卷积神经网络--理解不同输入通道和卷积核通道关系(红色部分)
  7. mongodb java 嵌套查询_MongoDB java 查询嵌套JSON数据?
  8. 失败的信息化案例分享
  9. 冲击港交所:百果园书写水果连锁运营默示录
  10. 【Matlab数字识别】数字仪表图像识别【含源码 693期】
  11. excel 2种方法将长日期修改成短日期
  12. 安装anaconda和tensorflow
  13. windows下MySQL数据库如何移动到其它盘
  14. [2022]最新·GS游享环境-天龙八部服务器环境安装V2版本+视频教程
  15. TensorRT 命令行程序trtexec常用用法
  16. 学习笔记(05):区块链应用案例-区块链金融应用-保险
  17. [Vue]非父子组件传值(bus/总线/观察者模式/发布订阅模式)
  18. 《利用Python进行数据分析·第2版》第14章 数据分析案例
  19. 让人上瘾的新一代开发神器——Magic-API
  20. bootstrap_blue_print_volume ii 读书笔记

热门文章

  1. 计算机专业常用的软件
  2. 浏览器获取cookie失败,浏览器解决方案
  3. 高校基础数据管理系统数据库代码
  4. 企业在贴吧里面被人恶意诽谤的不实帖子要怎么删除?
  5. 应用程序加入短信提醒功能实现全步骤
  6. React 18 released
  7. dlopen / dlsym函数(动态链接库)
  8. 苹果cms新手建站必看教程
  9. SBAS-InSAR输出数据不正确的问题
  10. 《全国土地分类》与土地利用现状分类对照表