保存int计数并将其检索到其他活动

时间:2013-10-05 14:30:31

标签: java android button sharedpreferences

我正在创建一个游戏,其中为用户提供每个问题的提示,当用户按下提示按钮,然后提示计数必须减少1,我有很多活动将具有相同类型的逻辑。如何编辑数据并在任何我们想要的地方获取数据。请帮帮我

2 个答案:

答案 0 :(得分:1)

您可以将计数值保存在Application类中的静态变量中。

AndroidManifest.xml中定义.-

<application
    android:allowBackup="true"
    android:name=".YourApplicatinClass"
    ...

然后将YourApplicationApplication类定义为.-

public class YourApplicationClass extends Application { 
    public static int cont = 0;
}

随时随地访问cont

YourApplicationClass.cont

答案 1 :(得分:1)

您应该将其保存在SharedPreferences中。 看看这个Question,它应该给你提示如何使用它。 您可以编写一个静态方法来读取减少保存在那里的值

class Activity1{


    onClickListener(){
        GlobalSettings.getHits(context)
    }

}


class Activity2{

    onClickListener(){
        GlobalSettings.getHits(context)
    }

}



class GlobalSettings{
    private static String PREFS_NAME = "myprefs";
    private static String PREF_HITS = "hits";
    private static int START_VALUE = 10;

    public static int getHits(Context context){
        SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
        return settings.getInt(PREF_HITS, START_VALUE); 
    }

    public static void incrementHits(Context context){
        SharedPreferences settings = getSharedPreferences(PREFS_NAME , 0);
        SharedPreferences.Editor editor = settings.edit();

        editor.putInt(PREF_HITS, getHits(context) + 1);
        editor.commit();
    }

    public static void decrementHits(Context context){
        SharedPreferences settings = getSharedPreferences(PREFS_NAME , 0);
        SharedPreferences.Editor editor = settings.edit();

        editor.putInt(PREF_HITS, getHits(context) - 1);
        editor.commit();    
    }

}