传感器组件

« 返回首页

传感器组件

目录:

  1. icon 加速度传感器
  2. icon 条码扫描器
  3. icon 气压传感器
  4. icon 计时器
  5. icon 陀螺仪传感器
  6. icon 湿度传感器
  7. icon 光线传感器
  8. icon 位置传感器
  9. icon 磁场传感器
  10. icon NFC
  11. icon 方向传感器
  12. icon 计步器
  13. icon 距离传感器
  14. icon 温度传感器

icon 加速度传感器

不可见组件,可检测振动并使用 SI 单位(m/s2)在三个维度上近似测量加速度。其组成部分是:

  • X分量:当手机静止在平坦表面上时为 0,当手机倾斜时为正向右(即左侧抬起),当手机倾斜到右侧时为负向左(即,其右侧尺寸升高)。

  • Y分量:当手机静止在平坦表面上时为0,当底部抬起时为正,当其顶部升起时为负。

  • Z分量:等于 -9.8(当设备处于每秒状态时,地球重力以米每秒为单位)

    静止时与地面平行且显示屏朝上,0 时垂直于地面,面朝下时+9.8。 该值也可能受到加速或反对的影响重力。

属性

可用状态
返回加速度传感器硬件在设备上是否可用。
启用
指定传感器是否触发事件。如果,传感器将触发事件;否则,即使设备加速或晃动,也不会触发任何事件。
兼容模式
在添加此属性的版本之前,加速度传感器 组件直接传递从 Android 系统接收到的传感器值。然而,这些值无法补偿默认为横向模式的平板电脑,需要 MIT App Inventor 程序员进行补偿。但是,在手机等纵向模式设备中进行补偿会导致结果不正确。

我们现在检测横向模式平板电脑并执行补偿。但是,如果你的项目已经补偿了,将会得到不正确的结果。

虽然我们的首选解决方案是让你更新项目,但你也可以将此属性设置为,我们的补偿代码将被停用。

注意:我们建议你更新你的项目,因为我们可能会在将来的版本中删除此属性。

中文网注:新建的项目不用关注此属性,无视它就行。

最小间隔(毫秒)
指定连续的 被晃动 事件之间所需的最小间隔(以毫秒为单位)。

一旦手机开始晃动,所有进一步的 被晃动 事件都将被忽略,直到间隔结束。

敏感度
指定加速度传感器的灵敏度。
有效值 含义
1
2 中等
3
X分量
返回 X 维度的加速度,以 SI 单位 (m/s²) 表示。

必须启用传感器才能返回有意义的值。

Y分量
返回 Y 维度的加速度,以 SI 单位 (m/s²) 表示。

必须启用传感器才能返回有意义的值。

Z分量
返回 Z 维度的加速度,以 SI 单位 (m/s²) 表示。

必须启用传感器才能返回有意义的值。

事件

加速度变化时(X分量,Y分量,Z分量)
指示 X、Y 和/或 Z 维度上的加速度变化。
被晃动时()
表示设备开始晃动或持续晃动。

方法

icon 条码扫描器

用于扫描 QR 码并返回结果字符串的组件。

属性

结果
获取上次扫描的文本结果。
使用外部扫描仪
设置是否要使用外部扫描程序,例如扫码机。 如果为 ,则将会使用已集成到 App Inventor 中的 ZXing 的某个版本(注:ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码)。

事件

扫描结束(返回结果)
表示扫描仪已读取(文本)结果并提供结果。

方法

执行扫描()
使用相机开始扫描条形码。扫描完成后,将触发 扫描结束 事件。

icon 气压传感器

如果硬件支持,可以测量环境气压的物理世界组件。

属性

气压
如果传感器可用并已启用,则返回以 hPa(毫巴)为单位的大气压力。
可用状态
指定设备是否具有支持气压传感器组件的硬件。
启用
指定传感器是否触发事件。 如果为,传感器将触发事件;否则,不会触发任何事件。
刷新时间
所请求的读数变化之间的最短时间(以毫秒为单位)。

事件

气压改变时(气压值)
当检测到气压(以 hPa 为单位)发生变化时触发该事件。

方法

icon 计时器  示例

