استارت‌آپ و کارآفرینی

ButterKnife کتابخانه ای که باید در هر پروژه Android از آن استفاده کرد

ButterKnife یک کتابخانه کوچک، ساده و سبک است و شما براحتی می‌توانید از آن استفاده کنید. قبل از هر چیزی بیاید با یک مثال شروع کنیم.

کدام‌یک از کدهای زیر را می‌پسندید:

 protected TextView mWelcomeLabel;
 protected EditText mUsernameField;
 protected EditText mPasswordField;
 protected Button mSubmitButton;

@Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   mWelcomeLabel = (TextView) findViewById(R.id.welcomeLabel);
   mUsernameField = (EditText) findViewById(R.id.usernameField);
   mPasswordField = (EditText) findViewById(R.id.passwordField);
   mSubmitButton = (Button) findViewById(R.id.submitButton);
 }

یا

@InjectView(R.id.welcomeLabel) protected TextView mWelcomeLabel;
@InjectView(R.id.usernameField) protected EditText mUsernameField;
@InjectView(R.id.passwordField) protected EditText mPasswordField;
@InjectView(R.id.submitButton) protected Button mSubmitButton;

@Overrideprotected
void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_my); 
  ButterKnife.inject(this);
}

مسلما کد دوم مختصر تر و قابل فهم تر است، شما اینطور فکر نمی‌کنید؟ کد دوم از کتابخانه ButterKnife استفاده می‌کند.

این کتابخانه ویژگی‌های دیگری هم دارد تا بتوانید برای شی‌ها OnClickListeners و دیگر listenerهای رایج را تعریف کنید، که از روش معمول تعریف آن‌ها ساده‌تر است.

برای استفاده از این کتابخانه کافیست تا خط کد زیر را در build.gradle در قسمت dependencies اضافه کنید:

compile 'com.jakewharton:butterknife:5.1.2'

صفحه رسمی این کتابخانه را هم حتما ببینید: ButterKnife

امیدوارم که با معرفی این کتابخانه توانسته باشم در اجرای آسان‌تر پروژه‌ها کمکی کرده باشم.

9 نظرات
  1. jalalaheris می گوید

    من ازش استفاده کردم… باحال ه!

  2. علی می گوید

    هی بچه ها این جا خیلی خوبه
    عموما مطالبتون به دردم می خوره

  3. طاها قاسمی می گوید

    بسیار عالی
    باعث میشه کد مرتب تر و خواناتر باشه
    ان شالله در پروژه ی بعدی ازش استفاده کنم
    با تشکر از صمصام عزیز.

  4. اروند سیستم می گوید

    خیلی کتابخانه خوبیه، من باید حتما واسه پروژه های اندرویدم ازش استفاده کنم.

  5. میلاد می گوید

    سلام
    من ازش توی یه پروژه tab-based استفاده کردم ولی به مشکل خوردم مجبور شدم پاکش کنم!

  6. majid می گوید

    سلام بچه های وقتی به بخش best practice for performance مستندات خود آندروید میرید به صراحت میگه که از کتابخانه های dependency injection استفاده نکنید .
    http://developer.android.com/training/articles/memory.html#DependencyInjection

  7. علیخانی می گوید

    به نظرم کد اول خواناتر، استانداردتر و قابل فهم تره!

  8. A.Hatami می گوید

    تفاوت injetc و bind توی این کتابخانه چیه دقیقا ؟

  9. پـرشـیـن اسـتـخـر | PERSIAN POOL می گوید

    از به اشـتـراکــ گــذاری صـحـیـح اطــلاعـاتـتان،
    بـسـیـار سپـاسـگـزارم.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.