2010-07-29 4 views
0

Я пишу приложение для Android, которое включает ImageView. Изображение, которое будет включено в представление, находится в локальном каталоге приложения эмулятора. Изображение не отображается в представлении. Ниже приведены альтернативные XML и методы, используемые для отображения изображения.Android: невозможно отобразить png изображение в ImageView

Файл изображения является файлом формата «png» и может быть открыт из каталога локального приложения. Путь, возвращаемый getFilesDir(), включает полный путь: /data/data/net.vitalrecord.android/files. Это обозначение пути не существует в системе разработки, но существует, когда используется проводник DDMS.

Любая помощь с этой проблемой очень ценится.

Спасибо.

РАСПОЛА XML:

<AbsoluteLayout> 
...... 

<ImageView 
android:id="@+id/picture" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_x="100px" 
android:layout_y="100px"/> 
</AbsoluteLayout> 

Метод: общественных пустоты checkFilesExists() {

..... 

try { 
Context context = getApplicationContext(); 
FILENAME = getString(R.string.MedicalImage); 
fis = openFileInput(FILENAME); 
int size = fis.available(); 
byte[] buffer = new byte[size]; 
fis.read(buffer); 
fis.close(); 
setContentView(R.layout.medtogoimage); 
    ImageView iv = (ImageView)findViewById(R.id.picture); 
    String imagePath = context.getFilesDir() + "/" + FILENAME; 
    Drawable d = Drawable.createFromPath(imagePath); 
    iv.setImageDrawable(d); 
    medtogo.setbMedicalImageFileExists(true); 
} catch (IOException e) { 
    medtogo.setbMedicalImageFileExists(false); 
} 

ответ

2

Вы должны поместить изображения внутри Рез/вытяжку папки. Затем вы можете получить ссылку на класс R или присвоить его ImageView из XML-файла макета.

+0

Изображение png хранится в каталоге локального приложения, так как оно извлекается с удаленного сервера как поток вместе с другими элементами данных. Загружаемая папка - это папка только для чтения. Но спасибо за предложение. – Roy

0

Вы пытались установить режим MODE_WORLD_READABLE?

+0

Нет, я не пробовал «MODE_WORLD_READABLE». На самом деле, я не хочу, чтобы мир читал изображение. Приложение может считывать изображение, как показано в приведенном выше коде. Я считаю, что проблема заключается в методе «getFilesDir()». Используя debug, он возвращает абсолютный путь «/data/data/net.vitalrecord.android». Этот абсолютный путь не существует в системе разработки. Однако, когда надстройка Eclipse Android используется для вызова File Explorer DDMS, папка/data/data/... отображается вместе с png-изображением. Я подозреваю, что локальная папка приложения встроена в контекст эмулятора. – Roy

Смежные вопросы