不可见组件,使用手机内部时钟提供实时时间。可以设置时间间隔以定期触发计时器,并执行时间计算、操作、和转换。

对日期和时间的操作,比如来自日期选择器时间选择器, 通过计时器的方法实现。日期和时间表示为“即时时间” 和“持续时间”。

即时时间假定在设备的本地时区,当它们被创建就表示它是从1970年1月1日(UTC格林威治标准时间)开始到现在的毫秒数。

通过调用方法可以将即时时间转换为文本,格式可以是空字符串、MM/dd/YYYY HH:mm:ss aMMM d, yyyy HH:mm。空字符串将提供默认格式,对于 格式化日期时间"MMM d, yyyy HH:mm:ss a"格式化日期"MMM d, yyyy"。要查看所有可能的格式, 请请参阅此处

关于合并日期和时间的注意项:为了合并来自另一个即时时间的日期和时间,例如来自日期选择器时间选择器,将部分提取为文本,并使用文本来创建一个新的即时时间。例如:

Example code blocks to combine date and time picker data

属性

一直计时
如果为 ,即使App未显示在屏幕上也会触发计时。
启用计时
指定是否运行计时器,触发 计时 事件。
计时间隔(毫秒)
指定后续 计时 事件之间的间隔毫秒数。

注意:随着时间的推移可能会发生漂移,如果手机上的应用程序或其他进程繁忙,此处指定的时间间隔系统可能会不遵守

事件

计时()
计时事件开始运行,直至关闭为止。

方法

增加日(时刻,数量)
返回给定时刻几天后的某个时刻。
增加时段(时刻,数量)
返回参数指定的一段时间后的时刻。
增加时(时刻,数量)
返回给定时刻几小时后的时刻。
增加分(时刻,数量)
返回给定时刻几分钟后的时刻。
增加月(时刻,数量)
返回给定时刻几个月后的时刻。
增加秒(时刻,数量)
返回给定时刻几秒后的时刻。
增加周(时刻,数量)
返回给定时刻几周后的时刻。
增加年(时刻,数量)
返回给定时刻几年后的时刻。
求日期(时刻)
返回该月的第几天。
持续时间(开始时刻,结束时刻)
返回结束与开始之间的毫秒数(正数 或 负数)。
持续时间为天(持续时间)
返回持续时间由毫秒转换为天的数值。
持续时间为小时(持续时间)
返回持续时间由毫秒转换为小时的数值。
持续时间为分钟(持续时间)
返回持续时间由毫秒转换为分钟的数值。
持续时间为秒(持续时间)
返回持续时间由毫秒转换为秒的数值。
持续时间为周(持续时间)
返回持续时间由毫秒转换为周的数值。
日期格式(时刻,格式)
将即时时间格式化为指定格式的日期字符串。有效的格式请查阅简单日期格式.
日期时间格式(时刻,格式)
将即时时间格式化为指定格式的日期时间字符串。有效的格式请查阅简单日期格式.
时间格式(时刻)
将即时时间格式化为指定格式的时间字符串。有效的格式请查阅简单日期格式.
获取毫秒数(时刻)
返回即时时间自 UTC(世界标准时间)1970年以来的毫秒数。
求小时(时刻)
返回给定时间中的小时数。
创建日期(,,)
返回按 UTC(世界标准时间)格式的年、月、日指定的即时时间。月份字段的有效值为 1-12,日期字段的有效值为 1-31。
由文本建时间点(时间文本)
返回指定 MM/dd/YYYY hh:mm:ssMM/dd/YYYYhh:mm 格式时间文本的即时时间。

注意:时间文本不是以上3种格式的话,会报错:

时间格式错误

由毫秒建时间点(毫秒数)
返回 UTC(世界标准时间)1970年指定毫秒数之后的即时时间。
由元件建时间点(,,,,,)
返回由指定的年、月、日、时、分、秒指定的 UTC(世界标准时间)即时时间。
创建时间(,,)
返回按 UTC(世界标准时间)格式的时、分、秒指定的即时时间。
求分钟(时刻)
返回给定日期中的分钟数。
求月份(时刻)
返回给定日期中的月份数。
求月份名(时刻)
返回给定日期中的月份名称。如“十月”
求当前时间()
返回从手机时钟读取的当前时刻。
求秒数(时刻)
返回给定日期中的秒数。
求系统时间()
返回手机的内部时间
求星期(时刻)
返回给定日期中的星期数。对应关系如下:
星期
数值 1 2 3 4 5 6 7
求星期名(时刻)
返回给定日期中的星期名称,如“星期二”
求年份(时刻)
返回给定日期中的年份数,如 2023

