通常在应用中,数据可能需要存储在不同的xml文件中,但AppInventor2默认所有的数据都存储在TinyDB1.xml这个文件中,使用不灵活。
现修改代码,增加以下函数,使开发人员可以把数据存储在不同的xml文件中,其中相比原有函数多出的name参数,就是xml文件的名称。
有时为了安全起见,保存到本地的数据还需要进行加密处理,StoreValueNew函数的最后一个参数标识是否对数据进行MD5加密。
增加如下代码:
在OdeMessages.java中增加函数和参数声明:
@DefaultMessage("GetValueNew")
@Description("")
String GetValueNewMethods();
@DefaultMessage("StoreValueNew")
@Description("")
String StoreValueNewMethods();
@DefaultMessage("ClearAllNew")
@Description("")
String ClearAllNewMethods();
@DefaultMessage("ClearTagNew")
@Description("")
String ClearTagNewMethods();
@DefaultMessage("GetTagsNew")
@Description("")
String GetTagsNewMethods();
//参数声明
@DefaultMessage("bIsEncryption")(www.xing528.com)
@Description("")
String bIsEncryptionParams();
在OdeMessages_zh_CN.properties中增加函数和参数的中文字符串:
GetValueNewMethods=获取数值
StoreValueNewMethods=保存数值
ClearAllNewMethods=清除所有数据
ClearTagNewMethods=清除标签数据
GetTagsNewMethods=获取标签数据
bIsEncryptionParams=是否
App Inventor 2提供的“获取数值”函数,如果输入的标签不存在,则返回空字符串,如图17-2所示。新增的“获取数值”函数,同样也能实现此功能。
StoreValueNew函数的最后一个参数值默认为false,不对数据加密。
需要修改drawer.js文件,实现对参数默认赋值,代码如下:
图17-2 原有“获取数值”函数
编译、运行系统后,在工作面板中,可以看到增加了5个新函数,这5个函数比原有函数多了参数:名称,用于处理不同的xml文件,如图17-3~图17-5所示。
图17-3 新增功能函数1
图17-4 新增功能函数2
图17-5 新增功能函数3
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。