Sobes.tech
Middle

Androidдеги кээ бир 'builder' долбоорлоо үлгүлөрү жөнүндө сүйлөй аласызбы?

sobes.tech AI

AIден жооп

"Builder" (Builder) үлгүсү татаал объекттерди кадамдап түзүү үчүн колдонулат.

Androidтеги колдонуу мисалдары:

  1. AlertDialog.Builder: Тема, билдирүү, кнопкалар жана башка касиеттерди көрсөтүү мүмкүнчүлүгү менен диалог түзүү.

    new AlertDialog.Builder(context)
        .setTitle("Аталышы")
        .setMessage("Билдирүүнүн тексті")
        .setPositiveButton("Жакшы", (dialog, which) -> {
            // Жакшы басканда ишке ашуучу аракет
        })
        .setNegativeButton("Кийин", null)
        .show();
    
  2. NotificationCompat.Builder: Статус тилкесине билдирүүлөрдү түзүү.

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle("Билдирүүнүн аталышы")
        .setContentText("Билдирүүнүн тексті")
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
    Notification notification = builder.build();
    // Билдирүүнү NotificationManager аркылуу жөнөтүү
    
  3. Uri.Builder: Ар кандай параметрлери бар URI түзүү.

    Uri builtUri = new Uri.Builder()
        .scheme("http")
        .authority("www.example.com")
        .appendPath("path")
        .appendQueryParameter("param1", "value1")
        .build();
    
  4. ViewModelProvider.Builder: (Lifecycle Architecture Componentsте) ViewModel үчүн фабрика түзүү.

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

Builder колдонуу негизги артыкчылыктары:

  • Объекттерди түзүүдө көптөгөн милдеттүү эмес параметрлери бар учурда коддун окуулушун жакшыртат.
  • Көптөгөн конструкторлорду түзүүдөн алыс болууга жардам берет.
  • Объектти кадамдап түзүүгө мүмкүндүк берет.
  • Объект build() методун чакыргандан кийин гана түзүлөт.