手机APP开发之MIT Appinventor详细实战教程(六),蓝牙与单片机进行多数据交互,通信蓝牙控制APP的研发与设计。 以及相关问题的思考。

14 篇文章 70 订阅
14 篇文章 23 订阅

目录

一、App的简单介绍

二、蓝牙逻辑连接的实现

三、数据比较逻辑结构的实现

四、数据显示遇到的问题和思考

五、解决方法和尝试

六、问题分析与寻求帮助

七、总结


一、App的简单介绍


首先APP的功能描述如下,他可以发送6个数据并接收4个数据。并且数据全部以浮点型数据出现,并保留有判断框,内部要进行数据之间的比较,让判断框的内容发生改变,基本uI界面如下。

其中气压和温度值就是我们手机要接收的数据。后面的未知两个字在数据传输过来之后,在确认按钮按下之后,会对数据进行比较,判断温度和气压有没有超出我们所限定的值。而下方的6个文本输入框就是输入我们想要输入的数据来限定和判断接收到的气压和温度是否正常。
好,我们开始内部逻辑的编程。

二、蓝牙逻辑连接的实现

首先是简单的蓝牙连接模块。这个模块在第1期的时候就说过了,这里不再多说。其核心组件就是一个列表选择框。当我们点入列表选择框的时候,需要让APP呈现出我们所要连接的蓝牙名字即可。所以有选中项。屏幕初始化。以及蓝牙连接地址这些基本组件方可构成上述应用的设定。

其次是实现数据之间的比较。首先我们将未知的类型全部设置为标签。当接收数据和我们给出的数据之间相对比较时是标签发生正确或超限的变化。这个时候我们需要用一个判断语句进行执行。这里我用的是控制结构里面的与。只有当显示内容与我们输入的上限和下限,全部符合时我们让标签位置显示正常。当显示内容与我们输入的上限和下限不在一个范围之内,我们让标签显示为超限。这就需要进行数据之间的比较了。

 

三、数据比较逻辑结构的实现

然而一个问题出现了。如何进行两个数据之间的比较呢?按照我们刚才的设定两个数据之间的类型是不一样的。一个是数字而另一个是文本。所以我们需要将数据之间的类型统一化。

那么如何实现两个数据之间类型的统一化呢?我们可以将文本输入框中的内容设定为只允许输入数字。并且设置一个变量,让这个变量为文本变量。也就是在控制栏文本那一个框框中选择一个空文本。我们称其为变量初始化,相当于c语言中,int a=0;将变量a定义为是整形数据而非字符。在这个编程模式里也是同样的道理。当然我们也需要注意变量之间赋值关系的位置,因为关系反了效果就会适得其反。经过我多次尝试和逻辑思考之后,整理出了如下正确的表达方式。

 

四、数据显示遇到的问题和思考

第2个难点就是接收4个数据,并且让其成为浮点型。首先浮点型数据本身就拥有着小数点,且数据复杂在所提供的蓝牙,设置框中并没有接收浮点型数据的控件,所以对于解决这个问题,我尝试了以下几种思路和实际的操作方法。

先说一个理论上较为可行,但我实际操作还有些问题的方法。我们可以将浮点型数据拆成两个部分进行接收。将整数部分作为一个数据接收小数部分作为一个数据接收。小腹部分如何接收呢?我们的设置方式是发送的时候发送整数,然后通过相应的函数算法将其化简为零点几的小数,然后两个数据进行相加即可得出我们想要的数据。然而这种操作方法,存在着数据接收混乱以及一些未知的问题,暂且我并没有找到合适的解决方法。

五、解决方法和尝试

第2个方法就是不让蓝牙接收数据,而是让蓝牙接收字符串。我们将所需要的数据全部组合在一起,并在数据前面加上标志符abcd,这样我们就可以将所有的数据信息储存在一个字符串当中了。我们在接收数据的时候,可以通过文本选择模块对abc进行侦查,从而选出我们所要的数据,并使其体现在我们4个数据的标签中。然而这个方法虽然理论上行得通,但是实际操作起来也有些问题。

经过我多次尝试和改良,最终达成了这样的效果。可以在4个数据框中显示出数据的位数,但是并不能正确的显示出数据的样子,而且数字在一直的变化,这更让我百思不得其解。。对此我进行了总结,可能是以下几个问题造成的。
首先可能是我使用的硬件设施,串口的通信并不是特别的优良,存在一定的误差。如果是逻辑上的错误数据不可能时变时不变,变化多端,不可琢磨。当我不再向手机发送数字的时候,蓝牙APP仍然显示着多组数字的重重叠叠交替闪烁,变化不定的现象。这说明可能是硬件上存在一些问题。另外我在测试的时候,当不进行蓝牙通信的时候,直接将全局变量设置为我所需要的数据组织。也就是以abcd为开头的各种数据集合的时候。

 

六、问题分析与寻求帮助

数据是可以正常显示的,这说明我的文本选择程序并没有错误。问题就出现在蓝牙接收字符串的过程中了。所以解决这个问题还需要在硬件设施完全支持调试的情况下,对编码程序和蓝牙的传输形式进行深入的探究和研究,才能得到好的解决方法。
第2点可能是数据以字符串的形式,传输过程中存在一定的编码问题。我并没有找到良好的解决编码问题的控件和方法。当我尝试以16进制数据发送和接收的时候,仍然不能显示出正确的结果,这让我更是百思不得其解。

