2013-11-15 1 views
0

Я загружаю некоторые изображения в свое приложение, чтобы они отображались без использования какой-либо полосы пропускания. Код, я использую для хранения изображений на моем устройстве Android является следующее:FLEX MOBILE: Не удается прочитать изображения «сохраненные» в локальной файловой системе на моем Android-планшете

 var file:File = File.applicationDirectory.resolvePath(fileName); 
     if (file.exists) 
     { 
      file.deleteFile(); //delete it if exists 
     }         

     var fileStream:FileStream = new FileStream();   
     fileStream.open(file, FileMode.WRITE);   
     fileStream.writeBytes(data, 0, data.length);    
     fileStream.close();  
     var showLocalPath:String = file.nativePath; 

Для отображения изображений я использую следующие два примера:

<s:BitmapImage id="iconStateImage" source="{appContext.CurrentState.IconImage}"/> 
<s:Image id="backgroundStateImage" left="0" right="0" top="0" bottom="0" source="{File.applicationDirectory.resolvePath(appContext.CurrentState.BackgroundImage)}"/> 

Оба appContext.CurrentState.IconImage и appContext.CurrentState.BackgroundImage есть тот же путь первого fileName. Несмотря на то, что я пытаюсь загрузить изображения с полным путем (второй случай) или с коротким путем (первым), я не могу его отобразить.

Я уже установил разрешения WRITTING для проекта.

Может ли кто-нибудь помочь мне в этом? Заранее спасибо.

Привет,

Себастьян

ответ

1

File.applicationDirectory только для чтения; вместо этого вы захотите использовать File.applicationStorageDirectory.

См. Также How can you delete a file in the application directory? и Flex File documentation.

Затем добавить "приложение-память: /" перед путевым изображения:

<s:Image id="backgroundStateImage" source="app-storage:/{appContext.CurrentState.BackgroundImage}"/>

+0

Спасибо Брайану. Это только половина пути, хотя. Я использовал «useapplicationStorageDirectory», как вы сказали, но мне также нужно добавить «app-storage: /» перед пути к изображению. Далее приведен пример: '' Пожалуйста, добавьте это в свой ответ, чтобы я мог отметить его как правильный , – SebastianT

+0

Сделано! Рад, что смог помочь. – Brian