URLLoader无法在Flex 4.6 Mobile Project for Android中使用

时间:2013-04-20 10:46:11

标签: actionscript-3 flex flash-builder picasa

URLLoader不会在Android Mobile上调度Event.COMPLETE事件,尽管它在Flash Builder Mobile Debugging中正常运行。代码段如下:

private function loadAlbumData():void
{
 var request:URLRequest = new URLRequest("https://picasaweb.google.com/data/feed/api/user/default");
    var urlloader:URLLoader = new URLLoader();
  urlloader.addEventListener(Event.COMPLETE, onLoadComplete);
  urlloader.load(request); 

}

private function onLoadComplete(evt:Event):void
{

   trace(evt.currentTarget.data);
}

我在这里从Google的Picasa服务请求相册XML。

1 个答案:

答案 0 :(得分:0)

从该XML页面的外观来看,它正在提取与我相关的数据。最好的猜测是它依赖于签署谷歌来确定用户是谁。如果用户没有Google Cookie(通过退出Google进行测试),则会返回“需要授权”,这可能会返回为HTTP状态错误,而不是实际页面。由于应用程序是沙盒式的,因此不会在应用程序甚至系统之间共享cookie而不明确要求它们(这可能需要ANE)

在这种情况下,您有两个选择:

  1. 了解如何允许用户登录Google,保存Cookie并在请求中发送。我从来没有在Flash中处理过cookie,所以我无法在这里帮助你
  2. 使用https://picasaweb.google.com/data/feed/api/user/USERNAMEHERE,其中USERNAMEHERE是您要从中提取数据的帐户的用户名。
  3. 显然解决方案取决于此功能的实现,因此我不建议使用哪一个。但这绝对是你的问题。