你如何从Titanium Cloud中检索照片?

时间:2013-12-05 05:26:15

标签: android imageview titanium tableview titanium-mobile

我是Titanium和Web开发的新手。我将一些图像上传到Titanium Cloud Service(ACS),并想在我的应用程序上显示它们。以下是我的代码。它运行,但除了标题和后退按钮,我没有看到任何照片。有人可以看看我的代码并给我一些暗示我缺少的东西吗?谢谢你的时间!

    //Import the module
var Cloud = require('ti.cloud');
Cloud.debug = true;  // optional; if you add this line, set it to false for production 

// this sets the background color of the master UIView (when there are no windows/tab groups on it)
Titanium.UI.setBackgroundColor('#000');

exports.getAlbumWin = function() {

    //create window
    var album_window = Titanium.UI.createWindow({
        backgroundColor:'#FFF',
        title: "Travel Diary"
    });

    //create title
    var title = Titanium.UI.createLabel({
        text: "All Trip Photos Submitted by Our Users",
        top:10,
        color: '#008000',
        textAlign: 'center',
        font: {fontSize:50}
    });


    var tableView = Ti.UI.createTableView({
        top: '5%',
        scrollable: true,
        width: '100%',
        minRowHeight: '500',
        bottom: '10%',
    });


    //Get diary entries, add them to the table view and display it  
    Cloud.Photos.query({
       page: 1,
       per_page: 10
    }, function(e) {
        var row, dateLabel, placeLabel, reviewLabel;
        var displayData = [];

        if (e.success){    
            alert('Count: '+e.photos.length);

            for (var i=0; i<e.photos.length; i++) {
                var photo = e.photos[i];

                var image2 = photo.urls.square.toImage();
                //create imageView
                var photoView = Ti.UI.createImageView({
                    image: image2
                });
                //photo.urls.square

                displayData.push(photoView);
            }

            tableView.setData(displayData);
        } else {
            alert('Error:\n' + ((e.error && e.message) || JSON.stringify(e)));
        }   
    });

    //add a 'back' button
    var back_button = Titanium.UI.createButton({
        title: "Back",  
        height:160,
        left:40,
        right:40,
        bottom: '0%'    
    });     

    //Add Event Listener
    back_button.addEventListener('click', function(){
        //call an export function
        var win = require('home').getHomeWin;

        //create new instance
        var nextWin = new win();
        nextWin.open();
    });

    album_window.add(title);
    album_window.add(tableView);
    album_window.add(back_button);
    return album_window;
};

1 个答案:

答案 0 :(得分:0)

在appcelerator文档中,您可以看到Ti.UI.imageView的图像属性是什么,

  

image:(String / Titanium.Blob / Titanium.Filesystem.File)   要显示的图像,使用本地文件系统路径,文件定义   object,远程URL ,或包含图像数据的Blob对象。一滴而且   移动网络不支持文件对象。

所以你可以,按原样使用url。

试试这个,

var image2 = photo.urls.square_75;

(除非您指定了名为square的自定义照片尺寸,否则请用作此选项。)

查看here以获取有关Cloud photo object的“urls”属性的更多信息。