icon 陀螺仪传感器

提供来自设备陀螺仪传感器的数据的组件。

属性

可用状态
陀螺仪传感器是否可用。
启用
指定传感器是否触发事件。 如果为,传感器将触发事件;否则,不会触发任何事件。
X分量角速度
绕 X 轴的角速度,以 度/秒 为单位。
Y分量角速度
绕 Y 轴的角速度,以 度/秒 为单位。
Z分量角速度
绕 Z 轴的角速度,以 度/秒 为单位。

事件

陀螺仪状态改变时(x分量角速度,y分量角速度,z分量角速度,时间戳)
表明陀螺仪传感器数据已更改。 时间戳参数是事件发生的时间(以纳秒为单位)。

方法

icon 湿度传感器

如果硬件支持,可以测量相对环境空气湿度的物理世界组件。

属性

可用状态
指定设备是否具有支持湿度传感器组件的硬件。
启用
指定传感器是否触发事件。 如果,传感器将触发事件;否则,不会触发任何事件。
湿度
以百分比形式返回相对环境湿度。

传感器必须可用并启用,才能返回有意义的值。

刷新时间
所请求的读数变化之间的最短时间(以毫秒为单位)。 Android 不保证会满足该请求。

事件

湿度改变时(湿度值)
表示相对湿度的变化。

方法

icon 光线传感器

可以测量光水平的物理世界组件。

属性

可用状态
指定设备是否具有支持光线传感器组件的硬件。
照度
返回最后测量的照度值(以 lux 为单位)。

传感器必须可用并启用,才能返回有意义的值。

平均照度
通过计算前 10 个测量值的平均值,返回照度值(以 lux 为单位)。

传感器必须可用并启用,才能返回有意义的值。

启用
指定传感器是否触发事件。 如果为,传感器将触发事件;否则,不会触发任何事件。
刷新时间
所请求的读数变化之间的最短时间(以毫秒为单位)。 Android 不保证会满足该请求。

事件

光线变化时(照度值)
亮度级别发生变化时触发该事件。

方法

icon 位置传感器  示例

不可见组件,提供位置信息,包括:

纬度经度海拔(如果设备支持)、速度(如果设备支持) 和地址。

也可以执行“地理编码”,转换给定的地址(不限于当前地址)到纬度(使用 由地址求纬度方法)和经度(使用 由地址求经度 方法)。

中文网注:如果获取不了经纬度,请尝试开启一下定位权限,参考代码如下:

请求定位权限

为了发挥作用,组件必须将其 启用 属性设置为,并且设备必须通过无线网络启用定位感应器 或 GPS 卫星(如果在室外)。

应用程序启动时,位置信息可能无法立即可用。你必须稍微等一下找到并使用位置提供者,或者等待位置改变时 事件。

模拟器并不模拟所有设备上的传感器,App应该在物理设备上进行测试。

属性

精度
位置传感器将能够根据卫星、手机信号塔和其他用于估计位置的数据的质量,以不同程度的置信度来定位设备。

“精度”值是传感器检测到的位置周围的半径(以米为单位)。该设备有 68% 的机会位于该半径内。更精确的位置检测将导致更小的精度数字,这使得应用程序对设备实际所在的位置更有信心。

如果精度未知,则返回值为 0.0。

海拔
设备的海拔高度(以米为单位)(如果有)。

海拔高度是根据 世界大地测量系统 84 参考椭球体 测量的,而不是海平面。

请注意,设备很难准确地感知海拔高度。手机/平板电脑上报告的海拔高度很容易偏离 30 米或更多。

可用提供者
可用服务提供者的列表,例如 GPS 或网络。 此信息以列表和文本形式提供。
当前地址
来自地图数据库的设备的实际街道地址。

提供者可能并不总是提供该地址,并且报告的地址可能并不总是设备所在建筑物的地址。

