صفحه اصلی » پایگاه دانش » برنامه نویسی اندروید » مثال های کاربری » نوار پیشروی با استفاده از ProgressDialog اندروید

فهرست آموزش برنامه نویسی اندروید

نوار پیشروی با استفاده از ProgressDialog اندروید

۱۳۹۸/۰۸/۲۶ ۴۰

Progress bar ها برای نشان دادن میزان پیشرفت یک فعالیت (task) به کار می روند.
وقتی که شما در حال بار گذاری (آپلود) یا دانلود کردن چیزی از اینترنت هستید، بهتر است که پیشروی بار گذاری یا دانلود (progress of download/upload) به یوزر نمایش داده شود. نوار پیشروی با استفاده از ProgressDialog اندروید چیست؟

در اندروید کلاسی به نام ProgressDialog وجود دارد که به شما امکان ایجاد Progress bar را می دهد. برای انجام این کار باید یک آبجکت از این کلاس را به عنوان نمونه در نظر بگیرید، که سینتکس آن مانند زیر می باشد :

 

ProgressDialog progress = new ProgressDialog(this);

 

حالا می توانیم  برخی از ویژگی های این دیالوگ، از جمله استایل و متن آن را تنظیم کنیم :

 

progress.setMessage("Downloading Music :) ");
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress.setIndeterminate(true);

 

علاوه بر این متد ها، متد های دیگری وجود دارند که توسط گروه ProgressDialog ارائه می شوند :

شماره متد  و  توضیحات
۱ ()getMax

این متد بیش ترین مقدار یک progress را گزارش می دهد.

۲ (incrementProgressBy(int diff

این متد Progress bar را بر اساس میزان اختلاف ، که به عنوان پارامتر عبور کرده اند، افزایش می دهد.

۳ (setIndeterminate(boolean indeterminate

این متد نشانگر Progress را به عنوان معین (determinate) یا نامعین، تنظیم می کند.

۴ (setMax(int max

این متد بیشترین مقدار یک progress dialog را تنظیم می کند.

۵ (setProgress(int value

این متد برای آپدیت progress dialog با چند مقدار مشخص، استفاده می شود.

۶ (show(Context context, CharSequence title, CharSequence message

این متد یک متد استاتیک می باشد که برای نمایش progress dialog استفاده می شود.

مثال

این مثال استفاده ی افقی از progress dialog را نشان می دهد که در واقع یک Progress bar می باشد. این مثال یک Progress bar را بر اساس کلیک روی دکمه نشان می دهد.

برای انجام مثال لازم است آن را روی یک دستگاه حقیقی، پس از توسعه ی اپلیکیشن ، اجرا کنید، طبق مراحل زیر :

مرحله توضیحات
۱ برای ایجاد یک برنامه ی اندروید از Eclipse IDE استفاده خواهید کرد و آن را با عنوان ProgressDialog تحت بسته ی com.example. progressdialog نام گذاری کنید
۲ فایل src/MainActivity.java را برای افزودن کد پیشروی و نمایش دیالوگ پیشروی spinning، تغییر دهید.
۳ فایل res/layout/activity_main.xml را برای افزودن کد XML مربوطه تغییر دهید.
۴ فایل res/values/string.xml را برای افزودن یک پیام به عنوان یک رشته ی ثابت، تغییر دهید.
۵ برنامه را اجرا کنید، یک دستگاه اجرایی اندروید انتخاب کنید و برنامه را روی آن نصب کرده و نتایج را بررسی کنید.

 

محتوای تغییر یافته ی src/MainActivity.java :

 

package com.example.sairamkrishna.myapplication;

import android.app.ProgressDialog;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends ActionBarActivity {
   Button b1;
   private ProgressDialog progress;
   
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      b1 = (Button) findViewById(R.id.button2);
   }
   
   public void download(View view){
      progress=new ProgressDialog(this);
      progress.setMessage("Downloading Music");
      progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      progress.setIndeterminate(true);
      progress.setProgress(0);
      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();
   }
}
محتوای تغییر یافته ی فایل

res/layout/activity_main.xml :

 

<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:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/textView"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp"
      android:text="Progress bar" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true"
      android:textSize="35dp"
      android:textColor="#ff16ff01" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Download"
      android:onClick="download"
      android:id="@+id/button2"
      android:layout_marginLeft="125dp"
      android:layout_marginStart="125dp"
      android:layout_centerVertical="true" />
      
</RelativeLayout>

 

محتوای پیش فرض AndroidManifest.xml :

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
   
      <activity
         android:name=".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>

 

می خواهیم اپلیکیشن نوار پیشروی با استفاده از ProgressDialog اندروید را اجرا کنیم ؛ فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از اندروید استودیو ، یکی از فایل های اکتیویتی پروژه را باز کرده و روی آیکون RunEclipse Run Icon از نوار ابزار کلیک کنید. قبل از شروع اپلیکیشن  شما، اندروید استودیو پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد :

Anroid Camera Tutorial

موبایل خود را به عنوان یک گزینه انتخاب کرده و سپس آن را چک کنید که صفحه ی زیر را نمایش خواهد داد.

Android Progress Dialog Tutorial

اکنون دکمه را فشار دهید تا Progress bar شروع به کار کند. پس از فشار دادن دکمه صفحه ی زیر نمایش داده خواهد شد

Android Progress Dialog Tutorial

این برنامه به طور مداوم خود را آپدیت می کند.

 

 

دانشجویار نماد اعتماد به دانشجویار مجوز نشر دیجیتال لوگو شرکت به پرداخت ملت logo-samandehi مجوز سازمان فنی حرفه ای کشور
blackFriday

پیش از شروع جشنواره بلک فرایدی
خودت رو برای یک خرید برق آسا آماده کن!


بلک فرایدی!

برای شرکت در جشنواره بلک فرایدی لطفا ثبت نام کنید.

  از الان برای بلک فرایدی آماده شو - رزرو تخفیف 90% ، برای همه آموزش ها  صفحه جشنواره