티스토리 뷰
프레프런스는 간단한 데이터를 영구적(앱이 종료되어도 유지)으로 저장할 때 사용되며, 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