我是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;
};
答案 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”属性的更多信息。