2021-3-8 23:01:16 [显示全部楼层]
418浏览
查看: 418|回复: 0

[Technovation] 【Technovation官方中文教程】 编程12 - 在设备上储存数据

[复制链接]
教程地址:https://bit.ly/TGirlsCN-Coding12
返回教程目录:https://mc.dfrobot.com.cn/thread-308465-1-1.html



编程12:在您的设备上储存数据
  
学会在您的设备上储存数据是在代码复杂性课题中获得更多分数的一种方法。学会它还有助于应用程序函数、用户体验和设计及技术学习。
  
  
本课中,您将学会……
  
●        用App  Inventor和Thunkable在您的设备上存储数据
  
●        在App  Inventor中使用TinyDB
  
●        在Thunkable中使用已存储的变量
  
  
关键术语和概念
  
  
●        -对值(Key-pair  value - 一种存储信息的方法。
  
●        本地存储Local storage- 在设备上存储信息的一种方式
  
●        数据库(Database –  一种有组织的信息集合
  
●        本地数据库(Local Database - 存储在设备上的有组织的信息集合
  
●        调用数据库  –  让您可以在数据库中存储、获取、更新或删除信息
  
●        TinyDB  - 可在App Inventor中使用的一种数据库服务,它可以让您在设备上存储信息
  
●        本地存储(Thunkable组件) Thunkable中的一个组件,让您可以在设备上存储信息
  
  
灵感 – 在您的设备上储存信息
  
  
本地存储
  
在本课中,您将学习如何在设备上存储数据或使用本地存储。以下是您日常生活中可能用到的一些数据存储的例子:
  
●    联系人列表 - 存储朋友的电话号码,以便以后使用
  
●    消息传递应用程序 - 大多数消息传递应用程序会自动存储旧的消息,以便您以后翻阅
  
●    文件柜 - 您可以在这里存储和整理文书工作
  
  
在应用程序中,您可以使用本地存储储存用户打开和关闭程序之间存在的信息。在本课中,您将学习如何使用键对值(Key-pair value存储信息。存储库中的每条信息都称为一个值(value),而键(key)就是名称。
  
数据库
  
本地存储有时也称为本地数据库数据库是有组织的信息集合。访问数据库称为调用数据库对其进行调用。调用数据库时,您可以获取信息,删除信息,存储新信息或更新信息。键就像一个变量名,它告诉数据库您想要获取、存储、更新或删除哪一部分信息。
  
接下来的两个部分内容将向您展示如何在App  Inventor和Thunkable在设备上使用存储信息。
  
App Inventor中使用Tiny  DB组件,在Thunkable中使用本地存储(Local Storage)组件
  
在App Inventor中,使用组件TinyDB可将数据保存在用户手机上,每次用户登录您的应用程序时,数据都会在用户的手机上。在Thunkable中,本地存储组件执行相同的操作。重要的是要记住,TinyDB和本地存储仅能让您在本地存储数据。也就是说两个用户不能用相同的TinyDB或本地存储组件共享数据。当用户将数据存储到TinyDB或本地存储中时,该数据只能在她的手机上使用,其他任何人都无法使用。在下节课中,您将学习如何在手机之间共享信息。
  
要使用TinyDB或本地存储,请通过设计器将其拖动到屏幕上。您可以在App  Inventor的存储菜单和Thuankble的数据菜单下找到它。它将作为一个不可见的组件出现,如下所示:
  
   
App    Inventor
   
Thunkable   
MonMarch-202103086088..png    
   
MonMarch-202103088745..png    
  
  
您可以通过调用TinyDB或本地存储与其进行对话。对其进行调用时,您可以存储信息并从中获取信息。通过在App  Inventor中为其赋予一个“标签”,在Thunkable中为其赋予一个“键”,可存储数据。键是您用来检索数据的名称。它很像一个变量名。如果您使用相同的标记名或键名存储数据两次,那么TinyDB或本地存储将用新数据覆盖或擦除旧数据。如果您需要更新存储空间,这一特点将很有帮助,但请注意绝不要重复使用同一个名称! 以下是调用TinyDB和本地存储的一些示例:
  
   

   
App    Inventor
Thunkable   
   
储存或保存
   

   
MonMarch-202103085259..png

   
MonMarch-202103086356..png
   
获取
   
MonMarch-202103089736..png    
MonMarch-202103082529..png    
  
  
在上面的学习中,我们用标签/键“食物”储存了我们的水果列表。第二个代码块显示了如何从存储中检索水果列表。输入的标签/键必须与存储数据时的键入完全相同,包括所有字母的大小写。
  
为了更好地理解这一点,让我们来看一个例子。假设您需要在数据库中存储三件事。一个是水果列表,一个是您的年龄,另一个是您最喜欢的事情的列表。您对数据库进行了三次调用,如下所示:
  
   
App    Inventor
   
Thunkable
MonMarch-202103086970..png
MonMarch-202103086307..png
MonMarch-202103086544..png    
   
   
   
MonMarch-202103089160..png
MonMarch-202103087173..png MonMarch-202103086042..png    

  
现在,您的数据库中有三个条目,如下所示:
  
   
标签/键名:“食物”(Food)
   
:
   
Ÿ      “苹果”(索引=1)
   
Ÿ      “香蕉”(索引=2)
   
Ÿ      “橙子”(索引= 3)
   
标签/键名:“我的年龄”(MyAge)
   
:    16
   
标签/键名:“最喜欢做的事情”(Favorite)
   
:
   
Ÿ      “学习如何编码”(索引=1)
   
Ÿ      “探亲”(索引=2)
   
Ÿ      “听音乐”(索引=3)   
  
注意:想复习有关列表课程的内容,请参阅代码6:列表
  
现在,当您想检索自己最喜欢做的事情时,可以这样调用:
  
   
App    Inventor
   
Thunkable
MonMarch-202103088789..png    
   
MonMarch-202103081168..png    
  
使用此代码块时,您将获得“学习如何编码访问家庭听音乐”。现在,假设您想检索自己的年龄,可以这样调用:
  
   
App    Inventor
   
Thunkable
MonMarch-202103085062..png    
   
MonMarch-202103081205..png    
  
  
使用此代码块时,您只会得到一个空白字符串:“”。这是因为标签“ myage”在您的数据库中不存在! 但是,标签“ MyAge”是确实存在的。由于您的数据库不能识别标签,它默认显示“  valueIfTagNotThere”旁边的代码块,这是一个空白的字符串。您可以让这个字符串说出您想要的任何内容。甚至可以将其作为错误消息发送给您的用户。
  
注意:在App Inventor中,如果您创建了一个有多个屏幕的应用程序,组件和变量将无法在各个屏幕之间相互对话。您可以使用TinyDB将信息从应用程序的一个屏幕传输到另一个屏幕。访问此页面了解更多信息:MIT  Screens
  
  
活动 – 待办事项列表
  
  
这个待办事项列表可让用户创建一个待办事项列表,应用程序每次打开和关闭时都会记住它。然而,源代码有一个bug。该应用程序永远不会记住用户添加或删除的任何任务。您能想出解决办法吗?
      
  
   
提示:您需要添加这个代码块,这样一来,每次用户从他们的列表中添加或删除一些东西时,数据库也会随之更新。您能找出标签和valueToStore(值至储存)或值应该是什么吗?
   
   
App    Inventor
MonMarch-202103086597..png
   

   
Thunkable
MonMarch-202103088805..png
   
  
  
  
如果您卡壳了,请查看Technovation校友Jennifer John的以下App Inventor视频教程:Jennifer  John's App Inventor To-Do List Video
  
  
举一反三
  
  
现在,您学会了如何在手机上存储数据,请与小组成员进行头脑风暴,讨论如何在自己的应用程序中使用它。下一节编码课程将教您如何将信息存储在云中,用户不仅可以从自己的手机上访问信息,还可以在登录帐户的任何位置访问信息。
  



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail