Android Butter Knife Kütüphanesi Kullanımı
ad area Butter Knife nedir ?

Android üzerinde geliştiricilerin kullandığı bir kütüphane olan Butter Knife, Bir sınıf içerisinde nesne tanımlamalarında ve metot üretimlerinde geliştiricilere kolaylık sağlıyor.Nesne referansları tanımlamada ve proje ömrü boyunca nesne çağırmada oldukça kolaylık sağlamaktadır.

Projenizin build.gradle (Module: app) depentencies scope'u içerisine kullanım için dahil edilecek paket;

implementation 'com.jakewharton:butterknife:8.8.1'

Sürekli findViewById yazmak zahmetli diyorsanız, kod tekrarlarından, uzun uzun yazımlardan kurtulmak istiyorsanız Butter Knife hali hazırda kolaylık sağlamış.

Normal'de nesne tanımlaması;

public class MainActivity extends AppCompatActivity {
    
    Button btn1,btn2;
    TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        btn1 = findViewById(R.id.button);
        btn2 = findViewById(R.id.button2);
        tv = findViewById(R.id.textView);
        
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(),"Deneme",Toast.LENGTH_SHORT).show();
            }
        });
        
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                tv.setText("Deneme 2");
            }
        });
    }
}

Butter Knife kütüphanesi kullanıldığında;

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.button) Button btn1;
    @BindView(R.id.button2) Button btn2;
    @BindView(R.id.textView) TextView textView;

    @OnClick(R.id.button) void btn1Click(){
        Toast.makeText(getApplicationContext(),"Deneme",Toast.LENGTH_SHORT).show();
    }

    @OnClick(R.id.button2) void btn2Click(){
        textView.setText("Deneme 2");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ButterKnife.bind(this);

    }
}

Butter Knife ile nesne Tanımlaması Tip belirtme gibi işlemler, @BindView ile tek satırda tanımlanmış oluyor. onCreate metodumuzda ise ButterKnife.bind(this) diyerek bu sınıf içerisindeki tanımlamaları onCreate içerisinde tanımlamış gibi olması sağlanıyor.

Butter Knife ile kullanabileceğiniz Annotationlar şöyle;

  • @BindView
  • @BindFont
  • @BindAnim
  • @BindArray
  • @BindBitmap
  • @BindColor
  • @BindDimen
  • @BindBool
  • @BindDrawable
  • @BindFloat
  • @BindInt
  • @BindString
  • @BindViews

Örnek tanımlamaları;

@BindString(R.string.title) String title;
@BindDrawable(R.drawable.graphic) Drawable graphic;
@BindColor(R.color.red) int red;
@BindDimen(R.dimen.spacer) Float spacer;
Bu makaleyi paylaşın:
İstanbul'da yaşıyorum.Web üzerinde Frontend/Backend Geliştirmenin yanı sıra, Android Geliştirme, PHP/ASP.NET, C# Yazılım Uzmanlığı ve Java konuları işliyorum. Kod Şiirdir, onları seviyorum.

Bir yorum bırakın