728x90
package com.leo104.saveapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
EditText editSentence;
Button btnSave;
private static final String SP_NAME = "save_app";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editSentence = findViewById(R.id.editSentence);
btnSave = findViewById(R.id.btnSave);
// 만약 앱 저장소에 sentence라는 키 값으로 저장된 데이터가 있으면
// EditText에 표시를 하자!
SharedPreferences sp = getSharedPreferences(SP_NAME,MODE_PRIVATE);
String sentence = sp.getString("sentence","");
int data = sp.getInt("hello",0);
editSentence.setText(sentence+data);
// 유저가 입력한 문장을 Shared Preference에 저장한다.
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String sentence = editSentence.getText().toString().trim();
// 첫번째 파라미터는 저장소 이름을 적어준다.
// 두번째 파라미터는 우리 앱에서만 사용할 수 있도록 MODE_PRIVATE
SharedPreferences sp = getSharedPreferences(SP_NAME,MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("sentence",sentence);
editor.putInt("hello",100);
editor.apply();
// 저장 이후에 다시 hint로 화면에 보여주는 코드
editSentence.setText("");
}
});
}
}
728x90
'안드로이드' 카테고리의 다른 글
안드로이드 - 메뉴 아이콘 이미지를 벡터 이미지로 만드는 방법 (0) | 2023.01.31 |
---|---|
안드로이드 - SQLite3 데이터베이스 활용하는 방법(SQLiteOpenHelper 상속) (0) | 2023.01.31 |
안드로이드 - 액티비티 간의 양방향 데이터 전달방법(Back버튼 눌렀을 때) (0) | 2023.01.30 |
안드로이드 - 액티비티 간의 단방향 데이터 전달방법 (0) | 2023.01.30 |
안드로이드 - 액티비티 간의 화면 전환 방법과 intent (0) | 2023.01.30 |