如果没有特定位置的可用地址信息,则会返回“无可用地址”。

距离间隔
确定传感器尝试用于发送位置更新的最小距离间隔(以米为单位)。

例如,如果设置为 50,则传感器仅在穿过 50 米后才会触发 位置改变时 事件。 然而,传感器不保证在精确的距离间隔处接收到更新。 例如,触发一个事件可能需要超过 5 米。

使用此属性时,检查 精度 也很有用。 当你的设备移动时,检测到的位置的准确性会不断变化。

启用
如果为,则位置传感器将尝试从 GPS、WiFi 位置或设备上可用的其他方式读取位置信息。 此设置不控制位置信息是否实际可用。 必须在设备设置中启用或禁用设备定位。
拥有精度数据
如果为,则设备可以报告其精度级别。
拥有海拔数据
如果为,则设备可以报告其海拔高度。
拥有经纬度数据
如果为,则设备可以报告经度和纬度。它们是一起的,要么两者都报告,要么都不报告。
纬度
最近可用的纬度值(以度为单位)报告到小数点后 5 位。

如果没有可用值,则返回 0。

纬度是 90(北)和 -90(南)之间的值,其中 0 表示赤道。

经度
最新可用的经度值(以度为单位)报告到小数点后 5 位。

如果没有可用值,则返回 0。

经度是 180(东)和 -180(西)之间的值,其中 0 表示本初子午线。

锁定提供者
指定设备是否会自动切换服务提供者。

当当前提供者无法提供足够的位置信息时,设备可以切换服务提供者。

设置为 以防止提供者更改;设置为 以允许在必要时自动切换。

提供者名称
当前的服务提供者。提供者很可能是 GPS 或网络。
时间间隔(毫秒)
确定传感器尝试用于发送位置更新的最小时间间隔(以毫秒为单位)。 但是,只有当手机位置实际发生变化时才会收到位置更新,并且不保证指定时间间隔的使用。 例如,如果使用 30000 作为时间间隔,则位置更新永远不会早于 30000 毫秒触发,但可能会在之后的任何时间触发。

对于大多数设备来说,小于 30000 毫秒(30 秒)的值不实用。 较小的值可能会耗尽电池电量并使 GPS 过度工作。

事件

位置改变时(纬度,经度,海拔,速度)
表示已检测到新位置。速度以米/秒为单位。
状态改变时(提供者,状态)
表示位置提供者服务的状态已更改,例如当提供者丢失或开始使用新提供者时。

方法

由地址求纬度(位置名称)
从给定的“位置名称”导出纬度。
由地址求经度(位置名称)
从给定的“位置名称”导出经度。

icon 磁场传感器

磁场传感器组件。

属性

绝对强度
表示磁场的绝对强度。
可用状态
表示设备中有磁场传感器并且可用。
启用
表示磁场传感器是否已启用并工作。
最大范围
表示磁传感器可以达到的最大范围。
X分量强度
表示 X 轴上的磁场强度。
Y分量强度
表示 Y 轴上的磁场强度。
Z分量强度
表示 Z 轴上的磁场强度。

事件

磁场改变时(X分量强度,Y分量强度,Z分量强度,绝对强度)
当磁场发生变化时触发,在参数中设置新值。

方法

icon NFC

提供 NFC 功能的不可见组件。目前该组件仅支持读写文本标签(如果设备支持)。

设置 启用读值模式 属性为 是读取模式;设置 则是写入模式。

注意: 该组件仅适用于应用程序的 Screen1 主屏幕!!

属性

最新消息
返回最近接收到的标签的内容。
启用读值模式
指定 NFC 硬件是否在读取模式下运行。读取模式 () 或 写入模式()。
写入文本
指定在写入模式下将要写入标签的内容。如果没有设置 启用读值模式,则该方法没有效果。
写入类型
返回 NFC 组件的写入类型。对于此版本的组件,它始终是1

事件

读标签(消息)
表示检测到新标签,目前只支持纯文本标签。
写标签()
表示标签已进入 NFC 传感器的范围并已被写入。

方法

icon 方向传感器

使用方向传感器组件来确定手机的空间方向。

