Android アプリケーションの解凍プロセス中に決定的なプログレスバーを使用するにはどうすればよいですか?
プログレスバーを更新するためにファイルする必要があることはわかっていますが、この情報を取得する方法がわかりません。
ありがとうございました!
PS私はこの投稿にあるコードを解凍するために使用します: https://stackoverflow.com/a/7697493/1364296
Android アプリケーションの解凍プロセス中に決定的なプログレスバーを使用するにはどうすればよいですか?
プログレスバーを更新するためにファイルする必要があることはわかっていますが、この情報を取得する方法がわかりません。
ありがとうございました!
PS私はこの投稿にあるコードを解凍するために使用します: https://stackoverflow.com/a/7697493/1364296
Androidアプリケーションで解凍プロセス中に確定プログレスバーを使用するにはどうすればよいですか?
ZipFile
エントリの数を見つけるために使用します。でそれを使用して、進行状況の上限を設定setMax()
します。ProgressBar
次に、各ファイルを処理するときに、進行状況を1ずつ増やします。
郵便番号については、これを使用します。
public static void zip(String[] files, String zipFile) throws IOException {
BufferedInputStream origin = null;
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile)));
try {
byte data[] = new byte[BUFFER_SIZE];
for (int i = 0; i < files.length; i++) {
FileInputStream fi = new FileInputStream(files[i]);
origin = new BufferedInputStream(fi, BUFFER_SIZE);
try {
ZipEntry entry = new ZipEntry(files[i].substring(files[i].lastIndexOf("/") + 1));
out.putNextEntry(entry);
int count;
while ((count = origin.read(data, 0, BUFFER_SIZE)) != -1) {
out.write(data, 0, count);
}
}
finally {
origin.close();
}
}
}
finally {
out.close();
}
}
はるかに高速になるため、解凍時に圧縮するときにバッファを使用してみてください