跳到教程内容
教程首页
App Inventor 2 教程 辨别假消息
准备开始
动手创造 · PROJECT LAB

辨别假消息

准备探索你的新作品
0%
★★ 项目难度每一步,都离作品更近

先了解你将做出什么

连接你的应用

这个应用是查证流程练习,不是自动判断现实新闻的魔法工具。真正查证时仍要打开原始来源、核对日期,并寻找独立报道。

辨别假消息教程

1. 了解测验

测验包含几条真实或虚构的新闻,用户从选项中选择判断,应用显示得分和查证提示。

教程介绍

2. 添加用户界面组件

在设计器中添加并命名:TitleLabelQuestionNumberLabelQuestionPictureButtonLinkLabelQuestionLabelListPicker1ScoreLabelRestartButtonNotifier1

组件名称和层级可以直接对照设计器的组件列表;当前素材没有单独的组件截图,请按表格逐项核对。

3. 修改屏幕和图片按钮属性

把 Screen1 的 AlignHorizontal 设为居中;把 QuestionPictureButton 的 Height 设为 40%,Width 设为 65%,让题图在手机上有足够显示空间。

请在属性面板中按上面的文字设置逐项核对。

4. 设置文字属性

为各个标签设置标题、题号、问题、来源和分数文字,并按界面需要调整 FontSize。

界面文字

5. 隐藏来源标签

取消 LinkLabel.可见性。开始时来源链接隐藏,用户点击题图后再显示,避免界面一打开就被长链接占满。

请在属性面板中取消勾选 Visible。

6. 准备题目列表

起始工程提供 questionsimageslinksoptionsanswers 列表。每个列表使用同一个下标:第 1 个问题对应第 1 张图片、第 1 个链接、第 1 组选项和第 1 个答案。

题目列表

7. 初始化 index 和 score

切换到积木编辑器,创建全局变量 index 并设为 1,创建 score 并设为 0。index 表示当前题号,score 表示答对数量。

打开 Blocks

8. 创建 SetQuestion 过程

创建 SetQuestion 过程,把显示题号、图片、问题、来源和选项的重复操作集中起来。换题时只需要调用过程,不用复制五组程序。

9. 显示题号

从“文本”抽屉拖出「连接文本」积木,把“第 ”、index、“ 题”连起来,设置到 QuestionNumberLabel.文本,让用户看到当前题号。

显示题号

10. 设置题目图片

选择列表项images 列表取出第 index 项,接到 设 QuestionPictureButton.图像

设置题目图片

11. 设置问题、链接和选项

在 SetQuestion 中分别从 questionslinksoptions 取出第 index 项,设置 QuestionLabel.文本LinkLabel.文本ListPicker1.元素列表。options 是列表的列表,当前题目只取其中一组。

设置题目和选项

12. 显示第一题

当 Screen1.初始化 中调用 SetQuestion。index 初始为 1,所以应用启动后会显示第一题。

初始化事件

13. 点击题图显示来源链接

QuestionPictureButton.被点击时 中切换 LinkLabel.可见性:如果当前可见就隐藏,如果当前隐藏就显示。这样用户可以主动查看来源。

切换来源可见性

14. 检查用户答案

ListPicker1.选择完成时 中,用 ListPicker1.选中项索引选择列表项 answers index 比较。两个序号相等表示选对。

答案判断

答案索引

15. 处理正确答案

如果答案正确,把 score 加 1,并用 Notifier1.显示警告信息 告诉用户答对了。不要在判断前增加分数,否则错误答案也会得分。

正确答案处理

16. 通知用户并进入下一题

正确答案分支还要显示鼓励提示,然后把 index 加 1,调用 SetQuestion 显示下一题。把“加分、提示、进入下一题”放在同一个 then 分支中。

进入下一题

17. 处理错误答案

否则分支显示“再查证一下”的提示,不增加 score;同样把 index 加 1 并调用 SetQuestion,让用户继续测验。

错误答案

18. 编写 RestartButton

RestartButton.被点击时 中把 index 恢复为 1、score 恢复为 0、隐藏 RestartButton,再调用 SetQuestion。这样用户可以重新开始。

重新开始

19. 测试测验

测试题目是否按顺序出现,选项是否和当前题目对应,正确答案是否加分,错误答案是否只提示不加分,来源链接是否能显示,最后一题后是否正确结束。

设备测试

扩展你的应用

可以保存最高分、给用户发短信、用 Activity Starter 打开来源网页、用不同颜色显示分数,或加入 TextToSpeech 朗读题目。扩展时仍要明确区分“练习题答案”和现实世界中的事实核验。