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