ImageView из титанового сплава из applicationDataDirectory

Я разрабатываю приложение, которое должно работать в автономном режиме. В приложении есть магазин, для которого я должен загружать и хранить изображения товаров. В «представлении магазина» у меня есть коллекция продуктов в ListView. Как можно привязать загруженные изображения к сплаву ImageView? Загруженные изображения находятся в applicationDataDirectory. Так что каким-то образом мне нужно иметь доступ к applicationDataDirectory в Alloy xml.


person Chris    schedule 31.05.2019    source источник


Ответы (1)


Вы можете использовать функцию transform Коллекции (https://docs.axway.com/bundle/Alloy_allOS_en/page/alloy_collection_and_model_objects.html). Там я бы проверил, находитесь ли вы в автономном/онлайн-режиме, и изменил путь к изображению (например, онлайн-изображения с URL-адресом или локальные изображения с Ti.Filesystem.applicationDataDirectory + "image-name.jpg")

person miga    schedule 31.05.2019
comment
хорошо, теперь у меня есть путь, возвращающийся из метода преобразования в модели, это абсолютный путь (/Users/cfradley/Library/Developer/CoreSimulator/Devices/F0A8C7B0-7F19-49AA-81B0-4099DEBF7494/data/Containers/Bundle /Application/C52FC904-82DC-4137-88D1-1E5889A42430/Documents/productImages/MKC111AL710.jpg), который не кажется полезным в теге ImageView сплава в качестве атрибута изображения. Я вижу только заполнитель изображения. ‹ImageView image={ image } /› в представлении какой правильный путь для атрибута изображения? - person Chris; 05.06.2019
comment
почему, это правильный путь для изображения симулятора. Вы пробовали? Просто снова установите его в модель, и он должен отображаться. В вашей функции преобразования вы возвращаете модель и там вы просто устанавливаете новый путь для изображения (см. этот учебник medium.com/all-titanium/). И image принимает BLOB-объекты и пути в виде строки! - person miga; 05.06.2019
comment
О боже мой, да, спасибо, у меня только что была синтаксическая ошибка, правильный ответ, очевидно, спасибо! - person Chris; 06.06.2019