您的位置:首页 > 其它

25管理用户偏好设置的抽象类和其实现类

2014-12-25 15:26 218 查看
管理用户偏好设置的抽象类:

package com.dystu.impro.model;

/**
 * 管理用户数据和偏好设置的抽象类
 * @author 
 *
 */

public abstract class IMModel {

	public abstract void setSettingMsgNotification(boolean paramBoolean);

	public abstract boolean getSettingMsgNotification();

	public abstract void setSettingMsgSound(boolean paramBoolean);

	public abstract boolean getSettingMsgSound();

	public abstract void setSettingMsgVibrate(boolean paramBoolean);

	public abstract boolean getSettingMsgVibrate();

	public abstract void setSettingMsgSpeaker(boolean paramBoolean);

	public abstract boolean getSettingMsgSpeaker();

	public abstract boolean saveCXId(String cxId);

	public abstract String getCXId();

	public abstract boolean savePassword(String pwd);

	public abstract String getPwd();

	/**
	 * 是否总是接受好友邀请
	 * 
	 * @return
	 */
	public boolean getAcceptInvitationAlways() {
		return false;
	}

	/**
	 * 是否需要环信好友关系,默认是false
	 * 
	 * @return
	 */
	public boolean getUserCXRoster() {
		return false;
	}

	/**
	 * 是否需要已读回执
	 * 
	 * @return
	 */
	public boolean getRequireReadAck() {
		return true;
	}

	/**
	 * 是否需要已送达回执
	 * 
	 * @return
	 */
	public boolean getRequireDeliveryAck() {
		return false;
	}

	/**
	 * 是否运行在sandbox测试环境,默认是关掉的。建议开发时设置此模式
	 * 
	 * @return
	 */
	public boolean isSandboxMode() {
		return false;
	}

	/**
	 * 是否设置debug模式
	 * 
	 * @return
	 */
	public boolean isDebugMode() {
		return false;
	}
}


实现类:

package com.dystu.impro.model;

import com.dystu.impro.utils.CXPreferenceUtils;

import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

/**
 * 
 * 管理用户数据和偏好设置的抽象类的实现类
 * 
 * @author
 *
 */

public class IMModelImpl extends IMModel {

	private static final String PREF_USERNAME = "username";
	private static final String PREF_PWD = "pwd";
	protected Context context = null;

	public IMModelImpl(Context ctx) {
		context = ctx;
		CXPreferenceUtils.init(ctx);
	}

	@Override
	public void setSettingMsgNotification(boolean paramBoolean) {
		CXPreferenceUtils.getInstance().setSettingMsgNotification(paramBoolean);
	}

	@Override
	public boolean getSettingMsgNotification() {
		return CXPreferenceUtils.getInstance().getSettingMsgNotification();
	}

	@Override
	public void setSettingMsgSound(boolean paramBoolean) {
		CXPreferenceUtils.getInstance().setSettingMsgSound(paramBoolean);
	}

	@Override
	public boolean getSettingMsgSound() {
		return CXPreferenceUtils.getInstance().getSettingMsgSound();
	}

	@Override
	public void setSettingMsgVibrate(boolean paramBoolean) {
		CXPreferenceUtils.getInstance().setSettingMsgVibrate(paramBoolean);
	}

	@Override
	public boolean getSettingMsgVibrate() {
		return CXPreferenceUtils.getInstance().getSettingMsgVibrate();
	}

	@Override
	public void setSettingMsgSpeaker(boolean paramBoolean) {
		CXPreferenceUtils.getInstance().setSettingMsgSpeaker(paramBoolean);
	}

	@Override
	public boolean getSettingMsgSpeaker() {
		return CXPreferenceUtils.getInstance().getSettingMsgSpeaker();
	}

	@Override
	public boolean getUserCXRoster() {
		return false;
	}

	@Override
	public boolean saveCXId(String cxId) {

		SharedPreferences preferences = PreferenceManager
				.getDefaultSharedPreferences(context);
		return preferences.edit().putString(PREF_USERNAME, cxId).commit();

	}

	@Override
	public String getCXId() {
		SharedPreferences preferences = PreferenceManager
				.getDefaultSharedPreferences(context);

		return preferences.getString(PREF_USERNAME, null);
	}

	@Override
	public boolean savePassword(String pwd) {
		SharedPreferences preferences = PreferenceManager
				.getDefaultSharedPreferences(context);

		return preferences.edit().putString(PREF_PWD, pwd).commit();
	}

	@Override
	public String getPwd() {
		SharedPreferences preferences = PreferenceManager
				.getDefaultSharedPreferences(context);
		return preferences.getString(PREF_PWD, null);
	}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: