я бы порекомендовал использовать SharedPrefrence для этого.
вы можете использовать этот класс для своего будущего использования.
создать имя класса: SharedPref и сохранить этот код в этом классе .
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
public class SharedPref
{
private static SharedPreferences mSharedPref;
public static final String POINTS = "POINTS";
private SharedPref()
{
}
public static void init(Context context)
{
if(mSharedPref == null)
mSharedPref = context.getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
}
public static String read(String key, String defValue) {
return mSharedPref.getString(key, defValue);
}
public static void write(String key, String value) {
SharedPreferences.Editor prefsEditor = mSharedPref.edit();
prefsEditor.putString(key, value);
prefsEditor.commit();
}
public static boolean read(String key, boolean defValue) {
return mSharedPref.getBoolean(key, defValue);
}
public static void write(String key, boolean value) {
SharedPreferences.Editor prefsEditor = mSharedPref.edit();
prefsEditor.putBoolean(key, value);
prefsEditor.commit();
}
public static Integer read(String key, int defValue) {
return mSharedPref.getInt(key, defValue);
}
public static void write(String key, Integer value) {
SharedPreferences.Editor prefsEditor = mSharedPref.edit();
prefsEditor.putInt(key, value).commit();
}
}
Просто позвоните SharedPref.init()
на MainActivity
один раз
SharedPref.init(getApplicationContext());
Для записи данных
SharedPref.write(SharedPref.POINTS, 25); //save 25 POINTS in shared preference.
Для чтения данных
int POINTS = SharedPref.read(SharedPref.POINTS, 0); //read POINTS from shared preference, if no value found then it will return 0 as default POINTS.
благодаря: Как использовать SharedPreferences в Android для хранения, извлечения и редактирования значений
в соответствии с вашими кодами, решение будет выглядеть так:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
SharedPref.init(getApplicationContext());
// your other codes here.....
измените функцию addPoints, как показано ниже:
private void addPoints(int points) {
pointCount += points;
SharedPref.write(SharedPref.POINTS, pointCount);
int POINTS = SharedPref.read(SharedPref.POINTS, 0); // you can make this globle once then use it anywhere in the class..
mText.setText("Points: " + POINTS);
}
теперь используйте этот код, чтобы показать общее количество очков:
int POINTS = SharedPref.read(SharedPref.POINTS, 0);
mText.setText("Points: " + POINTS);