第2节校园开心问答
本节概要:
本章将通过HappyQA的课例,结合校园的一些趣味问答,引入LIST的列表数据类型,并基于列表的模块操作,制作成一个校园开心问答,丰富学生所涉及到的相关数据,以便制作更有趣的应用。
学习要点
●自定义List相关数据类型,用来存放问答数据
●透彻理解List的相关操作,会循环遍历
●优化程序模块数学思维,简单了解程序抽象概念
●点击下一题时实现题目、图片的切换
认识新模块
表3-2-1
实例探究: HappyQA
在输入框里输入答案,点击提交,画面切换成笑脸则表明题目答对。否则切换成,按下一题出现下一个题目
图5-2-1:程序界面1  图5-2-2:程序界面2
界面设计与组件构成:
图5-2-3最终UI界面
组件的拖放和设置
图5-2-4
组件清单:1个图片组件,1个垂直布局组件:1个标签,1个水平组件:1
Block块编程拼接搭建
在进行Block之前,我们先来回顾该应用的大致流程如下图
图5-2-6
答题系统的退出按钮不在流程图里,流程图的事件流只涉及到点答题或者点下一题,
要实现课例的需求,则需要用Block 编程模块需要考虑以下以下几个问题:
1题目的切换效果 切换之前要先实现数据的存储,这里使用新的数据类型
List ,需要先使用相关模块自定义List 数据。(图5-2-7)
定义了三个List 问题、答案、还有每一题的图片,三个List 分别为:QuesList ,AnswerList,ImageList 。
Tip :图片List 存放的是图片名字字符
显示问题时,我们要避免直接输入字符:观察图虽然A 和B 显示的结果是一
样,但是在后续A 方式会相当繁琐,使用了List 表之后就比较轻松,根据List 号索引即可得到值。(下图5-2-8)
图5-2-8
由此,我们知道,切换题目的核心在于改变QuesList 的索引就可。定义一个变量,初始值为1,切换的时候索引值+1就可以。
图5-2-9
问题1:在切换时,我们需要对上一题的显示答案组件做一个什么操作?
简易安卓app开发在改变当前题目的题干即LabQuestion的值为当前列表的值时,并把上一次的答案TextBoxAnswerde值设为空字符。
图5-2-10
问题2:索引一直累加存在一个什么问题?
图5-2-11
索引值因为一直增大,超出了列表长度时,程序会报错,所以需要在最高值用做一个什么操作呢?
答案:【判断是否最大值,是索引就降为1】
这样我们的切换效果就没有问题了,图片的切换也是如此。
图5-2-12
2.题目的判断
题目的判断就是一个字符的比较过程,这里用数学当中的比较模块就可以了在解决了之前索引的问题之后,这个模块就相对轻松多了。为了让输入的答案有
结果,我们以哭脸和笑脸的形式呈现。
图5-2-13
完整:
图组5-2-14
代码解读:
本案例主要涉及定义List数据,以数学方式让List索引值形成循环遍历(最大值时降为1),用到了取List长度的模块。初始化第一题后,每一次点击下一题切换到下一题。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。