Sobes.tech
Middle

შეგიძლიათ ისაუბროთ Android-ის ზოგიერთი 'builder' დიზაინის ნიმუშზე?

sobes.tech AI

პასუხი AI-სგან

"Builder" (Builder) ნიმუში გამოიყენება რთული ობიექტების ეტაპობრივად შექმნისთვის.

Android-ში გამოყენების მაგალითები:

  1. AlertDialog.Builder: დიალოგების შექმნა სათაურის, შეტყობინების, ღილაკებისა და სხვა თვისებების მითითებით.

    new AlertDialog.Builder(context)
        .setTitle("სახელი")
        .setMessage("შეტყობინების ტექსტი")
        .setPositiveButton("კარგი", (dialog, which) -> {
            // ქმედება OK-ის დაჭერისას
        })
        .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() მეთოდის გამოძახების შემდეგ.