Android 0, dọn dẹp truyền
Một trong những điều mà google công bố trong IO 2017 là một thứ gọi là 'bỏ đi' :). Nhà phát triển Android không phải thực hiện truyền thủ công cho findViewById (). Ví dụ, cách cũ để có được chế độ xem văn bản bằng findViewById () sẽ giống như thế này.
TextView txtDesc = (TextView) findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
Trong khi cách mới sẽ như thế này
TextView txtDesc = findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
Đó là một thay đổi đơn giản. Nhưng đối với một lập trình viên dày dạn kinh nghiệm, một mã sạch như thế này có thể khiến bạn rất hài lòng và nó giúp ích cho tâm trạng mã hóa của bạn :)
Để có thể làm điều này, bạn chỉ cần đặt phiên bản sdk được biên dịch dự án của bạn thành phiên bản 26 trong ứng dụng build.gradle của bạn.
Bạn vẫn có thể nhắm mục tiêu phiên bản sdk trước đó, vì vậy đó là một thay đổi không xâm phạm.
Bây giờ vấn đề thực sự, làm thế nào để bạn làm sạch mã cũ sử dụng đúc tất cả thời gian này. Đặc biệt là khi bạn có hàng trăm tệp hoạt động. Bạn có thể làm nó bằng tay, hoặc có thể thuê một thực tập viên để làm điều đó. Nhưng may mắn cho tất cả những người thực tập, studio android đã sẵn sàng giúp chúng tôi thực hiện điều này.
Khi bạn đặt dấu mũ của bạn (hoặc nhấp vào quá trình truyền dự phòng), studio sẽ gợi ý 2 tùy chọn để xử lý việc truyền dự phòng.
Đầu tiên, nó sẽ đề nghị loại bỏ cast thừa đó hoặc bạn có thể chọn dọn sạch mã. Nó sẽ loại bỏ tất cả các cast thừa cho tập tin đó. Điều này là tốt hơn, nhưng chúng tôi muốn nhiều hơn nữa. Chúng tôi không muốn mở từng tệp và làm sạch từng cái một.
Một trong những điều làm cho ý tưởng của IntelliJ trở nên đặc biệt là một tính năng được gọi là hành động có chủ đích. Tất cả bạn phải làm là đẩy ctrl + shift + A và sau đó gõ sạch. Và chọn Code Clean up action, và chọn toàn bộ phạm vi dự án. Với một vài bước đơn giản, mã của bạn sẽ sạch hơn rất nhiều.
Một điểm quan trọng là bạn làm điều này với một số hệ thống phiên bản mã. Bằng cách này, bạn có thể so sánh các thay đổi được thực hiện bằng hành động có chủ ý và hoàn nguyên bất kỳ tệp nào bạn muốn.
Sao chép từ bài gốc:
https://medium.com/@abangkis/android-0-clean-up-casting-c30acec56cef
<T extends View> T findViewById(int id)
?