2014-09-04 63 views
0

我一直强调尝试这样做(即时通讯新的这一点)。我创建一个应用程序的android像cookie点击器,我已经完成了75%。
我正在为一件事而挣扎。我已经完成了对按钮的全部点击,它向主整数添加了一个,在这种情况下,就是您拥有的cookie的数量。

我现在想要一个东西,如果你点击一个按钮,它会添加5个饼干,每个可以说1秒。

但是,这个按钮是在不同的活动,当它按下时,我需要发送整个每5秒1次主要活动添加5。我不太清楚,但我认为我必须使用面向对象的东西来做到这一点,我不确定代码中的位置。有人能帮我吗?挣扎着将数据发送到另一个活动

回答

0

这是一个CookieCounter你的单身课。 使用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; 
    } 
} 
+0

能否请你解释一下实例是什么构造做 – XetronProgrammer 2014-09-05 17:01:23

+0

实例是varianle持有实际的CookieCounter对象。 getInstance()方法检查实例变量是否已被初始化,并在需要时初始化新的CookieCounter。稍后调用getInstance()方法总是返回相同的CookieCounter对象(存储在实例变量中)。这样您的活动可以使用相同的CookieCounter对象。 – user3811368 2014-09-05 17:10:34

0

使用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); 
相关问题