应用介绍
数据存储一般分为两大类:本地 和 网络,本地一般是数据文件的形式存储在手机上,本地App每次启动都可以共享读取,但是不同的手机之间不可以共享数据;如果需要多个手机之间共享获取或存储数据的话,那就需要用到网络数据库了(云数据库、网络微数据库,它们目前默认都是MIT服务器),它的原理就是用户A将数据通过网络传输到云服务器,然后用户B通过网络可以读取到用户A存储的数据,最典型的应用就是类似微信的聊天App了。
本地数据库一般指的就是“微数据库”,提供键、值方式的存储。
本示例程序演示了如何保存App退出前的状态(即数据),然后重新打开App时仍然能够知道上次保存的数据。主要用到“数据通信”下的“微数据库”组件。
微数据库教程(难度系数:★)
教程入口:App Inventor 2 中文网(fun123.cn) -> 登陆 -> “项目指南” -> 微数据库"开始学习"。
App基本逻辑设计
- 点击按钮,将文本框中输入的内容,以一个固定的键保存到“微数据库”中。
- 屏幕初始化的时候,从“微数据库”中将同一个键的值读取出来,并设置到文本框中。
- 验证一下 AI伴侣 及 编译成apk 这两种情况下,保存的值在下次打开App时是否正确加载。
微数据库作用范围
- AI伴侣 保存的是所有的测试App共用的数据,要注意清理防止测试多个App时有干扰。
- 微数据库仅针对同一App有效,不能跨App保存数据,因此AI伴侣保存的数据,编译好的apk是不可能获取到的,反之也一样。
- 更多用法,请参考文档。
点按钮保存状态值,App初始化时读取
界面如下:
代码如下:
测试
经过测试,AI伴侣 及 编译成apk,均能保存我们输入的值到本地,下次启动后能读到上次设置的值。
后记
Q&A:保存整个app的状态怎么办?
答:App的状态也是由数据组成的,需要保留的状态设计成多个数据项目,保存本地微数据库即可。没有捷径可走,不可能自动将上次所有的界面原样保存,只能靠自己设计更多的变量保留更多的特性。