반응형

 

 

 

 

 

 

package tipcalculator.gohool.sharedpreferences;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private EditText enterM;
    private Button btn;
    private TextView textView;
    private SharedPreferences sharedPreferences;
    //저장할 곳
    private static final String PREFS_NAME = "myPrefsFile";
    //SharedPreferences는 데이터를 파일로 저장을 하는데요, 파일이 앱 폴더 내에 저장되므로 앱을 삭제하시면 당연히 데이터도 삭제됩니다.
    //1. getPreferences(int mode) - 해당 액티비티에서만 사용 가능
    //2. getSharedPreferences(String name, int mode) - 다른 액티비티에서 사용 가능

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

        enterM = (EditText) findViewById(R.id.enterText);
        btn = (Button) findViewById(R.id.button);
        textView = (TextView) findViewById(R.id.mText);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                sharedPreferences = getSharedPreferences(PREFS_NAME,MODE_PRIVATE);
                //데이터를 저장하거나 읽어올 XML 파일에 대한 정보를 얻어오기 위해 사용합니다.
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.putString("message", enterM.getText().toString());
                editor.commit();




            }
        });
        //데이터 불러오기
        SharedPreferences getPrefs = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
        if(getPrefs.contains("message")){
            String message = getPrefs.getString("message", "there is no message");
            textView.setText("message : "  + message);

        }

    }
}

 

 

MODE_PRIVATE: 해당 앱만 읽기, 쓰기 가능

MODE_MULTI_PROCESS : 다른 앱에서 읽기, 쓰기 가능

 

 

반응형

+ Recent posts