2

アプリの「/files」ディレクトリにzipからダウンロードして抽出した画像を表示する必要があります。私が知る限り、画像は適切にそこに入っています-エミュレーターからそれらを抽出し、デスクトップから表示/開くことができます。しかし、これまでに見つけて試したすべての試み、コードのバリエーションはすべて失敗しました (タグ: skia / テキスト: --- デコーダー->デコードが false を返しました)。

個別にダウンロードされ、圧縮されていない画像ファイルに対して機能する私の最新の構造:

String imgFile = new File(getFilesDir(), "myImage.jpg").getAbsolutePath();

        ImageView myImageView = new ImageView(this); 
        Bitmap bm = null;
        try{

            bm = BitmapFactory.decodeFile(imgFile);
            myImageView.setImageBitmap(bm);

        } finally{

            mainLayout.addView(myImageView);
        }

そして、これがzip抽出を処理するために使用している構成です。これが問題の原因だと思いますが、何が違うのか、そしてどのような効果があるのか​​ についてはわかりません。

ZipInputStream zis = new ZipInputStream(fis);
BufferedInputStream in = new BufferedInputStream(zis, 8192);
ZipEntry ze;

while ((ze = zis.getNextEntry()) != null){
    File dest_file = new File(getFilesDir(), ze.getName());
    FileOutputStream fout = new FileOutputStream(getFilesDir() + "/" + ze.getName());
    BufferedOutputStream out = new BufferedOutputStream(fout, 8192);
    byte b[] = new byte[1024];
    int n;

    while ((n = in.read(b,0,1024)) >= 0) {
        out.write(b,0,n);
    }

    for (int c = zis.read(); c != -1; c = zis.read()) { 
        fout.write(c); 
    }

    zis.closeEntry();
    fout.close();
}
zis.close();
fis.close();

ここでひどい停止状態に。解決策/提案に感謝します。

4

0 に答える 0