Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在努力将数据发送到另一个活动_Java_Android_Oop - Fatal编程技术网

Java 正在努力将数据发送到另一个活动

Java 正在努力将数据发送到另一个活动,java,android,oop,Java,Android,Oop,我尝试这样做时感到压力很大(我是新来的)。我正在为android创建一个类似cookie clicker的应用程序,我已经完成了75%的工作我在为一件事挣扎。我已经点击了整个按钮,它在主整数上加了一个,在这个例子中,这个整数就是你拥有的cookies数量我现在想要一个东西,如果你点击一个按钮,它会在每1秒的饼干数量中增加5个但此按钮位于不同的活动中,当按下此按钮时,我需要每隔1秒向主活动发送整个add 5。我不太确定,但我认为我必须使用面向对象的东西来实现这一点,我不确定在代码中的什么地方可以实

我尝试这样做时感到压力很大(我是新来的)。我正在为android创建一个类似cookie clicker的应用程序,我已经完成了75%的工作
我在为一件事挣扎。我已经点击了整个按钮,它在主整数上加了一个,在这个例子中,这个整数就是你拥有的cookies数量

我现在想要一个东西,如果你点击一个按钮,它会在每1秒的饼干数量中增加5个

但此按钮位于不同的活动中,当按下此按钮时,我需要每隔1秒向主活动发送整个add 5。我不太确定,但我认为我必须使用面向对象的东西来实现这一点,我不确定在代码中的什么地方可以实现这一点。有人能帮我吗?

这里有一个
CookieCounter
singleton类。 使用
CookieCounter.getInstance().increaseCount(int-amount)
将计数增加
amount
。使用
CookieCounter.getInstance().getCount()
获取当前计数

public class CookieCounter {
    private static CookieCounter instance;
    int count = 0;
    public static CookieCounter getInstance() {
        if(instance == null) {
            instance = new CookieCounter();
        }
        return instance;
    }

    public void increaseCount(int amount) {
        count += amount;
    }

    public int getCount() {
        return count;
    }
}

使用
enum
采用单例模式。它是线程安全的,更易于实现:

public enum ClickerCounter {
HANDLER;

private int _count = 0;

public void increase(int amount) {
    _count += amount;
}

public int getCount() {
    return _count;
}

}
//用法

ClickerCounter.HANDLER.getCount();
ClickerCounter.HANDLER.increase(value);

你能解释一下这个实例是什么以及构造函数在做什么吗?这个实例是一个包含实际CookieCounter对象的变量。getInstance()方法检查实例变量是否已初始化,并在需要时初始化新的CookieCounter。以后对getInstance()方法的调用总是返回相同的CookieCounter对象(存储在实例变量中)。这样,您的活动可以使用相同的CookieCounter对象。