Titanium Appcelerator照片库(​​根据服务器列表显示照片网格)

时间:2011-05-31 19:59:22

标签: iphone titanium photo-gallery

我在Titanium Appcelerator(iPhone应用程序)中的照片库视图中遇到了一些问题。我目前没有任何示例代码可以分享,因为我对这应该如何运作感到茫然。

我只想打电话给我的服务器获取图像列表,并将这些图像作为缩略图显示在网格中,可以全屏查看,就像您通常从电话照片库中看到的那样。

在我看过的所有示例代码中,它都讨论了如何将照片保存到手机中。在显示之前,我真的不需要为手机上的许多帐篷保存很多活动照片吗?是吗?

我如何以标准系统方式循环遍历网格列表以显示在网格中?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

var newsFeed = Titanium.Facebook.requestWithGraphPath('me/feed', {}, 'GET', function(e) {
        if (e.success) {
            var videoObjs = new Array();
            var result = (JSON.parse(e.result)).data;

            for(var c = 0; c < result.length;c++) {
                if(result[c].type == 'video') {
                    var vid = result[c].source.substring((result[c].source.indexOf("/v/"))+3, (result[c].source.indexOf('?')));
                    vidInfo = {
                        vGuid:vid,
                        thumb:"http://img.youtube.com/vi/"+vid+"/0.jpg",
                        descr:result[c].name
                    };
                    videoObjs.push(vidInfo);
                }
            }
            updateTable(videoObjs);
            buildCoverFlow(videoObjs);
            buildDashboard(videoObjs);
        } else if (e.error) {
            alert(e.error);
        } else {
            alert('Unknown response');
        }
    });

var tableData = [];
    var colorSet = [
    "#D44646",
    "#46D463",
    "#46D4BE",
    "#C2D446",
    "#D446D5",
    "#4575D5",
    "#E39127",
    "#879181",
    "#E291D4"
    ];

    var cellWidth = 240;
    var cellHeight = 180;
    var xSpacer = 12;
    var ySpacer = 20;
    var xGrid = 3;
    var yGrid = parseInt(videoObjs.length / 3);
    thumbProps = {
        xSpace : xSpacer,
        cellH : cellHeight,
        cellW : cellWidth
    }
    for (var y=0; y<yGrid; y++) {
        var thisRow = Ti.UI.createTableViewRow({
            className: "grid",
            layout: "horizontal",
            height: cellHeight+(2*ySpacer),
            selectedBackgroundColor:"red",
            backgroundColor:"black"
        });
        for (var x=0; x<xGrid; x++) {
            var index = x + xGrid * y;
            var videoObj = videoObjs[index];
            var thisView = createPlayerThumb(videoObj, thumbProps);
            thisRow.add(thisView);
        }
        tableData.push(thisRow);
    }
    tableview.data = tableData;
    tableview.separatorColor = 'black';
    galWin.add(tableview);

    tableview.addEventListener("click", function(e) {
        if(e.source.objName) {
            Ti.API.info("---> " + e.source.objName+e.source.objIndex + " was clicked!");
        }
    });
}


That's code I wrote for building an array of youtube thumbnails from a given facebook feed for the iPad.  Should be a good start.