方向传感器是一个不可见的组件,它报告以下三个值(以度为单位):

  • 滚动:设备水平时为 0 度,当设备向左侧向上倾斜时增加至 90 度,当设备向右侧向上倾斜时减少至 -90 度。
  • 俯仰:设备水平时为 0 度,当设备倾斜时增加到 90 度,使其顶部朝下,然后在翻转时减小到 0 度。 类似地,当设备倾斜时,其底部朝下,俯仰角减小到 -90 度,然后在完全翻转时增加到 0 度。
  • 方位角:设备顶部指向北时为 0 度,指向东时为 90 度,指向南时为 180 度,指向西时为 270 度等。

这些测量假设设备本身没有移动。

属性

角度
返回一个角度,指示设备平铺的方向。也就是说,它告诉了在设备表面滚动的球所感受到的力的方向。
可用状态
指示设备上是否存在方向传感器。
方位角
返回设备的方位角。

要返回有意义的值,必须启用传感器。

启用
指定是否启用方向传感器。
力度
返回 0 到 1 之间的数字,指示设备倾斜的程度。它给出了球在设备表面滚动时感受到的力的大小。

对于倾斜角度,请使用 角度

倾斜角
返回设备的倾斜角。

要返回有意义的值,必须启用传感器。

翻转角
返回设备的滚动角度。

要返回有意义的值,必须启用传感器。

事件

方向改变时(方位角,倾斜角,翻转角)
当方向发生变化时,将触发该事件。

方法

icon 计步器

该组件使用 加速度传感器 来记录步数。

属性

距离
返回以米为单位的大致行驶距离。
耗时
返回自计步器启动以来经过的时间(以毫秒为单位)。
简单步数
返回自计步器启动以来发生的简单步数。
停止检测超时时间
返回多长时间(以毫秒为单位)未检测到步数之后进入停止检测状态。
步幅
如果已校准,则返回步幅长度的当前估计值(以米为单位),否则返回默认值 (0.73 m)。
行走步数
返回自计步器启动以来所走的步数。

事件

检测简单步数时(简单步数,距离)
当检测到原始步骤(raw step)时运行此事件。
检测行走步数时(行走步数,距离)
当检测到步行步骤(walking step)时触发此事件。步行步骤是看起来涉及向前运动的步骤。

方法

复位()
重置计步器、距离测量和跑步时间。
保存()
将计步器状态保存至手机。允许累积步数和调用使用计步器的应用程序之间的距离。不同的应用程序将有自己的保存状态。
开始()
启动计步器。
停止()
停止计步器。

icon 距离传感器

用于测量物体相对于设备屏幕距离(以cm厘米为单位)的传感器组件。该传感器通常用于检测手机听筒是否处于耳边接听状态。 大多数设备返回绝对距离(以cm厘米为单位),但也有些设备仅返回近值和远值,在这个情况下,传感器通常报告其在远距离状态下的最大范围值 和 近距离状态下较小的值。 它报告以下值:

  • 距离: 物体到设备之间的距离。

属性

可用状态
报告当前设备是否有距离传感器。
距离
返回对象到设备之间的距离。必须启用传感器才能返回有效值。
启用
如果为真,传感器将触发事件,否则,不触发事件。
暂停时保持运动
返回“暂停时保持运动”属性值。
最大范围
确定传感器的最大范围。一些距离传感器返回二进制值代表“近”或“远”,在这种情况下,传感器通常会报告它在远距离状态下的最大范围值 和 近距离状态下较小的值。 通常,远值是 > 5 cm 的值,但不同的传感器可能有差异。

事件

距离改变(距离)
当对象与设备的距离(以cm厘米为单位)发生变化时触发该事件。

方法

icon 温度传感器

可以测量环境空气温度的物理组件(如果硬件支持)。

属性

可用状态
指定设备是否具有支持“温度计”组件的硬件。
启用
指定传感器是否触发事件。 如果为,传感器将触发事件;否则,不会触发任何事件。
刷新时间(毫秒)
所请求的读数变化之间的最短时间(以毫秒为单位)。Android 不保证会满足该请求。
温度
返回以摄氏度为单位的温度。

传感器必须启用并可返回有意义的值。

事件

温度改变时(温度值)
表示温度发生变化,以摄氏度为单位。

方法