12/08/2018, 16:23

Java 8 cho Android

Java 8 là một bước tiến lớn đối với ngôn ngữ lập trình và bây giờ, với việc phát hành Android Studio 3.0, các nhà phát triển Android cuối cùng đã có quyền truy cập vào tích hợp hỗ trợ một số tính năng quan trọng nhất của Java 8. Trong phần này, chúng tôi ta khám phá các tính năng của Java 8 mà ...

Java 8 là một bước tiến lớn đối với ngôn ngữ lập trình và bây giờ, với việc phát hành Android Studio 3.0, các nhà phát triển Android cuối cùng đã có quyền truy cập vào tích hợp hỗ trợ một số tính năng quan trọng nhất của Java 8.

Trong phần này, chúng tôi ta khám phá các tính năng của Java 8 mà bạn có thể bắt đầu sử dụng trong dự án Android của mình ngay hôm nay. Trong phần Biểu thức Lambda, chúng ta sẽ thiết lập phát triển của mình để sử dụng hỗ trợ Java 8 được cung cấp bởi bộ công cụ mặc định của Android, trước khi xem xét kỹ lưỡng các biểu thức lambda.

Trong bài đăng này, chúng ta sẽ xem xét hai cách khác nhau để bạn có thể khai báo các phương pháp không trừu tượng trong các interface của bạn (không có trong các phiên bản Java trước đó). Chúng ta cũng sẽ trả lời câu hỏi, bây giờ các interface có thể thực hiện các phương thức, chính xác là sự khác biệt giữa các lớp trừu tượng và các interface?

Tôi cũng sẽ giới thiệu một tính năng của Java 8 cho phép bạn tự do sử dụng cùng một chú thích nhiều lần như bạn muốn trong cùng một vị trí, đồng thời vẫn tương thích ngược với các phiên bản trước của Android.

Nhưng trước tiên, chúng ta hãy xem một tính năng của Java 8 được thiết kế để sử dụng kết hợp với các biểu thức lambda.

Viết code gọn gàng hơn với Lambda, cùng với các phương thức tham chiếu

Khi một biểu thức lambda chỉ đơn giản gọi một phương thức duy nhất đã có một tên, bạn có thể láy ngay cả code từ dự án của bạn bằng cách sử dụng một phương thức tham chiếu.

Ví dụ, biểu thức lambda này thực sự chỉ chuyển hướng công việc sang một phương thức handleViewClick hiện có:

  FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
  fab.setOnClickListener(view -> handleViewClick(view));
}
 
private void handleViewClick(View view) {
 
}

Trong kịch bản này, chúng ta có thể tham chiếu phương thức này bằng tên, sử dụng toán tử tham chiếu :: method . Bạn tạo kiểu tham chiếu phương thức này, sử dụng định dạng sau:

Object/Class/Type::methodName

Trong ví dụ Floating Action Button, chúng ta có thể sử dụng tham chiếu phương thức tham chiếu làm phần thân của biểu thức lambda :

  FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
  fab.setOnClickListener(this::handleViewClick);
}

Lưu ý rằng phương thức được tham chiếu phải có cùng tham số với interface-trong trường hợp này, đó là View.

Bạn có thể sử dụng toán tử tham chiếu phương pháp (:             </div>
            
            <div class=

0