Sobes.tech
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:

  1. 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();
    
  2. 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
    
  3. 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();
    
  4. 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().