اموزش کار با کتابخانه butterknife در اندروید

سلام به تمامی کاربران عزیز و اندروید دوست سایت تمشکی،امروز با یک کتابخانه جدید و کارآمد در خدمت شما هستم.خب بدون مقدمه چینی میرم سر معرفی و آموزش استفاده از این کتابخونه عزیز و خوشمزه!

 

کتابخانه ButterKnife

کتابخانه ButterKnife  یک کتابخانه حرفه ای،سبک و کارآمد برای ارتباط المان ها در اکتیویتی ها و فرگمنت ها در اندروید هست که باعث میشه سرعت کار شما بالاتر بره و کدهای شما تمیز تر نوشته بشند.برای مثال به جای استفاده از findViewById()  میتوانید از @BindView استفاده کنید و نیازی به انجام casting  نیست و این کار به طور اتوماتیک برای تمامی المان ها انجام می شود.

به مثال زیر توجه کنید:

 private TextView Name;
 private EditText Email;
 private Button Submit;
 
@Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   
   Name = (TextView) findViewById(R.id.name_tv);
   Email = (EditText) findViewById(R.id.email_et);
   Submit = (Button) findViewById(R.id.submit_btn);
   
   Name. ...  دستور عملکرد این المان
   Email. ...  دستور عملکرد این المان
   Submit. ...  دستور عملکرد این المان
   
 }

حالا همین کد را براساس کتابخانه ButterKnife می نویسیم :

@BindView(R.id.name_tv) private TextView Name;	
 @BindView(R.id.email_et) private EditText Email;	
 @BindView(R.id.submit_btn) private Button Submit;	

@Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   
   ButterKnife.bind(this); اضافه کردن کد فرخوانی کتابخانه در اکتیویتی
   
   Name. ...  دستور عملکرد این المان
   Email. ...  دستور عملکرد این المان
   Submit. ...  دستور عملکرد این المان
   
 }

 

حالا تصویر کنید چندین فرم دارید که هر کدام المان های زیادی داره که باید یکی یکی فراخوانی شود، این کار باعث می شود کدهای شما شلوغ شود و فضای زیادی را بگیرد.

کتابخانه ButterKnife نه تنها برای اتصال المان ها ، بلکه برای استفاده ی ساده از مقادیر strings, dimens, drawables, رویداد های کلیک و چیزهایی زیادی دیگر استفاده می شود که در این مقاله به صورت مختصر و مفید به بررسی مهمترین آنها می پردازیم

 

اضافه کردن  ButterKnife  به Dependency در اندروید استودیو:

برای نصب این کتابخانه تنها کافی هست کد زیر را به dependency  فایل app/build.gradle برنامه اندروید خود اضافه کنید و بر روی دکمه  Sync Now کلیک کنید

 

    // butter knife
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

به همین سادگی …

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical">
 
    <TextView
        android:id="@+id/name_tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter your name"
        android:textAllCaps="true" />
 
    <EditText
        android:id="@+id/email_et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
 
    <Button
        android:id="@+id/submit_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/dimen_20"
        android:text="@string/submit" />
</LinearLayout>

در زیر نحوه ی استفاده از رویداد کلیک یا همون  OnClickListeners را به شما نشون می دم.

public class MainActivity extends AppCompatActivity {
 
	@BindView(R.id.name_tv) private TextView Name;	
	@BindView(R.id.email_et) private EditText Email;	
	//@BindView(R.id.submit_btn) private Button Submit; 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // bind the view using butterknife
        ButterKnife.bind(this);
    }
 
    @OnClick(R.id.submit_btn)
    public void submit() {  در اینجا یه اسم دلخواهه submit
        Toast.makeText(getApplicationContext(), "You have entered: " + Email.getText().toString(),
                Toast.LENGTH_SHORT).show(); من در اینجا مقدار فیلد ایمیل را به کاربر نمایش دادم
    }
}

همونطور که در کد بالا دیدید می تونید خط ۵ را که من در بالا کامنت کردم حذف کنید و بطور مستقیم از OnClick استفاده کنید.

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

