【发布时间】:2016-09-20 15:00:41
【问题描述】:
我想用 NativeScript 开发一个简单的应用程序,它显示存储在 sdcard 存储中的图像数组。我可以使用 NativeScript 的“文件系统”模块访问这些文件,但我无法显示它。
我在这里给你我的代码
主视图模型.js
var fs = require("file-system");
var imageModule = require("ui/image");
var Observable = require("data/observable").Observable;
var imageSource = require("image-source");
var mediaFiles=[];
var cont=0;
var viewModel;
function createViewModel() {
viewModel = new Observable();
var sdcard = fs.path.join(android.os.Environment.getExternalStoragePublicDirectory(android.os.Environment.DIRECTORY_DCIM).getAbsolutePath(), "Camera");
var folder = fs.Folder.fromPath(sdcard);
folder.getEntities()
.then(function (entities) {
// entities is array with the document's files and folders.
entities.forEach(function (entity) {
if (entity.extension==".png" || entity.extension==".jpg" ){
mediaFiles.push(entity.path);
}
});
//transicion();
}, function (error) {
});
}
function transicion()
{
//while (cont < mediaFiles.length){
cont++;
mostrarImagen(mediaFiles[cont]);
//transicion()
}
function mostrarImagen(ImagePath){
console.log("muestro imagen "+ ImagePath);
var img = imageSource.fromFile(ImagePath);
console.log(JSON.stringify(img));
viewModel.set("image", image);
page.bindingContext = viewModel;
//if (cont<mediaFiles.length-1)
// setTimeout("transicion()",2000);
}
exports.createViewModel = createViewModel;
主页.xml
<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo">
<StackLayout>
<Label text="Portaretratos" class="title"/>
<Image src="{{ image }}" />
</StackLayout>
</Page>
【问题讨论】:
-
如果以下答案之一回答了您的问题,本网站的运作方式,您将“接受”答案,更多信息请点击此处:What should I do when someone answers my question? 。但前提是你的问题真的得到了回答。如果没有,请考虑在问题中添加更多详细信息。
标签: android xml image nativescript