-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEx01Activity.java
More file actions
69 lines (56 loc) · 2.56 KB
/
Ex01Activity.java
File metadata and controls
69 lines (56 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package org.androidtown.memoapplication;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
//import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class Ex01Activity extends AppCompatActivity {
TextView text_view;
Button btn_value, btn_reset;
int n = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ex01_1);
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
n = pref.getInt("value", 0); // defValue : 만약 해당 원소가 없을 경우 기본값 0을 넣겠다.
text_view = findViewById(R.id.value);
btn_value = findViewById(R.id.btn_value);
btn_reset = findViewById(R.id.btn_reset);
text_view.setText(String.valueOf(n)); // n + "" 보다는 String.valueOf( )
btn_value.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text_view.setText(String.valueOf(++n));
}
});
btn_reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
n = 0;
text_view.setText(String.valueOf(n));
}
});
} // onCreate
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("MY", "onDestroy()");
// 액티비티가 종료될 때
// 로컬에 n을 저장
// SharedPreferences 객체를 얻어옴 --> PreferenceManager를 통해 얻어옴
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
// 편집 모드 실행 ( SharedPreferences.Editor : 편집기 )
SharedPreferences.Editor edit = pref.edit(); // 편집하겠다!
// 편집기를 사용하여 데이터 저장
edit.putInt("value", n); // int형 데이터를 저장하겠다! 이름 : "value", 값 : n
edit.apply(); // 최종저장 ( apply(), commit() 을 사용. apply()를 쓰자! )
// 최종 저장을 하지 않으면 저장 안됨!
// 참고 : edit.remove(String name) -> name 원소 삭제
// edit.clear() -> 로컬에 저장되었던 모든 원소 삭제
}
}