Tôi đang viết một ứng dụng Android, nơi tôi có nhiều biến mà tôi cần truy cập trong một hoạt động cụ thể (về cơ bản, là "mô hình dữ liệu" cho một loại trò chơi nhỏ). Hiện tại, tôi đang lưu trữ tất cả chúng trong một lớp "container" rất lớn để tôi có thể dễ dàng tham khảo chúng mà không gây ô nhiễm lớp hoạt động của tôi. Ví dụ:Có điều gì tương tự với hệ thống tài nguyên của Android trên quy mô nhỏ hơn không?
public class Model
{
private int a;
private String b;
private float c;
...
public int getA()
{
return a;
}
public void setA(int a)
{
this.a = a;
}
public String getB()
{
return b;
}
public void setB(String b)
{
this.b = b;
}
public float getC()
{
return c;
}
public void setC(float c)
{
this.c = c;
}
...
}
Như bạn có thể thấy, các loại khác nhau và tất cả đều có getters và setters. Nhưng nó nhận được lưu trữ cồng kềnh như thế này. Tôi cũng muốn lặp qua các nhóm biến, nhưng với định dạng getter/setter phẳng này tôi không thể thực sự làm điều đó.
Tôi biết hệ thống tài nguyên của Android, nhưng dường như không phù hợp với điều này, vì các biến không có nghĩa là toàn bộ ứng dụng/toàn cầu. Chúng chỉ tồn tại trong cuộc sống của hoạt động cụ thể này và được tạo theo chương trình mỗi khi hoạt động bắt đầu.
Tôi đã nghĩ đến việc đưa tất cả chúng vào cấu trúc Map<String, Object>
, nơi tôi có thể tham chiếu từng biến thông qua khóa Chuỗi. Điều này sẽ loại bỏ sự cần thiết phải có một lớp container với rất nhiều getters và setters, vì tôi chỉ có thể gọi put
hoặc get
trên bản đồ. Nhưng sau đó bất cứ khi nào tôi muốn nhận được một giá trị từ bản đồ, tôi sẽ phải đúc theo kiểu mong đợi. Tôi không thích âm thanh đó.
Bất kỳ ai có giải pháp tốt hơn? Có cái gì đó tương tự như hệ thống tài nguyên của Android có thể được sử dụng trên quy mô nhỏ hơn, tạm thời hơn không?
Nếu bạn đặt lớp và biến tĩnh, bạn có thể truy cập các biến ở mọi nơi. Không chắc chắn nếu đó là những gì bạn có ý nghĩa. – Tooroop