android 项目中规范使用SharedPreferences

时间:2022-06-11 17:23:18

一、SharedPreferences是什么来的?

SharedPreferences是Android四种数据存储技术中的一种(SharedPreferences、SQLite、Content Provider和File),SharedPreferences处理的就是一个key-value(键值对),常用来存储一些轻量级的数据。

(官网是学习android最好的地方)

官网链接:http://developer.android.com/reference/android/content/SharedPreferences.html

二、简单使用

1、创建一个ShareContents类,用于保存key-value的key

public class ShareContents {
	public static String ShareName="shareName";
	public static String myName = "myName";
	public static String isGood = "isGood";
}

2、创建一个ShareManager类,用于统一管理SharedPreferences的get和set方法,相当于设置或者key-value的value。

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class ShareManager {
	private SharedPreferences share;
	private Editor editor;
	private String TAG = "ShareManager";
	private ShareManager() {
		super();
	}

	public void clear() {
		editor.clear().commit();
	};

	public ShareManager(Context context) {
		super();
		share = context.getSharedPreferences(ShareContents.ShareName, Context.MODE_PRIVATE);
		editor = share.edit();
	}

	/**
	 * 获取myName
	 * 
	 * @return
	 */
	public String getMyName() {
		String result = share.getString(ShareContents.myName, "");
		return result;
	}

	/**
	 * 设置myName
	 * 
	 * @param myName
	 */
	public void setMyName(String myName) {
		editor.putString(ShareContents.myName, myName).commit();
	}
	
	/**
	 * 获取isGood
	 * @return
	 */
	public boolean isGood(){
		boolean result = share.getBoolean(ShareContents.isGood, false);;
		return result;
	}
	
	/**
	 * 设置isGood
	 * @param isGood
	 */
	public void setIsGood(boolean isGood){
		editor.putBoolean(ShareContents.isGood, isGood).commit();
	}
}

3、SharedPreferences的演示demo

public class SharePreferencesActivity extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		final Button button = new Button(this);
		setContentView(button);
		
		button.setText("点击一下屏幕哦,就可以设置SharedPreferences并获取值显示在屏幕上");
		
		// 生成对象shareManager
		final ShareManager shareManager = new ShareManager(this);
		// 设置名称
		shareManager.setMyName("li xiao long");
		// 设置isGood为true
		shareManager.setIsGood(true);
		
		button.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View view) {
				button.setText("myName:"+shareManager.getMyName()+"  ; "+"isGood:"+shareManager.isGood());
			};
		});
	}
}

你可以点击这里找到本节的demo 

本文链接:http://www.cnblogs.com/liqw/p/4148411.html