我正在做一个Facebook应用程序,我想从用户的相册中提取所有可能的图像。
我目前正在尝试做的是一个fql查询,以便我可以找到属于该特定用户的所有图像。它就是这样的:
protected function loadFromFacebook(event:MouseEvent):void {
var fql:String = "select src_small from photo where owner = me()";
Facebook.fqlQuery(fql, handleGetPhotosResponse);
}
private function handleGetPhotosResponse(event:Object, fail:Object):void {
if (event != null){
facebookPhotos = new ArrayCollection(event as Array);
}
}
我将这些图像存储在数组中但我不知道如何继续。如何将这些图像加载到Tile List或Loader中?
非常感谢任何帮助,
感谢
答案 0 :(得分:0)
假设您是名为'tList'的TileList组件,您将在arraycollection上执行'for循环'并创建一个新映像,并在每次迭代时将其添加到TileList。
// I am not sure if the array collection contains photo urls,
// but this is the general idea ...
// you may need to build the url with fb graph ...
for ( var i:uing = 0; i < facebookPhotos.length; i++ )
{
var img:Image = new Image();
img.load( facebookPhotos.getItemAt(i) ); // url here
tList.addChild( img );
}
答案 1 :(得分:0)
你应该做一个接收结果对象和失败对象的处理函数。 结果对象是您使用fql请求的字段数组。
protected function loadFromFacebook(event:MouseEvent):void {
var fql:String = "select src_small from photo where owner = me()";
Facebook.fqlQuery(fql, handleGetPhotosResponse);
}
protected function handleGetPhotosResponse(result:Object, fail:Object):void
{
photosList = new ArrayCollection();
var photo:Object;
for (var i:Object in result)
{
photo = new Object();
photo.imgSrc = result[i].src_small;
photosList.addItem(photo);
}
provider = photosList;
}