Estoy desarrollando con SDK 1.6.2.ImageView usando la imagen almacenada en Titanium.Filesystem.applicationDataDirectory muestra el marcador de posición, no la imagen
Mi aplicación utiliza la cámara para capturar y guardar una imagen en Titanium.Filesystem.applicationDataDirectory.
Se supone que un toque de la aplicación muestra todas las imágenes almacenadas (detalles [camino] almacenados en la base de datos) en mosaico en la pantalla.
guardar la imagen:
var image = event.media // from camera success
var filename = new Date().getTime() + "-ea.jpg";
bgImage = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, filename);
bgImage.write(image);
Almacenamiento de base de datos:
var db = Titanium.Database.open('photoDB');
try{
db.execute('INSERT INTO stored (image) VALUES (?)', bgImage.nativePath);
} catch(e) {
alert(e.message);
}
db.close();
Mostrando las Imágenes:
imageArray = [];
images = [];
var db = Titanium.Database.open('photoDB');
var dbrows = db.execute('select id, date, image from stored order by date asc');
while (dbrows.isValidRow()) {
imageArray.push({
image:dbrows.fieldByName('image')
});
dbrows.next();
}
dbrows.close();
// loop thru and display images
for (var i = 0; i < imageArray.length; i++){
var pushleft = (i % 4) * 75; // tile from left
var pushtop = Math.floor(i/4) * 96; // determine how far from top
var file = Titanium.Filesystem.getFile(imageArray[i].image);
images[i] = Ti.UI.createImageView({
image: imageArray[i].image, // path to image at applicationDataDirectory
width: 75,
height: 96,
left: pushleft + 5, // logic for positioning
top: pushtop + 5, // logic for positioning
store_id: imageArray[i].id
});
win.add(images[i]);
}
Desafortunadamente, mientras las fichas funcionan, las imágenes solo muestran el marcador de posición de la imagen, no la imagen almacenada.
Tengo un Phonedisk, así que después de crear la aplicación para mi dispositivo puedo ver el directorio de la aplicación y las imágenes se están almacenando.
¿Qué me estoy perdiendo?
Gracias por añadir su propia respuesta . Dos años después, ¡al menos una persona miró esto! –
jaja, no hay problema Tony! Me alegro de que haya ayudado. – joseym