App Inventor编程开发集锦是App Inventor编程教程的延伸,通过PBL项目制的实战案例,讲解App ...

App Inventor编程开发集锦-目录

计算器这个看似简单的应用,当你一旦着手去制作时,就会发现写出来的程序漏洞百出,那些在人类看来理所当然的逻辑,对于计算机来说,却是浑然不知,一定要将每个细节都照顾到,程序才能如你所愿地运行,否则就会出现一些莫名其妙的状况,

这里要讲解的是一个只有20个按键的简易计算器,实现了加减乘除的简单运算,以及清除、回退、求相反数等,如图2-1所示,更为复杂的运算,如求乘方、方根及三角函数的运算,可以利用开发工具中的数学函数,从现有的功能中衍生出来。

图2-1 计算器的外观

第0课 功能描述

一、符号及术语

  1. 前数:在计算过程中,居于运算符之前的那个数字;有三种情况可以生成前数:
    • 程序运行伊始,用户先输入数字,然后输入算符,此时该数字转变为前数;
    • 用户先后输入数字、算符、数字、等号后,计算结果被设定为前数;
    • 用户先后输入数字、算符、数字、算符后,其中的第二个算符具有等号的功能,将输入的两个数字和第一个算符进行运算,所得结果被设定为前数;
  2. 后数:在计算过程中,居于运算符之后的那个数字;在键入等号或第二个算符后,将运算结果设定为前数,并将后数设置为0;
  3. 算符:在本程序中特指 +、-、×、÷这四个运算符;
  4. 等号算符:用户先后输入数字、算符、数字、算符、数字、算符……,其中除了第一个输入的算符外,其他算符兼具等号的功能,我们称后面的算符为等号算符;
  5. C:英文CLEAR的缩写,用于清除计算过程中的全部信息;
  6. CE:英文CLEAR ENTRY的缩写,用于清除在算符之后输入的所有数字——后数;
  7. ←(回退):用于从尾部清除后数中的一个字符;
  8. ±(相反数):用于求相反数,如果后数不为0,则运算对后数生效,如果后数为0且前数不为0,则对前数生效;也可以理解为对屏幕上显示的数生效;

二、功能描述

  1. 常规操作:用户按顺序输入前数(屏幕将显示后数)、算符(屏幕不显示)、后数(屏幕显示后数)以及等号后,显示运算结果;
  2. 连续运算:用户先后输入数字、算符、数字、等号算符、数字、等号算符……,每次输入等号算符,显示运算结果,并将运算结果设置为前数,将后数设置为0;
  3. 重新开始:当完成一次运算(前数被设置为运算结果),此时如果用户不输入算符,而是直接输入数字,则清除此前的运算结果(相当于按键C的作用);
  4. 连续两次输入算符:如果用户输入算符之后没有输入数字,而是再次输入算符,则后面输入的算符有效(前面的算符被后面的覆盖了);
  5. 输入纯小数:用户有两种方法输入0.5:输入0.5或输入.5;
  6. 其他功能键的功能描述见上一个标题“符号与术语”。

第1课 用户界面设计

用户界面中用到了1个标签、20个按钮以及五个水平布局组件,其中20个按钮分别放置在五个水平布局组件中。水平布局组件及按钮的宽度和高度属性皆设置为“充满”。如图2-2所示。各组件的命名及属性设置见表2-1。

图2-2 计算器的用户界面设计

表2-1 组件的命名及属性设置