2013-12-05 4 views
0

Я новичок в титане и веб-разработке. Я загрузил некоторые изображения в Titanium Cloud Service (ACS) и хочу отображать их в своем приложении. Ниже мой код. Он работает, но я не вижу никаких фотографий, кроме кнопки «Название» и «Назад». Может кто-нибудь взглянуть на мой код и дать мне некоторый намек на то, что мне не хватает? Спасибо за ваше время!Как вы извлекаете фотографии из Titanium Cloud?

//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; 
}; 
+0

Что вы получаете в «image2»? Получаете ли вы данные Blob в этой переменной? Также попробуйте решение, предложенное Мелвином –

ответ

0

В Appcelerator Docs вы можете увидеть, что это изображение свойство Ti.UI.imageView,

изображения: (String/Titanium.Blob/Titanium.Filesystem.File) Изображение в дисплей, определенный с использованием пути локальной файловой системы, файл , удаленный URL или объект Blob, содержащий данные изображения. Blob и Файловые объекты не поддерживаются в Mobile Web.

Таким образом, вы можете использовать URL-адрес так, как есть.

Попробуйте, как это,

var image2 = photo.urls.square_75;

(Использовать как это, если вы не указали на заказ Размер фото под названием квадрат).

Посмотрите here для получения дополнительной информации о объекте "urls" объекта Cloud photo.

Смежные вопросы