我在使用roku和它的特定语言(BasicScript)方面非常新手。我需要向某些服务器发起api调用以获取频道。我不知道如何在roku中实现这一点。请给予建议。
以下是一种直接的方法,无需依赖于SDK中包含的代码库的语法:
阻塞式方法(程序执行会一直停顿,直到URL被检索):
url="http://myserver.com/anExampleQuery?getmydata&apikey=AX5GZP5LL45D987D0&format=XML"
xfer=createobject("roURLTransfer")
xfer.seturl(url)
data=xfer.gettostring()
非阻塞方法,可以在等待数据的同时做其他事情:
url="http://myserver.com/anExampleQuery?getmydata&apikey=AX5GZP5LL45D987D0&format=XML"
xfer=createobject("roURLTransfer")
xfer.seturl(url)
port=createobject("roMessagePort")
xfer.setport(port)
timer=createobject("roTimeSpan")
timer.mark()
xfer.asyncgettostring()
while true
msg=wait(100,port) '100 millisecond pause
if type(msg)="roUrlEvent" then
if msg.getresponsecode()=200 then
data=msg.getstring()
headers=msg.getresponseheadersarray()
exit while
else
xfer.asynccancel()
end if
else
print "do something useful while we wait for data"
end if
if timer.totalmilliseconds() > 500 then
?"timeout exceeded"
exit while
end if
end while
print "***************HEADERS******************"
for each header in headers
print header
end for
print "***************DATA*********************"
print data
print "****************************************"
http=NewHttp("http://server address")
rsp = http.GetToStringWithRetry()
print rsp 'To check the response text from server
xfer.asynccancel()
块中显示对话框,但任务节点不支持对话框。是否有任何方法可以显示对话框?我尝试过使用getparent()
很多次,但还没有显示出来。 - Nikunj Chaklasiya