본문 바로가기
Android Studio

[Android Studio] SharedPreferences

by dong_su 2023. 12. 27.

 

Shared Preferences는 앱내에서 간단하게 데이터를 저장할때 사용하는 저장소이다.

웹의 localStorage 같은 개념인거 같다.

public class MainActivity extends AppCompatActivity {

    EditText editSentence;
    Button btnSave;

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

        editSentence = findViewById(R.id.editSentence);
        btnSave = findViewById(R.id.btnSave);

        // 만약에 앱 내 저장소에 데이터가 저장 되어 있으면
        // editSentence에 보여주고 없으면 빈 문자열로 보여주자
        SharedPreferences sp = getSharedPreferences("save app", MODE_PRIVATE);
        String sentence = sp.getString("sentence", "");

        editSentence.setText(sentence);

        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String sentence = editSentence.getText().toString().trim();
                if (sentence.isEmpty()){
                    Snackbar.make(btnSave, "입력하세요.", Snackbar.LENGTH_LONG).show();
                    return;
                }

                // 저장하는 코드
                SharedPreferences sp = getSharedPreferences("save app", MODE_PRIVATE);
                SharedPreferences.Editor editor = sp.edit();
                editor.putString("sentence", sentence);
                editor.apply();

            }
        });
    }