- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 App Inventor 2 动态创建组件功能
一般情况下,我们按钮在界面上是实现拖动好的,但是有些情况下需要根据逻辑或数据情况,需要展示数量不固定的组件,比如:每个学生需要3个按钮查看不同的功能,现在如果有10个学生,那就需要30个按钮,如果学生数量又增加1个,则又要动态增加3个按钮。
2024-03-27 19:49:42 157
原创 App Inventor 2 实现商业级APP启动屏幕效果(SplashScreen)
实现的功能包括:启动App时展示启动屏,右上角展示5秒倒计时,中途可点击跳过。倒计时结束或点击跳过,则跳转到主界面。代码逻辑:每隔1秒触发后,将倒计时秒数变量 -1,并更新到文本中;倒计时使用“传感器 -> 计时器”组件,设置计时间隔为1000ms,即1秒。Screen1作为启动屏幕使用,新增其他屏幕作为主界面。界面布局比较常规,详细请参考源码。
2024-03-27 19:46:33 204
原创 App Inventor 2 计算用户连续签到天数的代码分享及解析
从当前日期往前推100天(当然可以修改为更长时间),使用“计时器”组件的时间计算方法,计算每个日期并格式化为“yyyyMMdd”格式,从签到数据列表中查找日期文本,如果找到则存在签到记录,连续签到次数+1,否则认为没有连续签到,直接结束循环。最终可得到“连续签到天数”的值。
2024-03-14 19:45:58 350
原创 App Inventor 2 Clipboard 拓展:实现剪贴板的复制粘贴功能
此 Clipboard 拓展由中文网开发及维护,最新版本 v1.0,基于 TaifunClipboard 开发。属性及方法很简单,默认操作成功后显示提示信息,,可作为屏幕间数据传输的一种备选方式。后,则不显示提示信息。
2024-03-14 19:35:24 437
原创 leancloud云存储如何接入App Inventor 2?
LeanCloud 能够高效存取海量级 JSON 对象、二进制文件、地理位置等数据。其内置的行级 ACL 权限控制,以及通用的用户及角色管理体系,可以快速实现安全而灵活的数据访问。根据官方文档,支持通用语言的接入,而App Inventor 2由于没有专用组件,可以选择使用Java/Kotlin开发拓展接入,也能采用。这个AI2组件几乎等同于通用的 curl 命令,能完成数据的 Post,Get,文本,二进制等数据的通信。提问:leancloud如何应用到App Inventor 2?
2024-03-06 19:27:22 409
原创 App Inventor 2 Personal Image Classifier (PIC) 拓展:自行训练AI图像识别模型,开发图像识别分类App
这里仅仅介绍一下AI图像识别App的实现原理,AI的基础技术细节不在本文讨论范围。。我们都知道,人工智能AI的基本原理是事先准备好样本数据(这里指的是图片)及数据的标注信息(如图片中的人物是高兴、愤怒、哭泣等图片的判定信息),。有了这份训练集数据,当下次我们输入一张新的图像时,AI算法根据训练集数据就能判断出图片中的人物的具体表情,这样就能对图片进行初步的分类。当然,判断的准确率和样本数量是有关系的,也和数据标注的准确性有关,还和具体的AI算法有关。
2024-03-06 19:23:24 780
原创 App Inventor 2 Activity启动器技巧:如何查看并启动其他App
由 App Inventor 2 创建的应用要弄清包名和类名,可通过下载其应用程序的源代码,然后使用文件资源管理器或解压缩程序解压 .aia源文件(文件的扩展名修改成.zip 或.rar,然后解压),在解压后的文件夹下找到。如果在使用Activity启动器启动其它应用的时候,如果出现启动不了或者找不到相应的 Activity 的情况,请检查包名、类名这些信息是否正确。如果要更方便和直观的在手机上查看安装的APP的包名和类名,可以在手机上安装专门的查看应用包名的App,如“后面去掉最后一个组件即为包名,如。
2024-02-21 17:33:36 388
原创 Android存储系统基础知识
私有目录可与文件组件一起使用来保存/读取文本(设置不带斜杠的路径),它只能由您的应用程序访问,并且在卸载应用程序时会自动删除。只能读取(在 Android ≥ 4.4 / KitKat、API 19 的设备上)。此外,可能还有一个特定于应用程序的目录(ASD),可以使用以下命令创建。权限,ASD只能由您的应用程序访问,并且在卸载应用程序时会自动删除。,在设备上显示为内部存储(不幸的是,这有点含糊)。有些组件需要相对路径,有些则需要绝对路径。它位于外部(私有)存储中,但不需要。要访问外部存储,需要。
2024-01-31 17:31:00 779
转载 BLE技术揭秘
蓝牙协议栈没有限制设备的角色范围,同一个BLE设备,可以作为主机,也可以作为从机,我们称之为主从一体,主从一体的好处是,每个BLE设备都是对等的,可以发起连接,也可以被别人连接,更加实用。扫描是主机监听从机广播数据包和发送扫描请求的过程,主机通过扫描,可以获取到从机的广播包以及扫描回应数据包,主机可以对已扫描到的从机设备发起连接请求,从而连接从机设备并通信。连接参数由主机发起连接的时候提供,如果从机对连接参数有自己的要求,例如要求更低的功耗,或者更高的通信速率等,从机可以向主机发送连接参数更新请求。
2024-01-31 17:28:44 25
原创 App Inventor 2 低功耗蓝牙(BLE) 硬件接入、数据通信及IO控制
低功耗蓝牙(BLE)以低功耗、低成本、开发简便逐渐被广泛应用,本文主要介绍一款较为通用、价格低廉的BLE设备从零开始如何利用App Inventor 2开发一款自己专属的手机蓝牙App应用。本文主要通过一款常见的BLE硬件接入控制,介绍硬件接入App Inventor 2 的通用方法,类似的硬件接入都是大同小异的。
2024-01-31 17:09:03 1270
原创 低功耗蓝牙(BLE) 和 经典蓝牙(SPP) 的区别
看功耗需求:如果你的应用对功耗有严格要求,需要长时间运行,并且传输的数据量较小,那么选择BLE是明智的。如果你的应用对功耗要求不高,但需要高速数据传输,那么选择SPP可能更合适。看连接距离需求:如果你需要在较远距离进行通信,经典蓝牙通常具备更广泛的连接范围。而如果通信是在相对较短的距离内进行,BLE可能是个更好的选择。综上所述,BLE和SPP是两种不同的蓝牙通信协议,它们在功耗、数据传输速率和连接范围上存在区别。根据应用的需求,选择适合的协议以实现最佳的无线通信效果。
2024-01-30 17:23:38 449
原创 App Inventor 2 打造个性化酷炫的底部导航条
导入并添加拓展,添加一个水平布局,宽度充满,屏幕底部对齐代码块:添加按钮及图标,id从1开始,最后初始化即可可以在事件中指定某个Tab选中可在属性中设置facetype,定制字体注:可以在导航条的切换事件中通过同一屏幕组件的显示和隐藏来完成UI的切换,多屏幕通信较为复杂且导航条必须每个屏幕都要有,因此还是推荐同一屏幕模拟完成多屏操作,更多请参考《构建具有多个屏幕的应用程序》。
2024-01-05 09:38:29 398
原创 App Inventor 2 接入短信服务,实现短信验证码功能
发送短信验证码功能一般都是基于短信平台提供的sdk进行调用,这里是基于阿里云短信平台进行的开发,阿里云短信平台接入步骤请。App Inventor 2拓展提供的函数如下:主要提供2个函数,生成随机位数的数字随机码 和 发送短信,需要填入AccessKey ID和Access Secret,发送短信的参数:手机号,签名名称,模板CODE,模板参数JSON。发送函数不仅仅发送验证码,而是通用的短信模板参数,可以。
2023-12-31 19:14:15 378
原创 App Inventor 2 什么情况下需要使用字典?
字典在其他语言中称为映射、关联数组或列表,是一种将一个值(通常称为键)与另一个值关联的数据结构。Q:App Inventor 2 什么情况下需要使用字典?列表能完成字典的绝大部分功能,不过字典具有比列表更好的查找性能,因此如果要对数据结构执行大量的操作,建议优先使用字典。"id": 1,},上面的示例显示,在 JSON 中,键(在之前引用的文本)可以映射到不同类型的值。允许的类型包括数字、文本、其他字典、布尔值和列表。图 1:上面显示的 JSON 代码片段的块表示。
2023-11-24 16:31:12 684
原创 App Inventor 2 指定将二进制的某一位(Bit)改为1/0
由于 App Inventor 没有移位操作,只能用一个列表存 0001 0010 0100….然后拿出来按位操作,这样代码量相比多分支判断会少很多,逻辑也更清晰。举例:二进制 1010,更新第3位为1:将值和。举例:二进制 1010,更新第3位为0:将值和。
2023-11-24 16:27:17 455
原创 App Inventor 2 文本转数字
App Inventor 2 是弱语言类型,文本和数字之间不用刻意去转换,之间赋值就可以了。:数字变量初始化的时候要给一个数字的初始值,表明它是数字。
2023-11-24 13:12:48 629
原创 App Inventor 2 模拟sleep函数
经过测试,该方法有效,能正常 sleep 指定的毫秒数,但是它是阻塞式的,也就是说等待的过程中其他界面操作均无法进行,不过好在CPU消耗并不高,也算是一种不错的实现方式。代码原理非常简单,就是计算好要 sleep 到的时刻,然后一直循环等待到那个时刻为止。另外,如何将上面的代码快速导入我们的项目中,是有技巧的,无需自己动手一个个拖动哈,
2023-09-25 19:29:10 261
原创 App Inventor 2 实现Ascii码转换(Ascii编码与解码)
之前有同学问,App Inventor 2 字符及Ascii码如何进行转换,经过调查,其原生的组件和内置块无法完成这个功能,网上也有利用Web客户端组件执行js代码来进行转换,不过逻辑稍复杂效率还不高。。此扩展允许用户将 Ascii 代码(列表)转换为相应的文本,也可以将指定的字符转换为相应的 Ascii 代码。
2023-09-13 22:43:21 194
原创 App Inventor 2 开发 ChatGPT 对话App
注意:由于ChatGPT本质上不是免费的服务,上面是通过MIT代理服务器访问的,因此需要配置一个“访问令牌”参数,具体请咨询客服,当然官方也明确了,这个组件目前属于实验性质,而且MIT代理服务器资源的访问是有限制的,因此也就表明它目前仅用于学习交流、回答一些我们关注的问题等,用于商业app不太适合。”组件在MIT官方在最新的v2.67版中引入的AI相关功能,通过合并官方代码,App Inventor 2 中文网(www.fun123.cn)已升级至v2.67,第一时间获得AI加持,在国内平台属于首发。
2023-08-25 11:36:12 1142
原创 App Inventor 2 从.aia项目文件中提取.aix拓展包
最后,将拓展的.zip包的后缀改为.aix,即为真正的拓展包文件。经验证,该.aix拓展包重新导入后,能够正常使用。解压.zip文件,找到里面的拓展目录。
2023-07-12 18:51:12 220
原创 App Inventor 2 语音交互机器人Robot,使用讯飞语音识别引擎
App Inventor 2 语音识别及交互App。识别语言指令并控制机器人运动,主要用到语音识别器及文本朗读器组件,语音识别相关开发最佳入门。代码逻辑简单,App交互性及趣味性非常强~
2023-06-21 16:15:27 1197
原创 App Inventor 2 手机AI伴侣进行测试时,为啥进度条卡在10%就一直不动?
电脑端在局域网内启动一个WEB服务器,AI伴侣扫码后手机和WEB服务器进行通信,完成App的测试。因此如果不在一个局域网内,两者就无法进行通信。当然,如果电脑连的是手机的热点,也算在同一个局域网内,也是能够正常进行测试的。
2023-06-10 19:30:25 516
原创 App Inventor 2 连接打印机(Printer),自定义打印的实现
本教程主要分享App Inventor 2连接网络打印机进行自定义打印的思路及方法,这里只进行思路的讲解及关键步骤的效果演示,细节需自行完善。主要用到社交应用组件中的信息分享器组件。
2023-05-26 14:18:56 399
原创 App Inventor 2 算法之 - 二分算法(Binary Search)实现,快速查找定位
二分算法(Binary Search)是生活中非常常用的折半算法,能解决快速查找、快速定位的问题,主要用到数学和逻辑代码块。本示例程序演示了采用普通遍历的方式和二分的方式分别需要几次能够猜中随机给出的数字。
2023-05-13 14:48:00 610
原创 App Inventor 2数据存储组件之:微数据库,本地存储数据App下次启动可共享读取
本地一般是数据文件的形式存储在手机上,本地App每次启动都可以共享读取,但是不同的手机之间不可以共享数据;如果需要多个手机之间共享获取或存储数据的话,那就需要用到网络数据库了(云数据库、网络微数据库,它们目前默认都是MIT服务器),它的原理就是用户A将数据通过网络传输到云服务器,然后用户B通过网络可以读取到用户A存储的数据,最典型的应用就是类似微信的聊天App了。经过测试,AI伴侣及编译成最终apk,均能保存我们输入的值到本地,下次启动后能读到上次设置的值。,提供键、值方式的存储。
2023-04-26 17:10:38 1318
原创 App Inventor 2 开发问答App
一个最基本的问答App开发,问答数据源来自csv文件格式,方便后续拓展成网络版的问答App。事先出好题目、ABCD选择项及正确答案,先存在列表中,然后按顺序出题,答对则继续下一题,答错则Game over。
2023-04-21 16:31:08 567
原创 App Inventor 2使用照相机时老是弹出 error 201 : the camera d id not return an image 错误如何解决?
1、很可能删除了 “Pictures“ 图片文件夹:/storage/emulated/0/Pictures,这个文件夹不能被相机组件自动创建。2、官方确认这是一个bug,已修复。确认一下您使用的平台版本,可能是平台距官方的版本过旧,不包含官方bug修复,请使用我们最新的平台。
2023-03-25 10:56:42 440
原创 App Inventor 2开发一款有趣的接水果游戏
还有就是某个水果一旦被篮子接住或掉落消失后,没有再次出现,而我们预想的是屏幕随机出现水果,参考实现方法:水果消失后,随机时间后随机出现在顶部,然后落下。在屏幕上随机有水果掉落,玩家必须按住屏幕上的水果篮子并拖动,接住掉落的水果,获得相应的分数,不同水果的掉落速度及分数是不一样的,没有接住的会扣分。至此,大概的游戏步骤完成,有一定的可玩性,不过游戏的音效目前没有加上,有兴趣或希望将这个游戏做完美的可以自行加上。当炸弹被篮子接住,也就是当炸弹被碰撞时,游戏结束,弹出对话框提示,可以重新开始游戏。
2023-03-14 13:55:14 3811 6
原创 App Inventor 2提示“请从下拉列表中选择合适项”错误解决方法
应该是官方的一个bug,不过问题也不大,后续App Inventor 2中文网也许会花些时间解决一下,敬请期待!虽然是一个错误,但是代码根本没有问题,而且测试起来功能等一切正常,但就是提示这个错误。错误后面的代码块中下拉选择重新选一下。(下拉只有一个选项),就OK了。其实解决方法非常简单,就是把。请从下拉列表中选择合适项。
2023-03-14 13:51:41 592
原创 App Inventor 2连接模拟器一直失败的问题解决
在搜索栏搜索 Block insecure private network requests 并设置为 Disabled,重新打开浏览器就好了。在aiStarter正常启动的情况下,“连接” -> “模拟器” 一直失败?,这时往往就好了,大概率是aiStarter助手的bug。4、放弃使用aiStarter,使用商业模拟器,具体参考。在上面aiStarter助手启动界面,按提示点键盘。打开谷歌Chrome浏览器,在地址栏输入。aiStarter助手正常启动。aiStarter启动失败。
2023-03-14 13:48:17 3246
原创 App Inventor 2在不同的屏幕之间传递变量
1、多个变量可以用逗号拼在一起当成一个文本传递过去后,然后使用文本里的函数分割开就是多个变量了。2、使用列表变量传递(列表中可以放多个变量)。如果有两个变量,该如何操作?
2023-03-14 13:44:49 519
原创 App Inventor 2分享你的App:源代码(.aia)分享或编译成安卓安装包(.apk)分享
本文介绍了App Inventor 2分享的方式:1、源代码(.aia)分享2、编译成安卓安装包(.apk)分享。
2023-03-14 13:15:31 2654
原创 App Inventor 2能编译出苹果iOS版App吗?
App Inventor 2 目前并不支持编译出iOS app,只支持iOS版AI伴侣进行测试,但是AI伴侣的版本更新一直都是落后于安卓版的,导致测试时会有一些不兼容或一些奇怪的问题,体验不是很好,因此还是建议有条件的话还是使用安卓手机进行AI伴侣模拟测试及真机安装测试。
2023-03-14 13:11:14 221
原创 App Inventor 2 连接调试器的各种方式比较
1、小朋友编程的话,直接第一种,使用安卓手机扫二维码测试就行了。2、对于没有安卓手机的或需要一屏展示效果的,直接第二种使用商业模拟器。
2023-03-14 11:32:16 804
原创 App Inventor 2 中的“2”是什么意思?
2、代码编辑器区别:AI1基于Java Web Start,需要安装Jre运行环境;AI2完全由Javascript开发,浏览器可直接运行,而不依赖任何环境。2010年12月App Inventor对外公测,此版本也称为App Inventor 1 或 App Inventor Classic,简称AI1。3、导出项目文件区别:AI1导出的项目是.zip文件;1、功能区别:AI1官方不再开发更新,因此功能及新组件没有AI2多。两个版本的导出项目文件是不兼容的,模拟器也不兼容。
2023-03-14 11:25:40 227
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人