Android 학습 노트 (13) Shared Preference 가 파악 해 야 할 기초
1. Shared Preferences 소개.
1. Shared Preferences 는 가 벼 운 저장 방식 으로 xml 파일 을 바탕 으로 key - value 키 값 을 저장 하여 데 이 터 를 저장 하 는 원 리 를 가지 고 있 으 며, 일반적으로 간단 한 설정 정 보 를 저장 하 는 데 사용 된다.저장 위치: / data / data / {가방 이름} / sharedprefs 디 렉 터 리 아래.Shared Preferences 대상 자 체 는 저장 과 수정 을 지원 하지 않 고 데이터 만 가 져 올 수 있 으 며 저장 수정 은 Editor 대상 을 통 해 이 루어 집 니 다.
2. Shared Preferences 대상 은 SQLite 데이터베이스 에 비해 더욱 경량급 이 므 로 데이터 베 이 스 를 만 들 거나 표를 만 들 거나 SQL 문 구 를 쓰 는 등 일련의 작업 이 필요 하지 않 습 니 다.옥 에 티 는 Shared Preferences 가 몇 가지 유형의 데이터 만 지원 하 는 것 입 니 다.
boolean、 int 、float、 long、String
3. Shared Preferences 자체 가 인터페이스 입 니 다. 프로그램 은 인 스 턴 스 를 직접 만 들 수 없습니다. Context 에서 제공 하 는 getShared Preferences (String name, int mode) 를 통 해 인 스 턴 스 를 얻 을 수 있 습 니 다. 이 방법의 두 번 째 인 자 는 다음 과 같은 몇 가지 값 을 지원 합 니 다.
· Context.MODE_PRIVATE: 로 컬 프로그램 에 만 읽 히 고 씁 니 다.
· Context.MODE_WORLD_READABLE: 다른 프로그램 에서 읽 을 수 있 습 니 다.
· Context.MODE_WORLD_WRITEABLE: 다른 프로그램 에서 읽 고 쓸 수 있 습 니 다.
4. Shared Preferences 의 일반적인 방법 은 다음 과 같 습 니 다.
· boolean contans (String key): Shared Preferences 에 특정 key 의 데이터 가 포함 되 어 있 는 지 판단 합 니 다.
· abstract Map
· boolean getXxx (String key, xxx default): 지정 한 key 에 대응 하 는 값 을 가 져 옵 니 다. 이 key 가 존재 하지 않 으 면 default 값 을 되 돌려 줍 니 다.
또 하 나 는 조건 조회 등 도 지원 되 지 않 기 때문에 Shared Preferences 는 조작 하기에 매우 편리 하지만 저장 방식 의 보충 으로 만 사용 할 수 있 을 뿐 SQLite 데이터베이스 등 다른 데이터 저장 방식 을 완전히 대체 할 수 없다 는 것 이다.
2. Editor 소개
Shared Preferences 자 체 는 데 이 터 를 기록 하 는 방법 을 제공 하지 않 고 Shared Preferences 의 대상 을 통 해 editor () 방법 으로 Editor 대상 을 가 져 와 데 이 터 를 기록 합 니 다.Editor 에서 자주 사용 하 는 방법 은 다음 과 같 습 니 다.
· clear (): Shared Preferences 의 모든 데 이 터 를 삭제 합 니 다.
· putXxx (String key, xxx value): Shared Preferences 에 데 이 터 를 기록 합 니 다.
· remove (String key): Shared Preferences 에서 지정 한 key 의 값 을 삭제 합 니 다.
· commt (): Editor 가 편집 되면 이 방법 은 수정 사항 을 제출 합 니 다.
3. 하나의 예 로 Shared Preferences 의 용법 을 설명 합 니 다.
Shared Preferences 가 어떻게 사용 되 는 지 간단 한 예 로 설명 하 겠 습 니 다.
1. 우선 레이아웃 파일 activity 만 들 기main, 레이아웃 파일 에 입력 상자, 읽 기, 쓰기, 제거 등 네 개의 공간 을 설치 합 니 다.읽 기 코드 는 다음 과 같 습 니 다:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical"
6 >
7
8 <EditText
9 android:id="@+id/et_data"
10 android:layout_width="wrap_content"
11 android:layout_height="wrap_content"
12 android:ems="10" >
13
14 <requestFocus />
15 </EditText>
16
17 <Button
18 android:id="@+id/btn_read"
19 android:layout_width="wrap_content"
20 android:layout_height="wrap_content"
21 android:text=" " />
22
23 <Button
24 android:id="@+id/btn_write"
25 android:layout_width="wrap_content"
26 android:layout_height="wrap_content"
27 android:text=" " />
28
29 <Button
30 android:id="@+id/btn_clear"
31 android:layout_width="wrap_content"
32 android:layout_height="wrap_content"
33 android:text=" " />
34
35 </LinearLayout>
레이아웃 파일 이 매우 간단 하 니 여 기 는 일일이 분석 하지 않 겠 습 니 다.
2. 그 다음 에 MainActivity 를 만 들 고 MainActivity 에서 Shared Preferences 에 대한 기록, 읽 기, 선명 등 관련 작업 을 실현 합 니 다. 코드 는 다음 과 같 습 니 다.
1 /**
2 * MainActivity
3 *
4 * @author liuwei
5 *
6 */
7 public class MainActivity extends Activity {
8 private SharedPreferences preferences;
9 private Editor editor;
10 EditText et_data;
11 Button btn_read;
12 Button btn_write;
13 Button btn_clear;
14
15 @Override
16 protected void onCreate(Bundle savedInstanceState) {
17 super.onCreate(savedInstanceState);
18 setContentView(R.layout.activity_main);
19 et_data = (EditText) findViewById(R.id.et_data);
20 btn_read = (Button) findViewById(R.id.btn_read);
21 btn_write = (Button) findViewById(R.id.btn_write);
22 btn_clear = (Button) findViewById(R.id.btn_clear);
23 preferences = getPreferences(Activity.MODE_PRIVATE);
24 editor = preferences.edit();
25 btn_read.setOnClickListener(new OnClickListener() {
26
27 @Override
28 public void onClick(View v) {
29 String str = preferences.getString("key", " ");
30 Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT)
31 .show();
32 }
33 });
34 btn_write.setOnClickListener(new OnClickListener() {
35
36 @Override
37 public void onClick(View v) {
38 editor.putString("key", et_data.getText().toString());
39 if (editor.commit()) {
40 Toast.makeText(getApplicationContext(), " ",
41 Toast.LENGTH_SHORT).show();
42 }
43 }
44 });
45 btn_clear.setOnClickListener(new OnClickListener() {
46
47 @Override
48 public void onClick(View v) {
49 editor.clear();
50 if (editor.commit()) {
51 Toast.makeText(getApplicationContext(), " ",
52 Toast.LENGTH_SHORT).show();
53 }
54
55 }
56 });
57 }
58 }
코드 분석:
(1) 코드 에서 먼저 Shared Preferences 와 Editor 의 대상 을 만 들 고 onCreate () 방법 에서 초기 화 작업 을 했 습 니 다.
(2) editor. putString () 방법 을 통 해 데 이 터 를 기록 하고 데 이 터 를 키 로 입력 합 니 다.
(3) Shared Preferences 대상 의 getString (key, default) 방법 을 통 해 대응 하 는 key 의 값 을 얻 을 수 있 습 니 다. 여기 서 두 번 째 매개 변 수 는 default 는 key 에 대응 하 는 데이터 가 없 을 때 기본 값 으로 우리 가 직접 값 을 부여 할 수 있 습 니 다.
(4) 마지막 으로 editor. clear () 방법 을 통 해 Shared Preferences 를 비 울 수 있 습 니 다.
주: Editor 대상 에 대한 작업 은 작업 이 끝 난 후에 commt 방법 을 실행 해 야 합 니 다.동시에 editor. comit () 방법 은 boolean 값 을 되 돌려 줍 니 다. true 를 성공 적 으로 실행 하고 실 패 를 false 로 되 돌려 줍 니 다.
본문 링크:http://www.cnblogs.com/codingblock/p/4887436.html
성명: 본 고 는 모든 형식의 전 재 를 환영 하지만 본 고의 링크 를 반드시 보존 해 주 십시오. 감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.