Cảm ơn bạn đã ghé thăm cộng đồng vietandroid.com. Đây là một cộng đồng mở và miễn phí vì vậy chúng tôi rất mong bạn hãy tham gia và hoạt động tích cực bằng cách đặt câu hỏi/thắc mắc hoặc những kinh nghiệm của bạn trong lập trình Android tới mọi người. Chúc bạn thành công !
+1 phiếu
đã hỏi trong System bởi (140 điểm)
Khi dùng đến Context mọi người có phân biệt được getContext() , getApplicationContext() , getBaseContext() và “this” không ạ?

Nếu có thể xin các bác dẫn ra vài trường hợp cụ thể nên và không nên như thế nào để lý giải được tường minh hơn. Many thanks.

2 Câu trả lời

+4 phiếu
đã trả lời bởi (13.7k điểm)
this chính là context của màn hình hiện tại (activity hiện tại) -> nếu activity này bị destroy thì context này không còn tồn tại

getApplicationContext() thì là context của ứng dụng -> chỉ ị hủy khi quit khỏi ứng dụng

tùy vào trường hợp mà bạn nên quyết định chọn cái nào
đã bình luận bởi (100 điểm)
hay quá .....
0 phiếu
đã trả lời bởi (300 điểm)
anh có thể giải thích rõ hơn về context là gì được không ạ? Em có đọc một số định nghĩa nhưng vẫn chưa hiểu rõ lắm context là gì, dùng để làm gì mà chỉ biết truyền vào theo như method yêu cầu thôi
đã bình luận bởi (100 điểm)
Bạn thấy rất nhiều nơi trong android có context, từ activity, fragment hay cả class thường cũng có. Nói thế này, context là 1 lớp ở mức ứng dụng chứa các thông tin ứng dụng và giúp giao tiếp với hệ điều hành android.  lớp context có thể tương tác tới tài nguyên ứng dụng resource, database, thông số cấu hình của hđh, ...
...