2014-07-17 17 views
11

Tôi cố chỉnh sửa một số mã. Theo ghi chú của nhà phát triển, nó là một phần của ứng dụng trong phiên bản đậu jelly android. Nhưng tôi tìm thấy một đoạn mã khiến tôi bối rối. Mã này có nghĩa là gì? Có gì xảy ra nếu chúng ta không sử dụng này hoặc xóa đoạn mã này:API mục tiêu của Android

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) 
+3

Câu hỏi này dường như là off-topic vì nó cho thấy một sự thiếu hoàn toàn nghiên cứu –

+0

Bạn nên ít nhất chia sẻ các liên kết mà bạn đang nói about.That nên xác định "một số mã" –

+0

thể trùng lặp của [ Lỗi @Suppress android so với @TargetApi] (http://stackoverflow.com/questions/17665730/android-suppress-errors-vs-targetapi) – SztupY

Trả lời

30

Đó là chú thích cho công cụ Android Lint biết rằng lớp hoặc phương pháp sau nhắm mục tiêu một cấp API cụ thể bất kể mức được chỉ định là cấp SDK min trong tệp kê khai.

Lint tạo lỗi và cảnh báo khi bạn đang sử dụng chức năng mới không có sẵn ở cấp API mục tiêu. Nếu bạn biết những gì bạn đang làm và có các cơ chế khác để ngăn chặn mã đang chạy trên các cấp API cũ hơn, bạn có thể sử dụng nó để ngăn chặn các lỗi lint và cảnh báo.

Nếu bạn xóa chú thích, lint sử dụng cài đặt mức SDK API của tệp kê khai thay vì khi kiểm tra mã.

http://developer.android.com/reference/android/annotation/TargetApi.html

0

Đây là một chú thích Java thực hiện cho android:

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) 

Nó nói với công cụ lint, rằng lớp sau/phương thức chỉ nên được thực hiện nếu người dùng đang sử dụng ứng dụng dưới Honeycomb.

+6

FWIW, chú thích chỉ được công cụ lint sử dụng. Nó không có hiệu lực trong thời gian chạy. – laalto

+0

@laalto bạn đã đúng ... đã chỉnh sửa. – SuppressWarnings

Các vấn đề liên quan