用Python写一款App Inventor网络微数据库服务器

2022-01-15 00:48李伟
中国信息技术教育 2022年1期
关键词:服务器端网页服务器

李伟

App Inventor是目前广受中小学生喜爱的图形化移动应用开发软件,通过这款软件,用户可以快速地开发简易的移动应用程序。App Inventor的数据存储采用了多种方式,包括文本文件、TinyDB、TinyWebDB等,其中TinyWebDB属于网络微数据库,用户使用此数据库,可实现远程数据存储,从而实现开发网络版应用程序。

由于网络微数据库需要服务器的支持,一般的用户只能借助他人提供的远程服务器才可以使用这一功能,很不自由。在教学中,还常常因为远程服务器的连接限制而导致测试失败。因而,本文介绍一种基于Python的Flask框架开发App Inventor网络微数据库服务器的方法,让任何计算机都能“摇身”变为网络微数据库服务器,以满足个人开发和日常教学的需求。

● 开发网络微数据库服务器的技术分析

1.网络微数据库存储机制

App Inventor开发的应用程序,是通过TinyWebDB可以完成读取数据与存储数据的功能,其相关的数据结构比较简洁,每条记录只包含了tag(键)和value(值)两项。

在利用网络微数据库进行“读取数据”时,其实质是发送一条网页form表单请求,类似于“/get? tag=tagvalue”这样的一条请求语句,传送一个tag值,服务器捕获这个请求后,查询数据库中是否存在这个tagvalue值,假若存在,则将此值返回给APP。

而当利用网络微数据库进行“保存数据”时,其实质同样是发送一条网页form表单请求。类似于“/get? stored=storedvalue”这样的一条请求语句,传送一个stored值,此stored值实际上是一个json格式的数组字符串,即["STORED", "tag","value"],以此告知服务器程序,需要保存的数据为:tag=“tag”,value=“value”。服务器捕获这个get请求后,将此数据作为一条记录存储进数据库。

2.网络微数据库服务器开发技术

由网络微数据库存储机制可知,服务器程序应提供两项服务,即数据读取与数据存储功能,其实质是一个典型的Web应用服务平台。因此,只需搭建一个能提供数据读取与数据存储功能的Web应用服务平台,并且在格式上进行规范,即可替代原有的网络微数据库服务器。

3.开发环境选择

程序主体采用目前广受用户喜爱的Python语言的Flask网页框架进行编写,数据库可以采用SQLite3模块进行构建。由于数据传输中需要进行json格式的转换,因此还需要导入json模塊。

4.主要功能模块设计

网络微数据库服务器由数据库、服务器端等模块构成。

其中,数据库用于数据的存储,服务器端部分属于反馈系统的主逻辑,承载着响应APP请求,读取相应数据返回APP、捕获APP发送的数据并存储到数据库。

整体架构如上页图1所示。

● 网络微数据库服务器的开发

1.数据库设计

数据库主要用于APP数据的存储。对于最基本的服务,可以设计一个数据表,并在数据表中设计两个字段,分别为webtag与webvalue。本系统采用Python语言的SQLite3模块构建与操作数据库,其数据库结构设计如上页表所示。建立数据库的核心代码如图2所示。

2.网络微数据库服务器程序编写

服务器端程序采用Flask网页框架编写,主要包括以下两个主函数。

getvalue()函数:用于接收APP端读取数据请求,并返回json格式的目标数据。函数设计如图3所示。

storeavalue()函数:用于接收APP端存储数据请求,并将接收到的数据存储于数据库中。函数设计如图4所示。

● 网络微数据库服务器的部署与应用

1.启动服务器主程序

网络微数据库服务器编写完成之后,即可在服务器计算机中以命令行的方式运行主程序:python tinywebdb.py。假设服务器地址为“192.168.31.132:8080”。

2.编写APP,并设置网络微数据库服务器地址

设计示例APP的界面如下页图5所示,网络微数据库服务器地址设置如图6所示。

本示例APP只实现两个功能,即将文本框中输入的tag值与value值存入网络微数据库中;向服务器发送读取数据请求,并将相应tag值的返回值加以显示。其逻辑设计如图7所示。

3.调试

在APP编写完毕后,使用AI伴侣进行测试,结果如图8所示。

猜你喜欢
服务器端网页服务器
2018年全球服务器市场将保持温和增长
基于HTML5静态网页设计
搜索引擎怎样对网页排序
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
一种基于Java的IM即时通讯软件的设计与实现
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵
网页智能搜索数据挖掘的主要任务