以上问题的情况,如果有哪位同学明白或者是说可以解决的话,可以私信我,感激不尽。对于这种数据接收问题,我提出了以下几种解决的方法。并在不断尝试中,目前尚未取得一定的效果。蓝牙接收控件有限,功能不全,我们可以选择另一个蓝牙控件,也就是低功耗蓝牙控件。这个蓝牙控件可以接收浮点型数据,做一些更加精密的事情。所以有待进一步研发和讨论。

或者是说,认真学习蓝牙的交通方式以及编码问题来解决字符串无法正常在手机APP上显示的问题。总之要解决这个问题,一种方法是学习新的蓝牙控件,第2种方法就是弄清楚蓝牙在传输字符串中的编码问题,从而进行有针对性的解决。

七、总结

今天主要给大家分享的不是解决问题的方法,而是发现问题并解决问题的一种思路和尝试。相信通过我后期的探索与研究,一定会解决这个数据显示的问题的。如果大家谁能解决这个问题,欢迎私信我。

问题已经得到了解决:看这篇博客

https://blog.csdn.net/weixin_42619971/article/details/107298406

 

 

 

 

  

 

   

  • 19
    点赞
  • 158
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: MIT App Inventor是一款用于创建安卓应用程序的免费软件。它是一个基于可视化编程的开发工具,用户不需要具备高超的编程技能,只要简单拖拽各种组件,就能够实现一个基本的应用程序。MIT App Inventor支持多种传感器,用户可以在自己的应用中加入地理定位、照相机等功能。用户创建完毕应用程序后可以进行实时测试,确保应用功能符合自己的预期。 ### 回答2: 随着移动互联网的发展,手机APP已经成为了人们日常生活中必不可少的工具。对于那些想要学习开发手机APP的人来说,有很多不同的工具和平台可以选择。其中,MIT App Inventor是一款非常受欢迎的应用程序开发工具。 MIT App Inventor为用户提供图形化的编程环境,可以快速地将代码块拼接成完整的APPMIT App Inventor还提供了一组强大的模块和组件,可以用于构建丰富的交互式用户界面,添加各种功能和特性。 在实战教程方面,由于MIT App Inventor是基于图形化编程的工具,因此比较容易上手。以下是一些常见的步骤和技巧: 1.创建新的APP项目并命名 在App Inventor的页面上,点击“Create new project”按钮,填写APP名称和描述,并点击“OK”按钮,就可以创建一个新的APP项目。 2.拖拉组件并调节大小和位置 在“Designer”模式下,用户可以选择不同的组件,例如按键、文本框、图像、列表等等,将它们拖拉到画布上,并设置它们的大小和位置。 3.设置组件的属性和行为 在“Blocks”模式下,用户可以为不同的组件设置属性和行为。例如,可以为按键设置响应事件、为文本框设置默认值、为图像设置来源等等。 4.使用块拼接代码 在“Blocks”模式下,用户可以将不同的代码块拼接在一起,实现各种功能和特性。例如,可以将用户输入的文本保存到文件中、调用摄像头拍照并显示图片等等。 以上是MIT App Inventor的一些常见实战教程步骤和技巧,当然还有很多其他的功能和特性可以继续探索。总的来说,MIT App Inventor是一款非常适合初学者的应用程序开发工具,它提供了简单易懂的图形化界面和丰富的组件和模块,可以轻松地实现自己的APP想法。 ### 回答3: 手机APP开发是当下最热门的技术领域之一,随着移动互联网的快速发展,越来越多的人开始关注APP的开发和推广。其中,MIT App Inventor是一款非常受欢迎的开发工具,它能够让任何人都可以轻松地开发出自己的APP。下面我将为大家详细介绍MIT App Inventor实战操作教程。 一、安装MIT App Inventor 首先,我们需要在官网上下载并安装MIT App Inventor软件。只需要在谷歌浏览器中输入“MIT App Inventor”,打开官网即可。在官网上,我们会看到“Build Your Own APPS”这个页面,这个页面上有详细的安装教程和下载链接。我们只需要根据提示下载并安装即可。 二、创建新APP 安装完MIT App Inventor后,我们就可以开始创建新APP了。首先,在软件中点击“New Project”按钮,然后输入APP的名称和包名。 三、添加组件 添加组件是APP开发的重要步骤之一,下面我们来介绍一下如何添加组件。 1.在组件栏中选择要添加的组件,比如说我们要添加一个按钮,只需要在组件栏找到“Button”组件并拖动到画布上即可。 2.设置组件属性。在组件的属性栏中,我们可以设置组件的各种属性,比如按钮的文本、颜色、大小等等。 四、设计界面 设计界面是APP开发的另一个重要步骤,下面我们来介绍一下如何设计界面。 1.在画布上拖动组件。我们可以通过拖动组件来设计APP界面的布局,比如在画布上拖动多个按钮,并设置它们的位置和大小。 2.编辑UI主题。我们可以在UI主题中编辑APP的样式,包括字体、颜色、背景图等等。 五、添加代码 添加代码是APP开发的最后一步,下面我们来介绍一下如何添加代码。 1.选择组件。在MIT App Inventor中,我们可以通过选择组件来添加事件和代码。比如,要为一个按钮添加点击事件,只需要在设计界面中选择这个按钮。 2.添加代码。我们可以在事件编辑器中添加相应的代码,当用户点击按钮时,程序会自动运行我们添加的代码。 以上就是MIT App Inventor实战操作教程,通过这个教程,我们可以轻松地开始自己的APP开发之路。当然,APP的开发还需要不断的学习和实践,希望大家能够在这个领域中不断进步,取得更好的成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值