hàng ngày có rất nhiều câu hỏi của type sau trên SO:Tại sao getters không được ưu tiên khi truy cập các biến giữa các hoạt động?
Làm thế nào để có được một biến từ
Activity
khác?
Câu trả lời thường khuyên bạn nên sử dụng SharedPreferences
hoặc Intent.putExtra()
.
Với tôi, phương pháp getter
là cách tiếp cận để truy cập biến từ lớp khác. Xét cho cùng, số Activity
đang được xem xét là một lớp và các biến của nó là các thành viên của lớp.
Tại sao các phương thức getter không được ưa thích hơn các phương pháp như SharedPreferences hoặc tính năng bổ sung Intent?
tôi đang nói về những tình huống đơn giản mà đòi hỏi phải truy cập vào một biến giữa các hoạt động, ví dụ này:
class OneClass extends Activity {
int a;
..
// some changes to a
..
}
Và sau đó trong lớp khác (Activity
):
class SomeOtherClass extends Activity {
..
// trying to access a here
..
}
Là một getter
phương pháp một cách tiếp cận đúng ở đây, hay không?
Một lần nữa - Tôi không nói về các tình huống mà những thứ này thực sự là cách đi đúng. SharedPreferences
để lưu trữ liên tục một lượng nhỏ dữ liệu, extras
làm tài liệu nói: Điều này có thể được sử dụng để cung cấp thông tin mở rộng cho thành phần. Ví dụ, nếu chúng ta có một hành động để gửi một tin nhắn e-mail, chúng ta có thể cũng bao gồm các phần thêm dữ liệu vào đây để cung cấp cho một chủ đề, cơ thể vv
Theo một số các câu trả lời đã có khả năng chỉ ra rằng có những tình huống nhất định như không bảo đảm của Activity
khác đang hoạt động, tôi đoán có nhiều lý do có thể xảy ra và chính xác hơn là tại sao mọi người đề xuất ý định và sở thích chung.
Nó không chỉ là bạn, ai đó là downvoting tất cả các câu trả lời. – Malcolm
@KristopherMicinski cảm ơn câu trả lời, điều đó cũng trong một thời gian ngắn, và điều đó nữa khi câu hỏi bị tấn công bởi người điều hành và cử tri xuống. Xóa rất nhiều thứ cho tôi. Cảm ơn một lần nữa. :-) –