Mục lục:
- Đặt chữ cái hoa vào đó
- Đứt ra khỏi câu lệnh chuyển mạch
- So sánh các giá trị với dấu hai chấm =
- Thêm người nghe để xử lý các sự kiện
- công cộng nhiệt độ (số đôi)
- Nếu bạn cố gắng biên dịch mã sau đây, bạn sẽ nhận được thông báo lỗi:
- public class ThrowNullPointerException {public static void main (String [] args) {String myString = null; hiển thị (myString);} hiển thị tĩnh void (String aString) {if (! aString. chứa ("bí mật")) {Hệ thống. ngoài. println (aString);}}}
- Nếu bạn quên thêm phần tử vào AndroidManifest của mình. tệp xml, ứng dụng không thể liên lạc với các máy chủ của Twitter. Ứng dụng không thành công mà không hiển thị thông báo lỗi hữu ích. Quá tệ!
- Eclipse tự động tạo ra một
Video: [Từ vựng Toeic gây nhầm lẫn] - COST & CHARGE 2025
Dưới đây là 10 nhắc nhở nhanh chóng để tránh những sai lầm dễ dàng khi bạn lập trình ứng dụng Android với Java mã. Viết các chương trình Java của riêng bạn sẽ dễ dàng hơn và mượt mà hơn khi bạn chạy qua danh sách kiểm tra này.
Đặt chữ cái hoa vào đó
Java là ngôn ngữ phân biệt chữ hoa chữ thường, do đó bạn phải nhớ P s và Q của bạn - cùng với mọi chữ cái khác của bảng chữ cái. Dưới đây là một số khái niệm cần ghi nhớ khi bạn tạo các chương trình Java:
-
Các từ khoá của Java đều là chữ thường. Ví dụ, trong câu lệnh if if, nếu if không thể Nếu hoặc IF.
-
Khi bạn sử dụng tên từ Giao diện lập trình ứng dụng Java (Java Application Programming Interface), trường hợp các tên phải khớp với những gì xuất hiện trong API.
-
Bạn cũng cần phải chắc chắn rằng những cái tên bạn tự tạo nên được viết hoa cùng một cách trong toàn bộ chương trình. Nếu bạn tuyên bố một biến myAccount, bạn không thể tham chiếu nó như là MyAccount, myaccount hoặc Myaccount. Nếu bạn sử dụng tên biến theo hai cách khác nhau, Java nghĩ bạn đang đề cập đến hai biến hoàn toàn khác nhau.
Đứt ra khỏi câu lệnh chuyển mạch
Nếu bạn không thoát khỏi câu lệnh switch, bạn sẽ bị rơi. Ví dụ, nếu giá trị của cuộn là 7, đoạn mã sau sẽ in ra cả ba từ - win, continue, and lose:
chuyển đổi (roll) {trường hợp 7: Hệ thống. ngoài. println ("thắng"); trường hợp 10: Hệ thống. ngoài. println ("tiếp tục"); trường hợp 12: Hệ thống. ngoài. println ("lose");}
So sánh các giá trị với dấu hai chấm =
Khi bạn so sánh hai giá trị với nhau, bạn sử dụng dấu hai chấm. Dòng
if (inputNumber == randomNumber)
là chính xác, nhưng dòng
if (inputNumber = randomNumber)
không chính xác.
Thêm người nghe để xử lý các sự kiện
Bạn muốn biết khi người dùng nhấp chuột vào một tiện ích, khi một hoạt hình kết thúc, hoặc khi có gì đó xảy ra, vì vậy bạn tạo trình nghe:
public class MainActivity mở rộng hoạt động Khi bạn tạo trình nghe, bạn phải nhớ để thiết lập trình nghe: Widget của ImageView = Hiển thị thông tin của người xem:
mới ImageView (này); widget.
setOnClickListener (điều này); … Hoạt hình AlphaAnimation = Mới AlphaAnimation (0. 0F, 1. 0F); hoạt hình. setAnimationListener (này); … Nếu bạn quên cuộc gọi đến setOnClickListener, không có gì xảy ra khi bạn nhấp vào widget. Nhấp chuột vào tiện ích khó hơn một lần thứ hai không giúp đỡ.
Khi bạn định nghĩa một constructor với các tham số, như trong
công cộng nhiệt độ (số đôi)
Java không còn tạo ra một constructor parameterless mặc định cho bạn. Nói cách khác, bạn không còn có thể gọi
Nhiệt độ phòngTemp = Nhiệt độ mới ();
trừ khi bạn xác định rõ ràng riêng của bạn không tham số nhiệt độ xây dựng.
Sửa các tài liệu tham khảo không tĩnh
Nếu bạn cố gắng biên dịch mã sau đây, bạn sẽ nhận được thông báo lỗi:
lớp WillNotWork {String greeting = "Hello"; public static void main (String args []) {Hệ thống. ngoài. println (greeting);}}Bạn nhận được một thông báo lỗi vì main là tĩnh, nhưng lời chào không phải là tĩnh.
Ở trong phạm vi mảng
Khi bạn khai báo một mảng với mười thành phần, các thành phần có các chỉ số từ 0 đến 9. Nói cách khác, nếu bạn khai báo
int khách [] = new int [10];
bạn có thể tham khảo các thành phần của các khách mời bằng cách viết cho khách [0], khách [1], vân vân … [9]. Bạn không thể viết khách [10], bởi vì mảng khách không có thành phần có chỉ số 10.Dự đoán các con trỏ null
Những ví dụ này không dễ bị ném NullPointerException, nhưng trong lập trình Java trong thực tế, bạn thấy rằng ngoại lệ tất cả thời gian. Một NullPointerException nói về khi bạn gọi một phương pháp trên một biểu hiện mà không có một giá trị "hợp pháp". Đây là một ví dụ giá rẻ:
public class ThrowNullPointerException {public static void main (String [] args) {String myString = null; hiển thị (myString);} hiển thị tĩnh void (String aString) {if (! aString. chứa ("bí mật")) {Hệ thống. ngoài. println (aString);}}}
Phương thức hiển thị in một chuỗi ký tự chỉ khi mà chuỗi không chứa từ
bí mật
. Vấn đề là biến myString (và do đó tham số aString) không đề cập đến một chuỗi bất kỳ loại nào - thậm chí không với chuỗi rỗng (""). Khi máy tính đạt đến cuộc gọi tới aString. chứa, máy tính tìm một phương thức chứa thuộc null. Nhưng null là không có gì. Giá trị null không có phương pháp. Vì vậy, bạn có được một NullPointerException lớn, và chương trình đi xuống xung quanh bạn. Để tránh loại tai hoạ này, hãy suy nghĩ hai lần về bất kỳ cuộc gọi phương thức nào trong mã của bạn. Nếu biểu thức trước dấu chấm có thể là null, hãy thêm mã xử lý ngoại lệ vào chương trình của bạn:
try {if (! AString. Contains ("confidential")) {System. ngoài. println (aString);}} catch (NullPointerException e) {Hệ thống. ngoài. println ("Chuỗi là null.");}
Sử dụng quyền
Một số ứng dụng yêu cầu quyền rõ ràng. Ví dụ: một ứng dụng có thể nói chuyện với các máy chủ của Twitter thông qua Internet. Điều này không làm việc trừ khi bạn thêm một phần tử vào AndroidManifest của ứng dụng. tệp xml:
Nếu bạn quên thêm phần tử vào AndroidManifest của mình. tệp xml, ứng dụng không thể liên lạc với các máy chủ của Twitter. Ứng dụng không thành công mà không hiển thị thông báo lỗi hữu ích. Quá tệ!
Hoạt động không được tìm thấy
Nếu bạn tạo một hoạt động thứ hai cho ứng dụng của mình, bạn phải thêm một thành phần mới trong AndroidManifest của ứng dụng.tệp xml. Ví dụ: ứng dụng Android có thể có hai hoạt động: MainActivity và MyListActivity.
Eclipse tự động tạo ra một
Nếu bạn không thêm phần tử này, Android không thể tìm thấy lớp MyListActivity, mặc dù MyListAcitivity. tệp java nằm trong thư mục dự án Eclipse của ứng dụng. Ứng dụng của bạn bị treo với ActivityNotFoundException.
Và điều đó tạo nên sự khác biệt.