Anda dapat menggunakan progress bar untuk menunjukkan progres pengunggahan atau pengunduhan objek. Topik ini menggunakan operasi GetObject untuk menjelaskan cara menampilkan progress bar saat mengunduh objek.
Usage notes
Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient dengan metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization (Android SDK).
Examples
Kode contoh berikut menunjukkan cara menampilkan progres pengunduhan objek bernama exampleobject.txt dari bucket bernama examplebucket:
// Membuat permintaan unduh.
// Tentukan nama bucket (misalnya, examplebucket) dan path lengkap objek (misalnya, exampledir/exampleobject.txt). Path lengkap objek tidak boleh mengandung nama bucket.
GetObjectRequest get = new GetObjectRequest("examplebucket", "exampledir/exampleobject.txt");
// Mengatur fungsi callback progres untuk menampilkan progress bar.
get.setProgressListener(new OSSProgressCallback<GetObjectRequest>() {
@Override
public void onProgress(GetObjectRequest request, long currentSize, long totalSize) {
Log.d("GetObject", "currentSize: " + currentSize + " totalSize: " + totalSize);
}
});
// Mengunduh objek secara asinkron.
OSSAsyncTask task = oss.asyncGetObject(get, new OSSCompletedCallback<GetObjectRequest, GetObjectResult>() {
@Override
public void onSuccess(GetObjectRequest request, GetObjectResult result) {
Log.d("GetObject", "downLoadSuccess");
}
@Override
public void onFailure(GetObjectRequest request, ClientException clientException, ServiceException serviceException) {
// Permintaan gagal.
if (clientException != null) {
// Terjadi exception pada client, misalnya exception jaringan.
clientException.printStackTrace();
}
if (serviceException != null) {
// Terjadi exception di sisi server.
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});References
Untuk kode contoh lengkap tentang penggunaan progress bar saat mengunduh objek, kunjungi GitHub.
Untuk informasi selengkapnya tentang cara menginisialisasi instans OSSClient, lihat Initialization.