Sobes.tech
Middle

Poți vorbi despre unele modele de proiectare 'builder' în Android?

sobes.tech AI

Răspuns de la AI

Modelul de tip "Builder" (Constructor) este utilizat pentru a crea obiecte complexe pas cu pas.

Exemple de utilizare în Android:

  1. AlertDialog.Builder: Crearea de dialoguri cu posibilitatea de a specifica titlul, mesajul, butoanele și alte proprietăți.

    new AlertDialog.Builder(context)
        .setTitle("Titlu")
        .setMessage("Textul mesajului")
        .setPositiveButton("OK", (dialog, which) -> {
            // Acțiune la clic pe OK
        })
        .setNegativeButton("Anulare", null)
        .show();
    
  2. NotificationCompat.Builder: Construirea notificărilor pentru bara de stare.

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle("Titlul notificării")
        .setContentText("Textul notificării")
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
    Notification notification = builder.build();
    // Trimiterea notificării prin NotificationManager
    
  3. Uri.Builder: Crearea URI-urilor cu diferiți parametri.

    Uri builtUri = new Uri.Builder()
        .scheme("http")
        .authority("www.exemplu.com")
        .appendPath("cale")
        .appendQueryParameter("param1", "valoare1")
        .build();
    
  4. ViewModelProvider.Builder: (În componentele de arhitectură ale ciclului de viață) Construirea unei fabrici pentru ViewModel.

    ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application));
    MyViewModel viewModel = provider.get(MyViewModel.class);
    

Principalele avantaje ale utilizării builder-ului:

  • Îmbunătățește lizibilitatea codului la crearea obiectelor cu mulți parametri opționali.
  • Permite evitarea creării multor constructori.
  • Asigură construcția pas cu pas a obiectului.
  • Obiectul este creat doar după apelarea metodei build().