Загрузка данных


package com.example.rps;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class SettingsActivity extends AppCompatActivity {

    static final String PREFS = "rps_prefs";
    static final String KEY_TARGET = "target_score";
    static final int DEFAULT_TARGET = 3;

    private TextView tvTargetValue;
    private SeekBar seekTarget;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);

        tvTargetValue = findViewById(R.id.tvTargetValue);
        seekTarget = findViewById(R.id.seekTarget);
        Button btnSave = findViewById(R.id.btnSave);

        SharedPreferences prefs = getSharedPreferences(PREFS, MODE_PRIVATE);
        int target = prefs.getInt(KEY_TARGET, DEFAULT_TARGET);
        seekTarget.setProgress(target - 1);   // диапазон 1..20
        showValue(target);

        seekTarget.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar s, int progress, boolean fromUser) {
                showValue(progress + 1);
            }
            @Override public void onStartTrackingTouch(SeekBar s) { }
            @Override public void onStopTrackingTouch(SeekBar s) { }
        });

        btnSave.setOnClickListener(v -> {
            prefs.edit().putInt(KEY_TARGET, seekTarget.getProgress() + 1).apply();
            finish();
        });
    }

    private void showValue(int value) {
        tvTargetValue.setText(getString(R.string.win_points, value));
    }
}