Android 학습 용 SharedPreferences 응용 프로그램 데이터 저장

본 고 는 Shared Preferences 가 응용 프로그램 데 이 터 를 저장 하 는 구체 적 인 절 차 를 소개 하 였 으 며,여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
1.Shared Preferences 의 간단 한 소개
프로그램 이 실 행 될 때 사용자 의 사용 에 따라 이 사용자 의 설정 정 보 를 유지 할 수 있 습 니 다.예 를 들 어 지난번 재생 시의 eq 설정,볼 륨 설정,인터넷 의 cookies 정보 등 작은 정 보 는 Shared Preferences 를 통 해 유지 할 수 있 습 니 다.Shared Preferences 를 통 해 유지 하 는 데 이 터 는 XML 파일 로 프로그램의 개인 폴 더 에 있 습 니 다.
2.구체 적 인 조작 방법
Shared Preferences 를 가 져 오 면 다음 과 같은 방법 으로 얻 을 수 있 습 니 다.

매개 변수 요약:
Name―Shared Preferences 를 받 으 면 프로그램의 개인 폴 더 에 XML 파일 이 저 장 됩 니 다.첫 번 째 매개 변수 name 은 이 파일 이름 입 니 다.
Mode―XML 파일 의 저장 모드,기본 값 은 0,즉 MODE 입 니 다.PRIVATE
3,간단 한 데모
서비스의 한 음악 재생 예 를 통 해'재생'과'일시 정지'두 단 추 를 누 르 십시오.
일시 정지 후 Shared Preferences 에 재생 진 도 를 유지 한 다음 다시 재생 하면 진도 값 을 읽 고 음악 재생 을 합 니 다.

/* 
 * @author:conowen 
 * @date:12.3.01 
 * 
 */ 
package com.conowen.sharedpreferences; 
 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
 
public class SharedPreferencesActivity extends Activity { 
  /** Called when the activity is first created. */ 
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button play = (Button) findViewById(R.id.play);  
    Button pause = (Button) findViewById(R.id.pause);  
  
    final Intent intent = new Intent(SharedPreferencesActivity.this,service.class);  
    //   intent final,    ,          (onclicklisenter)    
    play.setOnClickListener(new OnClickListener() {  
  
      @Override  
      public void onClick(View v) {  
        // TODO Auto-generated method stub  
        startService(intent);  
        //     ,        intent    
  
      }  
    });  
    pause.setOnClickListener(new OnClickListener() {  
  
      @Override  
      public void onClick(View v) {  
        // TODO Auto-generated method stub  
        stopService(intent);  
        //       
  
      }  
    });  
     
  } 
} 
두 번 째 클 라 스 는 서 비 스 를 계승 하 는 것 입 니 다.manifest.XML 에 서 비 스 를 등록 하 세 요.

 /* 
 * @author:conowen 
 * @date:12.3.01 
 * 
 */ 
package com.conowen.sharedpreferences; 
 
import android.app.Service; 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.media.MediaPlayer; 
import android.os.IBinder; 
 
public class service extends Service { 
 
  MediaPlayer player; 
 
  //       
 
  @Override 
  public void onCreate() { 
    // TODO Auto-generated method stub 
    super.onCreate(); 
    player = MediaPlayer.create(this, R.raw.lt26); 
    player.setLooping(true); 
    //               onCreate() 
  } 
 
  @Override 
  public void onStart(Intent intent, int startId) { 
    // TODO Auto-generated method stub 
    super.onStart(intent, startId); 
    SharedPreferences sp = this.getSharedPreferences("music_progress", 
        MODE_PRIVATE); 
    // music_progress XML       
    player.seekTo(sp.getInt("progress", 0)); 
    // progress      key,progress       player.getCurrentPosition()  ,       
    //     onStart   ,    player    
    // MediaPlayer seekTo  ,    ,    ,getInt            key  ,           。           0 
    player.start(); 
  } 
 
  @Override 
  public void onDestroy() { 
    // TODO Auto-generated method stub 
    super.onDestroy(); 
    SharedPreferences sp = this.getSharedPreferences("music_progress", 
        MODE_PRIVATE); 
    sp.edit().putInt("progress", player.getCurrentPosition()).commit(); 
    // player.getCurrentPosition()            
    // commit()     SharedPreferences       
    player.stop(); 
  } 
 
  @Override 
  public IBinder onBind(Intent intent) { 
    // TODO Auto-generated method stub 
    return null; 
  } 
 
} 
Shared Preferences 를 통 해 저 장 된 문 서 는 다음 과 같 습 니 다.DDMS 를 열 고 File Explore 로 전환 합 니 다.개인 디 렉 터 리 에 있 는 sharedprefs 폴 더 의 경로 는
/data/data/가방 이름/sharedprefs

내용 은 아래 와 같다

<?xml version='1.0' encoding='utf-8' standalone='yes' ?> 
<map> 
<int name="progress" value="90695" /> 
</map> 
이상 은 본 고의 모든 내용 입 니 다.여러분 이 안 드 로 이 드 소프트웨어 프로 그래 밍 을 배 우 는 데 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기