티스토리 뷰

프레프런스는 간단한 데이터를 영구적(앱이 종료되어도 유지)으로 저장할 때 사용되며, XML 포맷의 텍스트 파일에 정보를 저장한다.

형식) 프레프런스는 키와 값의 쌍으로 데이터를 저장한다. (키는 정보의 이름이며 값은 정보의 디폴트값이다.)


프레프런스 타입

int     > getInt(String key, int defValue)

String  > getString(String key, String defValue)

boolean > getBoolean(String key, boolean defValue)

...



프레프런스 클래스 자체에는 값을 읽는 메서드만 제공되며 값을 기록하는 메서드는 이너 클래스인 SharedPreferences.Editor가 제공한다.


예를 보면 어느정도 이해가 될 것이다.


MainActivity.java

public class MainActivity extends Activity {
	TextView Name, Phone;
	Button getPreferenceBtn, setPreferenceBtn;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Name = (TextView) findViewById(R.id.name);
		Phone = (TextView) findViewById(R.id.phone);
		getPreferenceBtn = (Button) findViewById(R.id.getPreBtn);
		setPreferenceBtn = (Button) findViewById(R.id.setPreBtn);

		getPreferenceBtn.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				Toast.makeText(MainActivity.this, "데이터를 불러옵니다.",
						Toast.LENGTH_SHORT).show();
				getPreferenceTest();
			}
		});

		setPreferenceBtn.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				Toast.makeText(MainActivity.this, "데이터를 저장합니다.",
						Toast.LENGTH_SHORT).show();
				setPreferenceTest();
			}
		});
	}

	public void setPreferenceTest() {
		SharedPreferences pref = getSharedPreferences("PrefTest", 0);
		SharedPreferences.Editor edit = pref.edit();

		String myName = "MRSIM";
		int myphone = 12345;

		edit.putString("Name", myName);
		edit.putInt("Phone", myphone);

		edit.commit();
	}

	public void getPreferenceTest() {
		SharedPreferences pref = getSharedPreferences("PrefTest", 0);

		String myName = pref.getString("Name", "");
		int myphone = pref.getInt("Phone", 0);

		applyWidget(myName, myphone);
	}

	public void applyWidget(String myName, int myphone) {
		Name.setText(myName);
		Phone.setText("" + myphone);
	}
}



activity_main.xml



    

    

    


getdata버튼을 누르면 저장된 값을 받아오며, setdata를 누르면 데이터를 저장한다.

한번, setdata를 눌러서 데이터가 저장된 것을 확인한 뒤, 앱을 종료 후 바로 getdata를 누르게되면 이전에 저장된 값을 받을 수 있다.


'Language > Android' 카테고리의 다른 글

[Android] 인터넷상태확인  (0) 2013.04.16
[Android] 해상도구하기  (0) 2013.04.16
[Android] 로딩화면구현하기  (0) 2013.04.16
[Android] 리스트뷰  (0) 2013.04.15
[Android] 외부폰트적용  (0) 2013.04.14
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday