Sobes.tech
Middle

Ar galite papasakoti apie kai kuriuos 'builder' projektavimo modelius Android?

sobes.tech AI

Atsakymas iš AI

„Builder“ (Konstruktorius) modelis naudojamas sudėtingų objektų kūrimui žingsnis po žingsnio.

Pavyzdžiai, kaip naudoti Android:

  1. AlertDialog.Builder: Kurti dialogus su galimybe nurodyti antraštę, pranešimą, mygtukus ir kitus parametrus.

    new AlertDialog.Builder(context)
        .setTitle("Pavadinimas")
        .setMessage("Pranešimo tekstas")
        .setPositiveButton("Gerai", (dialog, which) -> {
            // Veiksmas, kai paspaudžiamas OK
        })
        .setNegativeButton("Atšaukti", null)
        .show();
    
  2. NotificationCompat.Builder: Kurti pranešimus statuso juostoje.

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle("Pranešimo pavadinimas")
        .setContentText("Pranešimo tekstas")
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
    Notification notification = builder.build();
    // Siųsti pranešimą per NotificationManager
    
  3. Uri.Builder: Kurti URI su įvairiais parametrais.

    Uri builtUri = new Uri.Builder()
        .scheme("http")
        .authority("www.example.com")
        .appendPath("kelias")
        .appendQueryParameter("param1", "reiksme1")
        .build();
    
  4. ViewModelProvider.Builder: (Lifecycle Architecture Components) Kurti ViewModel fabriką.

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

Pagrindiniai privalumai naudojant builder:

  • Pagerina kodo skaitomumą, kai kuriant objektus su daug neprivalomų parametrų.
  • Padeda išvengti daugybės konstruktorių kūrimo.
  • Leidžia žingsnis po žingsnio kurti objektą.
  • Objektas sukuriamas tik iškvietus build() metodą.