http://codeman77.tistory.com/29


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="org.hansung.sharedpreferencesex.MainActivity"
    android:orientation="vertical"
    android:gravity="center_vertical">
 
    <TextView
        android:text="ID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
 
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/idText"
        android:hint="ID"/>
 
    <TextView
        android:text="PASSWORD"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"/>
 
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/pwdText"
        android:hint="****"/>
 
    <CheckBox
        android:text="로그인 정보 기억하기"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/checkBox"
        />
 
    <Button
        android:text="Login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/loginBtn"/>
 
</LinearLayout>


package org.hansung.sharedpreferencesex;
 
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
 
public class MainActivity extends AppCompatActivity {
 
    private boolean saveLoginData;
    private String id;
    private String pwd;
 
    private EditText idText;
    private EditText pwdText;
    private CheckBox checkBox;
    private Button loginBtn;
 
    private SharedPreferences appData;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // 설정값 불러오기
        appData = getSharedPreferences("appData", MODE_PRIVATE);
        load();
 
        idText = (EditText) findViewById(R.id.idText);
        pwdText = (EditText) findViewById(R.id.pwdText);
        checkBox = (CheckBox) findViewById(R.id.checkBox);
        loginBtn = (Button) findViewById(R.id.loginBtn);
 
        // 이전에 로그인 정보를 저장시킨 기록이 있다면
        if (saveLoginData) {
            idText.setText(id);
            pwdText.setText(pwd);
            checkBox.setChecked(saveLoginData);
        }
 
        loginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 로그인 성공시 저장 처리, 예제는 무조건 저장
                save();
            }
        });
    }
 
    // 설정값을 저장하는 함수
    private void save() {
        // SharedPreferences 객체만으론 저장 불가능 Editor 사용
        SharedPreferences.Editor editor = appData.edit();
 
        // 에디터객체.put타입( 저장시킬 이름, 저장시킬 값 )
        // 저장시킬 이름이 이미 존재하면 덮어씌움
        editor.putBoolean("SAVE_LOGIN_DATA", checkBox.isChecked());
        editor.putString("ID", idText.getText().toString().trim());
        editor.putString("PWD", pwdText.getText().toString().trim());
 
        // apply, commit 을 안하면 변경된 내용이 저장되지 않음
        editor.apply();
    }
 
    // 설정값을 불러오는 함수
    private void load() {
        // SharedPreferences 객체.get타입( 저장된 이름, 기본값 )
        // 저장된 이름이 존재하지 않을 시 기본값
        saveLoginData = appData.getBoolean("SAVE_LOGIN_DATA"false);
        id = appData.getString("ID""");
        pwd = appData.getString("PWD""");
    }
}



출처: http://codeman77.tistory.com/29 [☆]