Android’de ProgressBar ile dosya indirme

Progressbar herhangi bir işlemin başlangıç ve bitiş zamanını grafik olarak göstermekte kullanılır. Dosya indirme yükleme işlemleri kurulum gibi farklı işlemleri kullanıcıya göstermek amacıyla kullanılabilir. Bu bölümde progressbar kullanarak dosya indirmeyi görelim.

 
ProgressDialog islem = new ProgressDialog(this);
şeklinde  tanımlayarak işe başlamalıyız.

progress.setMessage("İndirilen Müzik Dosyası 🙂 ");
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress.setIndeterminate(true)
 
Kullanılan Özellikler 
getMax()
Progressbar Maksimum Değeri
incrementProgressBy(int diff)
Progressbar girilen farklı bir parametre olarak büyültür.
setIndeterminate(boolean indeterminate)
Göstergeyi belirnelebilir yada belirlenemez olarak değiştirir
setMax(int max)
Verilecek maksimum değer
setProgress(int value)
Progressbar’ ı belli bir değerle güncelleme
show(Context context, CharSequence title, CharSequence message)

Progress dialogu göstermek için kullanılan statik değer

Oluşturacağımız MainActivity Dosyası

package com.example.progressdialog;

import com.example.progressdialog.R;

import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

   private ProgressDialog progress;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      progress = new ProgressDialog(this);
   }


   public void open(View view){
      progress.setMessage("Downloading Music :) ");
      progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      progress.setIndeterminate(true);
      progress.show();

   final int totalProgressTime = 100;

   final Thread t = new Thread(){

   @Override
   public void run(){
 
      int jumpTime = 0;
      while(jumpTime < totalProgressTime){
         try {
            sleep(200);
            jumpTime += 5;
            progress.setProgress(jumpTime);
         } catch (InterruptedException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
         }

      }

   }
   };
   t.start();

   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
}
Layout Dosyası 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="150dp"
      android:onClick="open"
      android:text="@string/download_button" />

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentRight="true"
      android:layout_alignParentTop="true"
      android:layout_marginTop="19dp"
      android:text="@string/download_text"
      android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

Manifest Dosyamıza da aşağıdaki gibi olmalı

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.progressdialog"
   android:versionCode="1"
   android:versionName="1.0" >

   <uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="17" />

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      <activity
         android:name="com.example.progressdialog.MainActivity"
         android:label="@string/app_name" >
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>

</manifest> 
 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir