Kennenlernen von Android-App-Strukturen: Aktivitäten, Fragmente und Broadcast-Empfänger

Vorteile der Verwendung von Fragment

Fragment bietet einige wichtige Vorteile bei der Entwicklung von Android-Apps:

  1. Modularität: Durch die Unterteilung Activity in Fragment können Sie jeden Teil der Schnittstelle separat verwalten, was die Entwicklung und Wartung von Code erleichtert.
  2. Flexibilität: Fragment ermöglicht das Erscheinungsbild mehrerer Teile der Benutzeroberfläche in einem einzigen Activity, was besonders nützlich für Geräte mit großen Bildschirmen wie Tablets ist.
  3. Wiederverwendbarkeit: Fragment kann in einer Vielzahl von Activity wiederverwendet werden, wodurch Codewiederholungen reduziert und die Entwicklungseffizienz verbessert werden.
  4. Anpassungsfähigkeit: Fragment einfache Anpassung der Benutzeroberfläche an verschiedene Bildschirmgrößen und Geräteausrichtungen.

Beispiele für die Verwendung von Fragmenten in E-Commerce-Anwendungen:

  • Fragment Erste: Zeigt die Liste der Produkte auf der linken Seite des Bildschirms an.
  • Fragment Zweite: Zeigt Produktdetails auf der rechten Seite des Bildschirms an.
  • Auf Mobilgeräten wird jeweils nur ein Fragment angezeigt, während auf Tablets beide Fragment gleichzeitig angezeigt werden können.

So  funktioniert Fragment

Fragment haben einen ähnlichen Lebenszyklus wie Activity, einschließlich Methoden wie onCreateView(), onStart() und onDestroyView(). Der Lebenszyklus hängt jedoch Fragment mit dem Activity zusammen, der ihn anzeigt.

Sie können Activity mithilfe von FragmentManager und FragmentTransaction Fragment hinzufügen.

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction =   fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_container, new MyFragment()));
fragmentTransaction.commit();

Fragment können nicht direkt miteinander kommunizieren. Alternativ erfolgt die Kommunikation über den Activity, in dem sich der Fragment befindet, oder über eine Schnittstelle (interface) zur Datenübertragung.

3. Intent: Kommunikationsmechanismus zwischen den Komponenten

Intent ist einer der Schlüsselmechanismen bei der Entwicklung von Android-Apps. Diese Komponente wird verwendet, um eine Activity zu starten, zu Service oder Broadcast zu senden. Darüber hinaus ermöglicht Intent auch die Kommunikation zwischen Komponenten innerhalb derselben Anwendung oder sogar zwischen verschiedenen Anwendungen.

Intent kann unterschieden werden in:

  • Explizit: Ruft eine bestimmte Komponente (z. B. Activity oder Service) auf, indem ihr Klassenname direkt erwähnt wird.
  • Implizit: Geben Sie die Aktion an, die Sie ausführen möchten, oder den Datentyp, den Sie verarbeiten möchten, und das Android-System wählt die am besten geeignete Komponente aus.

Arten von Absichten

1. Explicit Intent

Explicit Intent wird verwendet, wenn Sie genau wissen, welche Komponente Sie aufrufen möchten, z. B. eine bestimmte Activity oder Service in Ihrer Anwendung.

So funktioniert’s:

Sie geben den Namen der Komponentenklasse an, auf die Sie zugreifen möchten. Zum Beispiel das Starten eines neuen Activity, um Produktdetails anzuzeigen.

Intent intent  new Intent(this, ProductDetailActivity.class);
startActivity(intent);

Anwendungsbeispiel:

  • Starten Sie eine neue Activity, um das Anmeldeformular anzuzeigen.
  • Starten Sie Service, um Dateien im Hintergrund herunterzuladen.

2. Intent Implicit

Intent Implicit wird verwendet, wenn Sie das Android-System auffordern möchten, die am besten geeignete Komponente basierend auf den von Ihnen angegebenen Aktionen oder Datentypen auszuwählen.

So funktioniert’s:

Sie geben die Aktionen (z. B. ACTION_VIEW) und Daten (z. B. URIs oder MIME-Typen) an, die Sie verarbeiten möchten. Das Android-System sucht nach einer Komponente, die die Anfrage verarbeiten kann.

Intent intent =new Intent(Intent.ACTION_VIEW, Uri.parse(“https://www.example.com”)));
startActivity(intent);

Anwendungsbeispiel:

  • Öffnen Sie die URL im Standardbrowser des Benutzers.
  • Teilen Sie Text oder Bilder mit anderen Apps (z. B. sozialen Medien oder E-Mails).
  • Wählen Sie die App aus, um die PDF-Datei zu öffnen.

Der Unterschied zwischen expliziter und impliziter Absicht

AspekteExplicit IntentImplicit Intent
ZweckRuft bestimmte Komponenten in der Anwendung auf.Aufforderung an das System, die entsprechende Komponente auszuwählen.
GebrauchenWird für die interne Navigation der Anwendung verwendet.Wird verwendet, um mit anderen Anwendungen oder Systemkomponenten zu interagieren.
BeispielStarten Sie die Aktivität Produktdetails.Öffnen Sie die URL in einem Browser oder geben Sie Inhalte frei.

Neueste Artikel