我正在使用钛合金MVC框架为iOS和Android开发应用程序。我有一个由远程数据(JSON)填充的tableView。它工作得很好,但我想在没有任何互联网连接的情况下进行缓存。
我正在使用以下代码缓存数据:
function saveData(data){
var stringData = JSON.stringify(data);
var fileDirectory = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'results.txt');
fileDirectory.write(data);
}
function getData(){
var fileDirectory = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'results.txt');
var fileContents = fileDirectory.read();
var receivedData = JSON.parse(fileContents.text);
var parseReceivedData = JSON.parse(receivedData);
for (i = 0; i < parseReceivedData.Photos.length; i++){
var receivedPhotoTitle = parseReceivedData.Photos[i].title;
var receivedCollectionName = parseReceivedData.Photos[i].category;
var receivedCreatedAt = parseReceivedData.Photos[i].datetime;
var receivedImageURL = url+"/media/files/"+parseReceivedData.Photos[i].photo;
photoCollection.push(Alloy.createController('collectionRow',{"receivedImageURL":receivedImageURL,
"receivedPhotoTitle":receivedPhotoTitle,
"receivedCreatedAt": receivedCreatedAt,
"receivedCollectionName": receivedCollectionName
}).getView());
} // End of For Loop
}
我正在获取图片和文本的正确网址,但是当我将其分配给我的imageView和标签时,它不会出现在桌面上,并且表格显示为空白。
我正在执行onload函数中的saveData()和onerror函数中的getData。
我第一次使用远程数据。所以,如果我做错了什么,请帮我纠正。
谢谢。