tôi đang làm việc trên một ứng dụng bao gồm một vài hoạt động:Biến tĩnh thực sự an toàn để trao đổi dữ liệu giữa các hoạt động?
- Hoạt động 1: Màn hình chính của ứng dụng với một nút "Start"
- Hoạt động 2: dùng chọn bản sắc của mình từ danh sách (nhiều người dùng sẽ sử dụng các ứng dụng)
- Hoạt động 3: hướng dẫn đầu vào mật khẩu
- Hoạt động 4: dùng chọn một sự kiện từ một thời gian biểu (mỗi người dùng có thời gian biểu riêng của mình với các sự kiện liên quan)
- Hoạt động 5 : người dùng có thể chọn một hành động c được phát hiện với một hoạt động.
- Hoạt động 6-10: người dùng thực hiện hành động thích hợp.
Dưới đây một số thông tin hơn:
- mọi hoạt động 6-10 đã biết những gì người dùng đang đăng nhập và những gì sự kiện đã được chọn
- mọi hoạt động 6-10 có một menu cho phép người dùng quay lại hoạt động: 1 (để đăng xuất), 4 (để chọn sự kiện khác), 5 (để chọn hành động khác)
Kể từ bây giờ, tôi đã sử dụng gói để trao đổi dữ liệu giữa hoạt động nhưng nó có vẻ phức tạp mã như số lượng hành động phát triển (một số hành động sử dụng 3-4 hoạt động để thu thập dữ liệu từ người dùng). Việc chuyển tất cả dữ liệu đến mọi hoạt động đã tạo dường như không được tốt đẹp.
Tôi đang suy nghĩ về việc lưu trữ "tên người dùng" và "sự kiện" đã chọn làm trường tĩnh của một lớp. Tôi sẽ đơn giản hóa mã rất nhiều, nhưng tôi không chắc chắn liệu dữ liệu này sẽ tồn tại nếu người dùng cho phép tại một số điểm nhấn "nút home" và chạy một ứng dụng khác cần nhiều bộ nhớ.
Dữ liệu được lưu trữ trong các trường tĩnh có an toàn không?
Bạn có ý nghĩa gì với "trong cùng một trình nạp lớp"? Tôi nghĩ rằng chỉ có một bản sao của lớp có sẵn cho toàn bộ ứng dụng. – Ashwin
Không, hai phiên bản 'Hoạt động' khác nhau không được đảm bảo nằm trong cùng một' Lớp tải '. Họ sẽ có hai bản sao sau đó. Ngoài ra, trong một 'Activity',' Class' có thể thay đổi theo thời gian: hệ điều hành được tự do gỡ bỏ ứng dụng của bạn trong 'onDestroy()', và tạo một 'ClassLoader' mới và nạp lại nó. –
Điều gì sẽ xảy ra nếu tôi lưu trữ các vairables của tôi trong một lớp mở rộng Ứng dụng? Nó sẽ tốt hơn "tĩnh"? – Ashwin