12/08/2018, 13:26

Code hiệu quả hơn với tính năng Live Template của Android Studio

Nếu bạn là một lập trình viên Android lâu năm, chắc hẳn bạn đã từng mắc lỗi này ít nhất 1 lần: Toast . makeText ( MainActivity . this , "This will not be displayed" , Toast . LENGTH_SHORT ) ; Nếu bạn chưa nhận ra cái dòng đấy lỗi ở đâu thì là do hàm show() chưa được gọi nên Toast sẽ ...

Nếu bạn là một lập trình viên Android lâu năm, chắc hẳn bạn đã từng mắc lỗi này ít nhất 1 lần:

Toast.makeText(MainActivity.this, "This will not be displayed", Toast.LENGTH_SHORT);

Nếu bạn chưa nhận ra cái dòng đấy lỗi ở đâu thì là do hàm show() chưa được gọi nên Toast sẽ không hiện lên.

Sau đây mình sẽ giới thiệu một chức năng rất hay của Android Studio nhưng theo mình thấy thì vẫn có nhiều bạn chưa biết, đó là Live Templates. Với Live Templates vấn đề mình đã nói ở đầu bài sẽ được giải quyết hoàn toàn. Các bạn xem ảnh này cho dễ hiểu nhé:

1-JkrYXGs1AxZAbK0sCLrJAQ.gif

Như các bạn có thể thấy, Live Templates là tập hợp shortcut để hoàn thành những đoạn code mẫu. Khi được chọn, bạn có thể thay đổi những argument cần thiết của hàm gọi bằng cách dùng phím Tab.

Ví dụ, bạn có thể gõ "Toast" sau đó ấn phím Tab để lần lượt thêm những argument cần thiết (gồm context, message và duration). Dùng cách này sẽ nhanh hơn rất nhiều so với việc gõ bằng tay và nó cũng đảm bảo là bạn cung cấp đầy đủ các giá trị cần thiết để hàm gọi được chạy.

IntelliJ cung cấp khá nhiều mẫu shortcut cho Live Templates, và thêm vào đó là 48 cái khác dành riêng cho việc phát triển ứng dụng Android trong Android Studio. Dưới đây là 1 vài mẫu được sử dụng thường xuyên:

1-4Y_TdIYJonsLtoPgtp8-jg.png

Để xem danh sách đầy đủ, vào File > Settings > Editor > Live Templates

Live Templates cũng có thể giúp bạn hoàn thành 1 đoạn code dài, ví dụ nếu bạn muốn viết 1 hàm static để khởi chạy activity:

public static void start(android.content.Context context) {
  android.content.Intent starter = new Intent(context, $ACT$.class);
  starter.putExtra($CURSOR$);
  context.startActivity(starter);
}

Bạn có thể làm điều tương tự với hàm newInstance để khởi tạo Fragment hoặc ViewConstructors để thêm constructor cho custom view.

Không chỉ có vậy, Android Studio còn cung cấp cho bạn khả năng tạo những template khác ngoài những cái có sẵn. Hãy vào File > Settings > Editor > Live Templates, click vào Android và click tiếp vào dấu + để tạo mới. Bạn sẽ phải chọn 1 từ viết tắt để sử dụng template này, 1 đoạn miêu tả ngắn để nhớ tác dụng của nó, và tất nhiên là đoạn code mà bạn muốn nó tự động chèn vào. Hãy xem ví dụ cách thêm 1 boolean vào SharedPreferences dưới đây:

android.content.SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
android.content.SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(getString(R.string.$stringVal$), $spVal$);
editor.apply();

Chú ý là bạn phải thêm đường dẫn đầy đủ cho các class cần thiết để tránh lỗi xảy ra (ví dụ như class cùng tên nhưng khác package) và những argument nào cần thay đổi thì cho vào giữa 2 kí tự , như `stringVal$$ chẳng hạn.

Bài viết này được dịch ra từ bài viết Writing More Code by Writing Less Code with Android Studio Live Templates của tác giả Reto Meier. Chúc các bạn sẽ thành thục việc dùng chức năng rất hữu ích này và sẽ làm việc hiệu quả hơn với Android Studio!

0