Последние несколько месяцев я работаю над android, теперь у меня проблема с чтением файла .zip, размещенного на sdcard. Я успешно выполнил кодировку для загрузки файла .zip на SD-карту.
У меня есть файл img.zip, загруженный на SD-карту. Этот img.zip содержит 5 файлов изображений. Теперь, вместо того, чтобы разархивировать img.zip, я могу напрямую прочитать его содержимое ... ??? если да, пожалуйста, помогите. Я видел несколько примеров в Интернете, но все они говорят, что нужно разархивировать, а затем использовать, я хочу избежать этой части, потому что я просто хочу установить изображения для просмотра изображений.
ImageView imv = new ImageView(this);
imv.setImageURI(Uri.parse("//sdcard/1.png"));
это похоже на загрузку одного изображения и установку источника imv, который действительно работает. Теперь мне нужно что-то, как показано ниже.
imv.setImageURI(Uri.parse("//sdcard/img.zip/1.png"));
Я пробовал это, но в моем макете я не вижу изображений.
можно ли это сделать ... пожалуйста, помогите ...
Я заставил это работать с помощью следующего кода ....
try {
Bitmap mBackground=null;
FileInputStream fis = new FileInputStream("//sdcard/tp.zip");
ZipInputStream zis = new ZipInputStream(fis);
ZipEntry ze = null;
while ((ze = zis.getNextEntry()) != null) {
if (ze.getName().equals("1.png")) {
Toast.makeText(con, "Found", 2).show();
mBackground = BitmapFactory.decodeStream(zis);
imv.setImageBitmap(mBackground);
break;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}