2018离线版-批量导入用户

自App Inventor 2018离线版发布之后,经常有老师询问离线版用户批量导入的问题,这也是教学过程中一个迫切需要解决的问题,这里做了一个例子,来说明这一功能的实现过程。

一、准备工作

首先需要准备一个文本文件,其中包含需要导入的用户名及密码,文件格式如下图所示,每个用户占一行,用户名与密码之间以空格间隔,注意文件的最后一行不回车。

这里强烈建议使用Sublime Text来编辑保存文件,微软的记事本会在文件头插入一个不可见字符,会影响程序的执行结果。

将编辑好的文件复制到手机SD卡的AppInventor文件夹下,本例中的文本文件命名为loginUsers.txt。

二、接口调用说明

批量导入用户功能由张路老师专门为2018离线版开发,主要针对有教学需求的老师们,接口地址为“服务器的访问地址(含段口号)/login/api/”,用GET方法访问该接口,接口参数见下表。

本案例中采用一个临时的服务器,地址为:

http://edu1.17coding.net

该地址不会长期保留,建议读者在自己搭建的服务器上测试及操作。

三、用户界面

创建一个项目,名为“批量导入”,用户界面如下图所示。

从上图的组件列表中,根据组件的命名可以得知组件的功能,三个文本输入框,分别用用来输入文件名、服务器地址以及API的访问密钥。为了操作方便,本案例在设计视图中为三个文本输入框设置了默认值,分别是:loginUsers.txt、edu1.17coding.net以及take_it_easy。用户界面的测试结果如下图所示。

四、编写程序

1、全局变量

如下图所示,左边的三个全局变量当作常量来用,右边的三个变量用于记录导入的总用户数、成功导入的用户数以及导入用户的名单。

2、屏幕初始化

如下图所示,在屏幕初始化时设置Screen1的应用说明属性,并提示用户在设备菜单中查看导入须知。

3、加载文件

如下图所示,当加载文件按钮被点击时,利用文件管理器组件读取手机中的文本文件,文件名来自于文件名输入框。注意:下图中的代码只为说明API的调用方法,并未检验文本输入框是否为空,在正式开发应用时,必须检验用户的输入。

4、获取并显示注册用户信息

如下图所示,在文件管理器的收到文本事件中,将文件内容解析为列表,并在列表显示框中显示出来,以便在正式导入数据之前,查看数据是否正确。

5、创建过程——API网址

如下图所示,创建一个有返回值得过程——API网址,拼写API的访问指令字串。字串的拼接方式要符合接口的GET访问方式,即,用“?”分隔网址与参数,用“&”分隔不同的参数。

6、导入用户信息

如下图所示,当导入按钮被点击时,设置Web客户端组件的网址属性,并向API发送GET请求。注意代码中使用了循环语句,对用户列表中的每个用户逐一执行注册操作,因此,如果需要导入n个用户,那么将执行n次GET请求。

7、接收API的反馈

如下图所示,每一次GET请求都将返回一个结果,并触发Web客户端组件的收到文本事件,在事件处理程序中,首先统计导入操作的次数,然后再统计导入成功的次数,并将统计结果显示在标签中。

上述代码的测试结果如下图所示。

五、补充说明

在上述测试结果中,读者会发现API访问密钥为“take_it_easy”,而不是默认的“changeme”,那么如何修改这个密钥的值呢?

这要修改离线包中的一个设置文件,如下图所示,在WEB-INF文件夹中找到appengine-web.xml文件,并打开文件。

如下图所示,在文件的末尾处找到这三行代码,其中的第二行代码用来设置API的访问密钥,为了防止不相关的用户使用批量导入功能,必须修改这项设置的默认值。

上面创建的app实现了2018离线版的批量注册用户功能,希望能够为开设App Inventor课程的老师们提供一点帮助。

最后,祝老师们教师节快乐!

(0)

相关推荐

  • 循序渐进VUE+Element 前端应用开发(23)--- 基于ABP实现前后端的附件上传,图片或者附件展示管理

    在我们一般系统中,往往都会涉及到附件的处理,有时候附件是图片文件,有时候是Excel.Word等文件,一般也就是可以分为图片附件和其他附件了,图片附件可以进行裁剪管理.多个图片上传管理,及图片预览操作 ...

  • 防止您的云“秘密”公开曝光:IDE 插件解决方案

    我相信您会同意,在当今的数字世界中,我们开发的大多数应用程序都需要某种类型的凭据--使用用户名/密码连接到数据库,通过授权令牌或 API 密钥访问计算机程序以调用服务进行身份验证. 凭据(有时简称为& ...

  • 2018离线版-项目文件及端口设置

    新学期开始了,新近开设App Inventor课程的老师们开始了他们的教学探索.万事开头难,老师们首先要面对的就是开发服务器的选择--在线,还是离线,这是一个问题! 有些老师选择离线服务器(不依赖于公 ...

  • 2018离线版-添加管理员帐户

    App Inventor 2018离线版服务器搭建成功之后,为了开展教学活动,首先需要添加用户,用户分为两类--管理员及普通用户. 在离线版的登录页面,有一个"一键试用"链接,任何 ...

  • 2018离线版_无网络方案

    随着App Inventor课堂教学范围的扩大,更多的问题被暴露出来,不同地区.不同装备水平以及不同网络状况的学校,无法采用统一的教学环境配置方案,本文所针对的是最低配置的情况:一台孤立的无法联网的计 ...

  • 全网第一 | Office圈首个【批量导入】微信文档的小程序,轻松一键搬家

    年前小程序[微软Office文档]推出的新功能-导入微信文档,获得了大家的认可,小伙伴们也纷纷在公众号文章的留言区,告诉Office君产品体验后感受,以及对产品后期发展的希冀. 微软Office团队努 ...

  • Excel 邮箱 | 快速批量导入手机通讯录

    生活中会遇到将大量联系人导入手机通讯录的情况.这时,如果选择一个一个输入会非常麻烦.这里给大家介绍一个简便易行的方法,只要一个Excel和网易邮箱就可以做到. 第一步: 登录网易邮箱,选择通讯录,点击 ...

  • 批量导入Excel文件,为什么我导入的数据重复了?

    小勤:大海,为什么我从Excel文件夹导入的数据重复了? 大海:数据给我来试试看? Step-01:新建查询-从文件夹 确定后,我们看到文件夹里有3个文件: 这里,显然是因为将合并工作表和数据源放在了 ...

  • Excel批量导入文本文件,再也不用VBA

    小勤:大海,现在有个很烦的事情,数据都是每个月一个文本文件,好难分析,有什么方法能批量汇总的吗? 大海:文件格式都一样吗? 小勤:嗯.当然是一样的,如果连格式都不一样的话神仙也救不了,这个我还是知道的 ...

  • 批量导入并整合pdf数据做分析,用Power BI小意思啦!

    小勤:我们每天都能收到供应商推送的pdf格式的燃油价格文件,怎么能方便地整合到一起做数据分析啊? 大海:现在Power BI支持pdf文件的数据导入了,所以非常方便啊. - 1 - 打开功能 小勤:这 ...

  • Power Query批量导入Excel文件,和导入文本有一点儿不同

    小勤:大海,你上次说PowerQuery可以批量导入Excel文件,我参考你那个批量导入文本文件的方法试了一下,不行啊. 大海:呵呵.我就知道你会有问题. 小勤:知道会有问题还不早说!你看,我的文件也 ...