此代码在iOS上完美运行。
当我在我的SGSII Android手机上运行相同的线路时,根本没有任何进展。文本laddar...
只是无限循环。
我添加了
"android.permission.INTERNET",
到我的build.settings文件。
这是我的代码:
local function fetchDataFromURL()
local loadingText = display.newText("no text", 0,0,"Sintony", 40)
loadingText.text = "Laddar stipendier..."
loadingText:setReferencePoint(display.CenterLeftReferencePoint)
loadingText.x = mainBox.x - loadingText.width/2
loadingText.y = mainBox.y
local function updateLoadingText()
if (loadingText.text == "Laddar stipendier") then loadingText.text = "Laddar stipendier."
elseif (loadingText.text == "Laddar stipendier.") then loadingText.text = "Laddar stipendier.."
elseif (loadingText.text == "Laddar stipendier..") then loadingText.text = "Laddar stipendier..."
elseif (loadingText.text == "Laddar stipendier...") then loadingText.text = "Laddar stipendier"
end
loadingText:setReferencePoint(display.CenterLeftReferencePoint)
loadingText.x = 134
end
local loadingTimer = timer.performWithDelay(500, updateLoadingText, 0)
local function compare(a,b)
return a.title < b.title
end
local function infoFetch(event)
-- perform basic error handling
if ( event.isError ) then
print( "Network error!")
else
local data = json.decode(event.response)
scholarshipTable = data.scholarships
for key, value in pairs(scholarshipTable) do
table.insert(namesOfScholarship,{title = value.title, id = value.id})
end
table.sort(namesOfScholarship, compare)
timer.cancel(loadingTimer)
loadingText:removeSelf()
loadingText = nil
createTableView()
return true
end
end
network.request( dataURL, "GET", infoFetch )
end
我看不出这个代码有什么问题,而且我觉得它在我的Android设备上不起作用。
感谢任何帮助
答案 0 :(得分:1)
更新到最新版本解决了我的问题
答案 1 :(得分:0)
我没看到你的代码有什么问题
我认为问题是你的Android设备,有时设备的互联网连接是问题
您可以在请求中添加超时
local params = {}
params.timeout = 3 --in seconds
network.request( dataURL, "GET", infoFetch , params)
如果它在3秒内没有加载,它将返回event.isError