public class MyFragment extends Fragment {
 
    Unbinder unbinder;
 
   @BindView(R.id.name_tv) private TextView Name;	
   @BindView(R.id.email_et) private EditText Email;	
   @BindView(R.id.submit_btn) private Button Submit; 
 
    public MyFragment() {
        // Required empty public constructor
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_my, container, false);
 
        // bind view using butter knife
        unbinder = ButterKnife.bind(this, view); اضافه کردن کد فرخوانی کتابخانه در فرگمنت
		
		Name. ...  دستور عملکرد این المان
	    Email. ...  دستور عملکرد این المان
	    Submit. ...  دستور عملکرد این المان
 
        return view;
    }
 
    @Override
    public void onDestroyView() {
        super.onDestroyView();
 
        // unbind the view to free some memory
        unbinder.unbind();
    }
}

 دلیل تعریف و استفاده از Unbinder در onDestroyView  خاتمه دادن به کار و استفاده ی کمتر از حافظه بعد از بسته شدن فرگمنت مورد نظر هست.

نحوه استفاده از کتابخانه ButterKnife در List Adapter ها

public class AdsAdapter extends RecyclerView.Adapter<AdsAdapter.MyViewHolder> {
 
    private List<Ads> ads;
 
    public class MyViewHolder extends RecyclerView.ViewHolder {
 
        @BindView(R.id.name) TextView name;
        @BindView(R.id.email) TextView email;
 
        public MyViewHolder(View view) {
            super(view);
 
            // binding view
            ButterKnife.bind(this, view); فراخوانی کتابخانه
        }
    }
 
    public AdsAdapter(List<Ads> ads) {
        this.ads = ads;
    }
 
    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.ads_list_row, parent, false);
 
        return new MyViewHolder(itemView);
    }
 
    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        Ads ads = ads.get(position);
        holder.name.setText(ads.getName());
        holder.mobile.setText(ads.getEmail());
    }
 
    @Override
    public int getItemCount() {
        return contacts.size();
    }
}

 

خب تا اینجا برای امروز کافیه ، داره کم کم زیاد میشه

این آموزش ادامه داره …. نظر یادتون نره

به این مطلب امتیاز بدهید
اموزش کار با کتابخانه butterknife در اندروید
5 (100%) 4 votes
محمد کاظم لطفی خلف بادام
عاشق برنامه نویسی و طراحی

پاسخی بگذارید

سورس فروشگاه اینترنتی برای اندروید
دانلود اخرین نسخه نرم افزار اندروید استودیو
دانلود اخرین نسخه اکلیپس

برچسب‌ها

ButterKnife material design آموزش طراحی متریال استفاده از فونت شخصی در اندروید اموزش برنامه نویسی اندروید اموزش تغییر فونت اندروید اندروید اندروید استو اندروید استودیو برنامه اندروید برنامه اندروید املاک برنامه اندروید برای ووکامرس برنامه اندروید وردپرس برنامه اندروید ووکامرس تغییر فونت برنامه اندروید تغییر فونت تمام اکتیویتی ها در اندروید تغییر فونت کل برنامه در اندروید دانلود رایگان سورس دانلود سورس دانلود سورس اندروید دانلود سورس رایگان اندروید سورس سورس اندروید سورس برنامه اندروید سورس رایگان سورس رایگان اندروید سورس فروشگاه سورس فروشگاه ووکامرس سورس متریال سورس وردپرس سورس کتاب آشپزی اندروید سورس کتاب اندروید طراحی برنامه اندروید طراحی برنامه اندروید سایت موزیک طراحی برنامه اندروید وردپرس طراحی متریال فونت سفارشی در اندروید فونت فارسی برای اندروید قابلیت تایپ اعداد فارسی در اندروید متریال متریال دیزاین پروژه اندروید پلاگین اندروید کتابخانه اندروید

قالب جدید همیار وردپرس کاملا مشابه و بهینه ، برای خرید قالب مشابه همیار وردپرس همین حالا اقدام کنید.