我希望能够将电晕中的步进窗口小部件中的值传递给json文件。到目前为止,我已经让我的步进器显示,递增和递减并在屏幕上显示当前值。我已经编写了一个函数来将值保存为json文件,但是我无法调用该函数。我希望能够在屏幕上进行其他设置,将其值保存到json。这里我需要保存设置的代码:
local function saveSettings (e)
-- body
print("testtesttest")
if (file) then
local content = file:read("*a")
else
settings = {}
settings.houses = StepperNo
file = io.open(path, "w")
local json_setting = json.encode(settings)
file:write(json_setting)
io.close(file)
end
end
然后显示步进器的代码:
local StepperNo = 1
local displayNoOfHouses = display.newText("Number of houses: "..StepperNo,180,135, native.systemFontBold,16)
local function onStepperPress( e )
if ("increment" == e.phase) then
StepperNo = StepperNo + 1
elseif ("decrement") == e.phase then
StepperNo = StepperNo - 1
end
displayNoOfHouses.text = "Number of houses: "..StepperNo
end
local HouseStepper = widget.newStepper {left = 100, top = 100, minimumValue = 0, maximumValue = 9, onPress = onStepperPress}
我不知道在按下步进器后如何调用savesetting函数。我想我可能做错了,或者可能遗漏了一些明显的东西,我对Lua来说很新......
答案 0 :(得分:1)
本教程中提供了一个非常简单的实现表格保护程序和加载程序:
http://coronalabs.com/blog/2014/10/14/tutorial-saving-and-loading-lua-tables-with-json/
它使用JSON对要保存的Lua表进行编码,并在需要时读回JSON并将其解码为Lua表。