联网 App 入门专题:5 课从共享留言到带图商品墙(附 .aia 源码与服务端)

返回主页

很多同学学完基础组件,下一步就想做「大家一起用」的 App:留言板、排行榜、能看到别人上传的照片的商品墙。难点往往不在积木,而在数据和图片要存到一台大家都能访问的服务器上。

这个专题用最短的路径把这件事讲通:

  • 服务端只有一个 Python 文件,不用装数据库,双击就能在自己电脑上运行,见《网络微数据库后台搭建教程》。
  • App 只用原生组件:网络微数据库存数据,Web 客户端传图片,不需要拓展。
  • 5 课循序渐进,每课都是一个能直接导入的完整 App,后一课只比前一课多一两个新概念。

下载全部 .aia 与服务端(zip) 验证记录

学习路线

课 做出来的 App 新学到的 用到的组件
第 1 课 连通测试 服务地址、异步请求与事件、连不上时怎么排查 网络微数据库
第 2 课 班级留言板 一个标签存一个列表、先读后写、定时刷新 + 计时器、列表显示框
第 3 课 点击挑战排行榜 字典存数据、只在破纪录时写回、按分数排序 + 字典积木
第 4 课 图片上传 图片文件存服务端、数据库里只存图片地址 + Web 客户端、图片处理
第 5 课 带图商品墙 综合:发布、搜索、详情页切换、删除自己的数据 + 对话框

建议按顺序学:每一课都会用到前一课的做法,页面里会标出「这一课新增」的部分。

开始前:把服务端跑起来

照着《网络微数据库后台搭建教程》的路线 A,在自己电脑上运行服务端,大约 20 分钟。跑通的标志是:手机浏览器打开服务端窗口里显示的地址,能看到「网络微数据库:共 0 条,图片 0 张」。

这一步做完,5 课都用同一个服务端、同一个服务地址。

每课的 App 顶部都有同一张「服务地址」卡片:把服务端窗口里显示的那一行地址填进去点「保存」,地址就记在手机上,下次打开自动使用。它的做法在第 1 课里讲。

课堂上可以老师在讲台电脑上运行一个服务端,全班手机连同一个 WiFi、填同一个地址,大家的留言、成绩、图片就都在一起了。

5 课一览

界面图由最终 .aia 执行真实积木、连真实服务端生成(列表里的图片是从服务端取回的),是布局预览,不是真机截图。

学完以后:网络微数据库能走多远

5 课做完,你已经能做「多人共享数据 + 图片」的 App 了。也要清楚它的边界,免得做大了才发现走不通:

局限 表现 怎么办
只能按标签整体存取 不能「查价格低于 50 的商品」,只能全部取回来在手机上筛 数据多了改用带查询的数据库
没有原子追加 两个人同时读到旧列表,各自追加后写回,后写回的会覆盖先写的(第 2 课里专门演示) 即使人少也可能发生;频繁并发写入时改用 CloudBase 等支持原子操作或事务的后端
不能设置自定义请求头 组件没有 RequestHeaders,不能直接按接口要求发送 Authorization 等鉴权头 需要这类接口时用 Web 客户端或 CloudBase;仅更换服务地址不会增加鉴权能力
没有真正的权限 第 5 课「只有卖家能下架」只是界面上不显示按钮,懂行的人照样能改数据 需要账号系统
口令写在 App 里 别人拆开 App 就能拿到服务地址 不存密码、身份证号等敏感信息

需要用户账号、按条件查询、真正的权限时,换成后端服务(BaaS):国内用 CloudBase,不想实名认证用 Supabase,账号登录的写法见注册登录教程。想继续用自己的服务器,可以看 Web 客户端连接 MySQL。

验证范围

每个 .aia 都用正式编辑器同源 Blockly 载入并保存重开(0 错误)、经平台真实后台导入、编译出 Android APK;每课的业务逻辑都连着真实运行的服务端执行最终积木检查,共 110 项。真机运行、AI 伴侣联调、手机与电脑之间真实的局域网访问还没有测,详见验证记录。

文档反馈