Android 单例模式与SharedPreferences一起使用
来源:互联网 发布:网络销售团队架构 编辑:程序博客网 时间:2024/05/22 06:11
百度上很多关于单例模式的解释,例如懒汉模式,饿汉模式等等之类,也有说单例模式与SharedPreferences一起使用,因为SharedPreferences暂不支持多线程访问。可以查看我这篇文章Android sharedpreferences轻量级存储中介绍SharedPreferences。
下面贴代码看看单例模式与SharedPreferences一起使用。
import android.content.Context;import android.content.ContextWrapper;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;public class ProgramConfigManage {// 单例模式类对象private ContextWrapper mWrapper = null;private static ProgramConfigManage m_ProgramConfig = null;private SharedPreferences mPreferences = null;// 将配置参数定义为成员全局变量private String mstrNetworkIP;private int mnNetworkPort;private String mstrNetworkUserName; private String mstrNetworkPassword; private String mstrNetworkUpdate; // 单例模式获取实例public static ProgramConfigManage GetInstance(Context base) {if (m_ProgramConfig == null) {m_ProgramConfig = new ProgramConfigManage(base);// 为了提高速度,在这 里读取配置m_ProgramConfig.mstrNetworkIP = m_ProgramConfig.mPreferences.getString("Config_NetworkIP", "");m_ProgramConfig.mnNetworkPort = m_ProgramConfig.mPreferences.getInt("Config_NetworkPort", 0);m_ProgramConfig.mstrNetworkUserName = m_ProgramConfig.mPreferences.getString("Config_NetworkUserName", "");m_ProgramConfig.mstrNetworkPassword = m_ProgramConfig.mPreferences.getString("Config_NetworkPassword", "");m_ProgramConfig.mstrNetworkUpdate = m_ProgramConfig.mPreferences.getString("Config_NetworkUpdate", "");}return m_ProgramConfig;}// 配置getSharedPreferencespublic ProgramConfigManage(Context base) {// super(base);mWrapper = new ContextWrapper(base);mPreferences = mWrapper.getSharedPreferences("Perference",ContextWrapper.MODE_PRIVATE);}// 设置public void setNetworkState(String strNetworkIP, int nNetworkPort,String strNetworkUserName, String strNetworkPassword) {Editor editor = mPreferences.edit();editor.putString("Config_NetworkIP", strNetworkIP);editor.putInt("Config_NetworkPort", nNetworkPort);editor.putString("Config_NetworkUserName", strNetworkUserName);editor.putString("Config_NetworkPassword", strNetworkPassword);editor.commit();mstrNetworkIP = strNetworkIP;mnNetworkPort = nNetworkPort;mstrNetworkUserName = strNetworkUserName;mstrNetworkPassword = strNetworkPassword;}//设置public void setNetworkUpdateMessage(String strUpdate) {Editor editor = mPreferences.edit();editor.putString("Config_NetworkUpdate", strUpdate);editor.commit();mstrNetworkUpdate=strUpdate;}public String getNetworkIP() {return mstrNetworkIP;}public int getNetworkPort() {return mnNetworkPort;}public String getNetworkUserName() {return mstrNetworkUserName;}public String getNetwordPassword() {return mstrNetworkPassword;}public String getNetworkUpdate() {return mstrNetworkUpdate;}}
欢迎大家交流更多的SharedPreferences以及单例模式的用法.
1 0
- Android 单例模式与SharedPreferences一起使用
- SharedPreferences存储 单例模式
- 单例模式与Android
- 关于DontDestroyOnLoad与单例一起的使用
- 单例模式定义与使用
- 单例模式的使用与说明
- 单例设计模式与使用场景
- Android中SharedPreferences与Editor的使用
- Android存储---SharedPreferences的介绍与使用
- Android中SharedPreferences与Editor的使用
- Android - 单例模式(singleton)的使用
- Android - 单例模式(singleton)的使用
- 单例模式在android中使用
- Android多种单例模式的使用
- Android中的单例模式使用场景
- Android单例模式的使用
- android单例模式的使用
- Android 单例模式的使用
- 自增/自减学习
- 警告:不能读取 AppletViewer 的属性文件解决
- 利用MSP430F5438A进行SD卡初始化-实战应用(二)
- 3.22
- 排序算法1.插入排序 2.冒泡排序 3.改进的冒泡法 4.归并排序
- Android 单例模式与SharedPreferences一起使用
- plot.xts is wonderful
- Linux3.0.0内核中客体(如文件/目录)相关的DAC安全数据结构(传统9Bit模块、ACL模式)
- Android系统服务-WindowManager
- 我的灯光控制系统86盒面板软件
- Xcode 配置git 多项目版本控制
- 5-1简述智能卡的发展以及射频电子标签在其中的位置
- 凤凰岭一日游
- UVA - 993 - Product of digits (简单贪心)