实现链接到网站最简单地办法是使用 application:openUrl( THE_URL )函数,URL可以是 http:,tel:和mailto中的一个
打开一个网页,可以用:
application:openUrl( "http://www.baidu.com" )
发送一个邮件,可以用:
application:openUrl( "mailto:dev.ozapps@gmail.com" )
还可以添加主题和内容:
application:openUrl( "mailto:dec.ozapps@gmail.com?subject=hello" )
如果在iPhone上运行程序,你可以使用下面的方式拨打电话:
application:openUrl( "tel:555-7878-7878" )
在游戏中,想要下载一个文件,一些JSON或者一个包含等级数据的文本文件,这些必须要用到openUrl函数
不过这里可以使用UrlLoader类
local loader = UrlLoader.new( "http://example.com/image.png" )
local function onComplete( event )
local out = io.open( " |D|image.png","wb" )
out.write( event.data )
out.close()
local b = Bitmap.new( Texture.new( "|D|image.png" ) )
stage:addChild( b )
end
local function onError()
print( "error " )
end
local function onProgress( event )
print( " progress : "..event.bytesLoaded.." of "..event.bytesTotal )
end
loader:addEventListener( Event.COMPLETE,onComplete )
loader:addEventListener( Event.ERROR,onError )
loader:addEventListener( Event.PROGRESS,onProgress )
首先新建了一个UrlLoader的实例,用来实现下载,UrlLoader的 默认方法是UrlLoader.GET,其他选项是POST,PUT和DELETE,
使用POST或者PUT时,可以传递头部信息和数据给URL
local url = "http://www.[yourDomain].com/application.php?userid=gideros&login=quest"
local loader1 = UrlLoader.new( url )
local loader2 = UrlLoader.new( url,UrlLoader.GET )
local loader3 = UrlLoader.new( url,UrlLoader.POST )
local loader4 = UrlLoader.new( url,UrlLoader.PUT )
local loader5 = UrlLoader.new( url,UrlLoader.DELETE )
local headers = {
[ "Content-Type" ] = "application/x-www.form-urlencoded"
[ "User-Agent" ] = "Gideros Browser"
}
local loader6 = UrlLoader.new( url,UrlLoader.PUT,headers,"key=value" )
我们可以设置监听器监听进度事件、完成事件以及出错事件。每次接受一块数据,就会触发进度事件,同时事件对象传递bytesLoaded和bytesTotal。
这可以用来跟踪并以字节或百分比的形式显示进度。如果发生错误,会触发错误事件,如果成功完成,则触发完成事件。