是否有类似于Android资源系统的更小规模?

Xåp*_* - 5 java resources android android-activity android-resources

我正在编写一个Android应用程序,我需要在特定活动中访问大量变量(基本上,这是一个小型游戏的"数据模型").目前,我将它们存储在一个巨大的"容器"类中,因此我可以轻松地引用它们而不会污染我的活动类.例:

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;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它们是不同类型的,并且都有吸气剂和固定剂.但是像这样存储起来很麻烦.我也想迭代变量的组,但是使用这种平坦的getter/setter格式我不能真正做到这一点.

我知道Android的资源系统,但它似乎不适合这个,因为变量不是应用程序范围/全局的.它们仅在此特定活动的生命周期中存在,并且每次活动开始时都以编程方式生成.

我想把它们全部放到一个Map<String, Object>结构中,我可以通过一个String键引用每个变量.这样就不需要有一个包含大量getter和setter的容器类,因为我可以只调用putget在地图上.但是每当我想从地图中获取一个值时,我都必须转换为预期的类型.我不喜欢那种声音.

谁有更好的解决方案?是否有类似Android的资源系统可以在更小,更临时的规模上使用?

Tom*_*m G 0

我不知道为什么,如果这些是为了对活动的状态进行建模,那么您不只是为每个模型对象定义实际的类。这就是我的建议。您在这里采用了一种非常类似于 C 的过程方法,只需将它们一起放入一个类中即可。另外,由于您的代码不显示静态 getter 和 setter,因此您必须以某种方式创建和访问容器类,不是吗?基于这个小片段,在没有更多上下文的情况下,很难给您更好的答案。