2011-12-29 45 views
5

Tôi đã hoạt động trên Android trong vài tháng qua, bây giờ vấn đề đối với tôi là đọc tệp .zip được đặt trên sdcard. Tôi đã thực hiện thành công mã hóa để tải xuống tệp .zip trên sdcard.Cách đọc tệp trực tiếp từ tệp .zip mà không cần giải nén trong android

Tôi có tệp img.zip được tải xuống thẻ sdcard. Tệp img.zip này chứa 5 tệp hình ảnh. Bây giờ thay vì giải nén img.zip tôi có thể đọc trực tiếp nội dung của nó ... ??? nếu có plz giúp đỡ. Tôi thấy vài ví dụ trên internet nhưng tất cả đều nói để giải nén và sau đó sử dụng, tôi muốn tránh phần đó bởi vì tôi chỉ đơn giản là muốn đặt hình ảnh cho một lần xem hình ảnh.

ImageView imv = new ImageView(this); 
imv.setImageURI(Uri.parse("//sdcard/1.png")); 

điều này giống như tải xuống một hình ảnh và đặt nguồn imv thực sự hoạt động. Bây giờ những gì tôi muốn là một cái gì đó như hình dưới đây.

imv.setImageURI(Uri.parse("//sdcard/img.zip/1.png")); 

Tôi đã thử điều này, nhưng trong bố cục của tôi, tôi không thấy hình ảnh.

nó có thể được thực hiện ... plz giúp ...

tôi nhận nó làm việc bằng đoạn mã sau ....

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(); 
       } 

Trả lời

2

Hãy thử

imv.setImageURI(Uri.parse("//sdcard/img.zip!/1.png")); 
+0

@ MahdeTo- Cảm ơn cho trả lời nhưng nó không làm việc bố trí được mở mà không có bất kỳ hình ảnh. Những gì thực sự làm điều đó! biểu tượng có nghĩa là .. ?? – AMUL

+0

tôi xin lỗi bạn cần phải chỉ định giao thức cho jar: tệp: lúc đầu. – MahdeTo

+0

! có nghĩa là từ bên trong zip này hoặc tập tin jar truy cập đường dẫn này – MahdeTo

Các vấn đề liên quan