Middle
Kannst du über einige 'Builder'-Entwurfsmuster in Android sprechen?
sobes.tech KI
Antwort von AI
Das "Builder"-Muster wird verwendet, um komplexe Objekte schrittweise zu erstellen.
Anwendungsbeispiele in Android:
-
AlertDialog.Builder: Erstellen von Dialogen mit der Möglichkeit, Titel, Nachricht, Schaltflächen und andere Eigenschaften anzugeben.
new AlertDialog.Builder(context) .setTitle("Titel") .setMessage("Nachrichtentext") .setPositiveButton("OK", (dialog, which) -> { // Aktion bei OK-Klick }) .setNegativeButton("Abbrechen", null) .show(); -
NotificationCompat.Builder: Erstellen von Benachrichtigungen für die Statusleiste.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Benachrichtigungstitel") .setContentText("Benachrichtigungstext") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Senden der Benachrichtigung über NotificationManager -
Uri.Builder: Erstellen einer URI mit verschiedenen Parametern.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.beispiel.de") .appendPath("pfad") .appendQueryParameter("param1", "wert1") .build(); -
ViewModelProvider.Builder: (In Lifecycle Architecture Components) Erstellen einer Fabrik für ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Hauptvorteile der Verwendung des Builders:
- Verbessert die Lesbarkeit des Codes beim Erstellen von Objekten mit vielen optionalen Parametern.
- Vermeidet die Erstellung vieler Konstruktoren.
- Ermöglicht eine schrittweise Konstruktion des Objekts.
- Das Objekt wird erst nach Aufruf der Methode
build()erstellt.