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