Tutorials  /  JavaScript

Maximale Benutzerfreundlichkeit: Der Android ProgressDialog erklärt

Ccentron Redaktion · September 2024 ·3 Min. Lesezeit ·JavaScript, Tutorial

Tauchen Sie ein in die Welt der Android-Entwicklung und lernen Sie, wie Sie mit dem ProgressDialog effektiv Fortschritt anzeigen können. Unser Blogbeitrag erklärt den Unterschied zwischen ProgressDialog und ProgressBar und bietet eine Schritt-für-Schritt-Anleitung zur Implementierung.

VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Android ProgressDialog

Android ProgressDialog ist eine Erweiterung von AlertDialog. Um mehr über ein AlertDialog zu erfahren, schauen Sie sich das Tutorial hier an. Ein Android ProgressDialog ist ein Dialogfeld/Fenster, das den Fortschritt einer Aufgabe anzeigt. Ein Android Fortschrittsdialog ist fast identisch mit einer ProgressBar, mit der Ausnahme, dass diese als Dialogfeld angezeigt wird. Um einen ProgressDialog zu erstellen, der eine ProgressBar anzeigt, müssen wir ihn wie folgt instanziieren:

Code
ProgressDialog progress = new ProgressDialog(this);

Unterschied zwischen Android ProgressDialog und ProgressBar

1. ProgressBar ist eine Ansicht (wie TextView, ImageView, Button usw.), die im Layout verwendet werden kann, um den Fortschritt anzuzeigen. Eine ProgressBar wird verwendet, um anzuzeigen, dass etwas in der App noch geladen wird, während der Benutzer möglicherweise immer noch mit anderen Teilen interagieren kann.

2. ProgressDialog ist ein Dialog mit eingebauter ProgressBar. Ein ProgressDialog wird verwendet, wenn wir verhindern möchten, dass der Benutzer mit der Anwendung interagiert, während er wartet. Der dialogische Aspekt hindert den Benutzer daran, etwas zu tun, bis er abgebrochen wird.

Attribute des Android ProgressDialog

Einige wichtige Attribute des Android ProgressDialog sind unten aufgeführt:

1. setMessage(): Diese Methode wird verwendet, um die Nachricht für den Benutzer anzuzeigen. Beispiel: Laden...

2. setTitle(): Diese Methode wird verwendet, um einen Titel für das Dialogfeld festzulegen.

3. setProgressStyle(ProgressDialog.STYLE_HORIZONTAL): Diese Methode wird verwendet, um die horizontale Fortschrittsleiste im Dialogfeld anzuzeigen.

4. setProgressStyle(ProgressDialog.STYLE_SPINNER): Diese Methode wird verwendet, um die kreisförmige/drehende Fortschrittsleiste im Dialogfeld anzuzeigen.

5. setMax(): Diese Methode wird verwendet, um den maximalen Wert festzulegen.

6. getProgress(): Diese Methode wird verwendet, um den aktuellen Fortschrittswert in Zahlen zu erhalten.

7. getMax(): Diese Methode gibt den maximalen Wert des Fortschritts zurück.

8. show(Context context, CharSequence title, CharSequence message): Dies ist eine statische Methode, die verwendet wird, um den Fortschrittsdialog anzuzeigen.

9. incrementProgressBy(int diff): Diese Methode erhöht die Fortschrittsanzeige um den Wert, der als Parameter übergeben wird.

Projektstruktur des Android ProgressDialog

Die activity_main.xml enthält eine Schaltfläche, die bei Klick einen ProgressDialog aufruft, wie im folgenden XML-Code gezeigt:

Code
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

<Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=" Start ProgressDialog"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="57dp" />

</RelativeLayout>

Die MainActivity.java-Datei ist wie folgt:

Go
package com.journaldev.progressdialog;

import android.app.ProgressDialog;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button button;
    ProgressDialog progressDoalog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                progressDoalog = new ProgressDialog(MainActivity.this);
                progressDoalog.setMax(100);
                progressDoalog.setMessage("Es lädt....");
                progressDoalog.setTitle("Beispiel für ProgressDialog-Leiste");
                progressDoalog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                progressDoalog.show();
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            while (progressDoalog.getProgress() <= progressDoalog.getMax()) {
                                Thread.sleep(200);
                                handle.sendMessage(handle.obtainMessage());
                                if (progressDoalog.getProgress() == progressDoalog.getMax()) {
                                    progressDoalog.dismiss();
                                }
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }

            Handler handle = new Handler() {
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    progressDoalog.incrementProgressBy(1);
                }
            };
        });
    }
}

In diesem Tutorial entwickeln wir eine Anwendung, die einen ProgressDialog enthält, der eine horizontale ProgressBar enthält, die sich alle 200 Millisekunden inkrementiert.

Das war unser Leitfaden zum Android ProgressDialog mit einem Beispiel. Mit diesen Informationen sind Sie bereit, Fortschrittsanzeigen in Ihren Android-Anwendungen zu implementieren. Wenn Sie Fragen haben, lassen Sie es uns wissen!

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren