Android 학습 용 SharedPreferences 응용 프로그램 데이터 저장
5108 단어 AndroidSharedPreferences기억데이터
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>
이상 은 본 고의 모든 내용 입 니 다.여러분 이 안 드 로 이 드 소프트웨어 프로 그래 밍 을 배 우 는 데 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.