Hãy xem xét Android Butter Knife một thư viện giảm. Nó thay thế findViewById vớiBind () và thiết lập khác nhau ^^^^ Listener gọi vớionClick () làm cho mã sạch hơn và dễ hiểu hơn. Bơ Knife cho phép tập trung vào logic chứ không phải là keo dán mã và làm giảm thời gian phát triển bằng cách giảm mã hóa dư thừa.lập trình android Trong bài viết lập trình android này, tôi sẽ giới thiệu một thư viện tiêm cho phát triển Android có thể giúp tạo ra mã đẹp hơn. Android Butter Knife là một nguồn xem "tiêm" mở thư viện cho Android tạo ra bởi Jake Wharton. Logo Butterknife Bơ Knife là nhỏ, đơn giản và nhẹ, và nó làm cho cuộc sống như một nhà phát triển dễ dàng hơn. Nó cho phép các nhà phát triển để thực hiện tiêm vào đối tượng tùy tiện, quan điểm và OnClickListeners để họ có thể tập trung vào viết mã hữu ích. Thiết lập môi trường phát triển Để sử dụng Android Butter Knife trong phát triển, tích hợp nó vào một dự án: Mở tập tin build.gradle của dự án. Thêm vào tập tin Gradle Sao chép mã sau đây để ngăn chặn các cảnh báo lint trong build.gradle. Code: [/SIZE][/COLOR][/FONT] [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)]lintOptions { disable 'InvalidPackage' } Add the following dependency Code: compile 'com.jakewharton:butterknife:7.0.1' Nhấn vào Sync Now để đồng bộ hóa các tập tin Gradle của dự án và bạn đã sẵn sàng để mã với Butter Knife. Bắt đầu với Android Butter Knife Bạn sẽ chọn từ các khối mã sau đây? Các mã tiêu chuẩn để tìm đối tượng xem trong file layout activity_main.xml. Code: [/SIZE][/COLOR][/FONT] [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)]Button button = (Button)findViewById(R.id.button); TextView textView = (TextView)findViewById(R.id.textView); RadioButton radioButton = (RadioButton)findViewById(R.id.radioButton); CheckBox checkBox= (CheckBox)findViewById(R.id.checkbox); EditText editText = (EditText)findViewById(R.id.editText); VideoView videoView = (VideoView)findViewById(R.id.videoView); WebView webView = (WebView)findViewById(R.id.webView); Android Butter Knife code @Bind(R.id.button) Button button; @Bind(R.id.textView) TextView textView; @Bind(R.id.radioButton) RadioButton radioButton; @Bind(R.id.checkBox) CheckBox checkBox; @Bind(R.id.editText) EditText editText; @Bind(R.id.videoView) VideoView videoView; @Bind(R.id.webView) WebView webView; >> Khóa học lập trình android tại hà nội Cá nhân tôi thích khối thứ hai, nó nhỏ hơn và cũng có cấu trúc. Đây là cách Android Butter Knife cải thiện quan điểm trong các file layout. Sử dụng Butter Knife cho một cái gì đó hữu ích. Mã mảnh đơn giản nhất bạn có khả năng để sử dụng trong khi mã hóa cho Android là một Toast nhắn: Code: [/SIZE][/COLOR][/FONT] [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)]@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(),"Hello Android",Toast.LENGTH_LONG).show(); } }); } Đây là tất cả các mã cần thiết trong onCreate () để tạo ra một bánh mì nướng trên một nút bấm. Có rất nhiều dấu ngoặc đơn và mã này là lâu dài và khó hiểu. Có một lớp vô danh bên trong bên trong OnClickListener () mà có thể tránh được bằng cách sử dụng bơ Knife. Hãy suy nghĩ về cách thức mã sẽ xem xét nếu bạn đã phải gọi nhiều OnClickListeners? Các tập tin có chứa các Activity.java nghe sẽ bị tràn ngập với mã xấu xí. Sau đây là cách Butter Knife sẽ cải thiện mã này: Code: [/SIZE][/COLOR][/FONT] [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)]@Bind(R.id.button) Button button; @OnClick(R.id.button) protected void Toast(){ Toast.makeText(getApplicationContext(),"Hello Android Butter Knife",Toast.LENGTH_LONG).show(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } Nó là sạch sẽ, đơn giản và dễ hiểu. Trong onCreate (), phương thức chèn ButterKnife.bind (này) và các lớp bên trong vô danh bên người nghe là không cần thiết. Chúng ta hãy nhìn vào một ví dụ khác: Với Android Butter Knife, nhiều quan điểm có thể được nhóm lại thành một danh sách hoặc mảng. Phương pháp áp dụng cho phép tất cả các quan điểm trong một danh sách để bị tác động cùng một lúc. Phương pháp này cần hai tham số, danh sách các quan điểm và hành động để thực hiện trên nhóm các quan điểm. Trong đoạn mã sau tôi đã tạo ra một hành động CHANGE_COLOR Butter Knife mà thay đổi màu sắc của các nút và thay đổi các ứng dụng. Các phương pháp được áp dụng () được gọi khi button1 được nhấp. Code: [/SIZE][/COLOR][/FONT] [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)]//group of multiple buttons @Bind({R.id.button1,R.id.button2,R.id.button3}) List<Button> buttons; //the Butter Knife Action final ButterKnife.Action<Button> CHANGE_COLOR = new ButterKnife.Action<Button>() { @Override public void apply(Button button, int index) setTitle("Code with Butter Knife"); buttons.get(0).setBackgroundColor(Color.RED); buttons.get(1).setBackgroundColor(Color.RED); buttons.get(2).setBackgroundColor(Color.RED); } }; @OnClick(R.id.button1) protected void onClick(){ ButterKnife.apply(buttons,CHANGE_COLOR); //the apply method called on button1 Click } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } Action Buttons The easiest way to group multiple views in standard Android programming is to group them in the activity_main.xml file. Code: [/SIZE][/COLOR][/FONT] [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)]<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="44dp" android:id="@+id/linearLayout"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 1" android:id="@+id/button1" android:layout_alignTop="@+id/linearLayout" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 2" android:id="@+id/button2" android:layout_alignTop="@+id/button1" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 3" android:id="@+id/button3" android:layout_alignTop="@+id/button2" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </LinearLayout> </RelativeLayout> Để sử dụng nhóm này của các nút trong MainActivity, sử dụng findViewById để tìm cách bố trí và truy cập các quan điểm với getChildAt () phương pháp. LinearLayout layout = (LinearLayout) findViewById (R.id.linearLayout); layout.getChildAt (1) .setBackgroundColor (Color.RED); Giao diện Nhóm Đây không phải là một cách xấu để sử dụng xem nhóm lại, nhưng vấn đề trở nên rõ ràng khi các quan điểm đang không ở trong cùng một bố trí. Lời kết Android Butter Knife là một thư viện hữu ích để phát triển ứng dụng Android mã đẹp hơn. Thật dễ dàng để tìm hiểu ngay cả đối với người mới bắt đầu, vì vậy hãy chắc chắn để thử nó ra. Đây là một ví dụ đơn giản của một App Android tôi đã phát triển bằng cách sử dụng thư viện này. Nhìn vào file MainActivity.java để xem cách các thư viện có cấu trúc mã của ứng dụng này. >> Khóa học photoshop cơ bản nâng cao tại Hà Nội !