Middle
Můžeš mluvit o některých vzorech návrhu 'builder' v Androidu?
sobes.tech AI
Odpověď od AI
Vzor "Stavitel" (Builder) se používá k pro tvorbu složitých objektů krok za krokem.
Příklady použití v Androidu:
-
AlertDialog.Builder: Vytváření dialogů s možností nastavení titulku, zprávy, tlačítek a dalších vlastností.
new AlertDialog.Builder(context) .setTitle("Název") .setMessage("Text zprávy") .setPositiveButton("OK", (dialog, which) -> { // Akce při kliknutí na OK }) .setNegativeButton("Zrušit", null) .show(); -
NotificationCompat.Builder: Sestavení oznámení pro stavový řádek.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Název oznámení") .setContentText("Text oznámení") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Odeslání oznámení přes NotificationManager -
Uri.Builder: Vytváření URI s různými parametry.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.priklad.cz") .appendPath("cesta") .appendQueryParameter("param1", "hodnota1") .build(); -
ViewModelProvider.Builder: (V komponentách architektury životního cyklu) Konstrukce továrny pro ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Hlavní výhody použití builderu:
- Zlepšuje čitelnost kódu při vytváření objektů s velkým množstvím volitelných parametrů.
- Umožňuje vyhnout se tvorbě mnoha konstruktorů.
- Zajišťuje krokové sestavení objektu.
- Objekt je vytvořen až po volání metody
build().