Middle
Kas sa saad rääkida mõnest 'builder' disainimustrist Androidis?
sobes.tech AI
Vastus AI-lt
"Builder" (Ehitis) muster kasutatakse keeruliste objektide samm-sammult loomiseks.
Näited Androidis:
-
AlertDialog.Builder: Dialoogide loomine koos pealkirja, sõnumi, nuppude ja muude omadustega.
new AlertDialog.Builder(context) .setTitle("Nimi") .setMessage("Sõnumi tekst") .setPositiveButton("OK", (dialog, which) -> { // Tegevus OK klikkimisel }) .setNegativeButton("Tühista", null) .show(); -
NotificationCompat.Builder: Teavituste loomine statusiribal.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Teavituse pealkiri") .setContentText("Teavituse tekst") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Teavituse saatmine NotificationManageri kaudu -
Uri.Builder: URI loomine erinevate parameetritega.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.example.com") .appendPath("path") .appendQueryParameter("param1", "väärtus1") .build(); -
ViewModelProvider.Builder: (Lifecycle Architecture Components) Fabrika loomine ViewModelile.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Peamised eelised builderi kasutamisel:
- Parandab koodi loetavust, kui objektide loomisel on palju mittehädavajalikke parameetreid.
- Aitab vältida paljude konstruktorite loomist.
- Võimaldab samm-sammult objekti luua.
- Objekt luuakse ainult pärast
build()meetodi väljakutset.