目录
-
工具类
public class ProperTies { private static SharedPreferences share; private static String configPath = "appSetting"; // 读取配置文件信息 public static SharedPreferences getProperties(Context context) { try { share = context.getSharedPreferences(configPath, Context.MODE_PRIVATE); } catch (Exception e) { e.printStackTrace(); } return share; } // 修改配置文件信息 public static String setPropertiesMap(Context context, Map<String,String> maps) { try { share = context.getSharedPreferences(configPath, Context.MODE_PRIVATE); SharedPreferences.Editor editor = share.edit();//取得编辑器 Set<Map.Entry<String, String>> set = maps.entrySet(); // 遍历键值对对象的集合,得到每一个键值对对象 for (Map.Entry<String, String> me : set) { // 根据键值对对象获取键和值 String key = me.getKey(); String value = me.getValue(); editor.putString(key, value);//存储配置 参数1 是key 参数2 是值 } editor.commit();//提交刷新数据 } catch (Exception e) { e.printStackTrace(); Log.e("setPropertiesError", e.toString()); return "修改配置文件失败!"; } return "设置成功"; } }
-
调用读取配置文件
// 读取配置文件 SharedPreferences share = ProperTies.getProperties(getApplicationContext()); struser=share.getString("mqttuser",""); // mqttuser自己要读取的字段,下同 strpwd=share.getString("mqttpwd",""); strport=share.getString("mqttport",""); strserver=share.getString("mqttserver","");
注意:
初始化为空值,需要手动设置初始值:
第一次初始化时,是没有数据的,是空值,只有填写完相应的信息后,修改保存后,再一次打开才会取到保存的值。
-
调用修改配置文件
// 保存修改的用户名文本信息 Map<String, String> mqttinfomap = new HashMap<String, String>(); // mqttuser自己要保存的字段,下同 mqttinfomap.put("mqttuser", userName.getText().toString()); mqttinfomap.put("mqttpwd", pwd.getText().toString()); mqttinfomap.put("mqttport", port.getText().toString()); mqttinfomap.put("mqttserver", address.getText().toString()); String result=ProperTies.setPropertiesMap(getApplicationContext(),mqttinfomap); // 修改结果,提示信息 Toast.makeText(CorrespondSettingsActivity.this, result, Toast.LENGTH_SHORT).show();
注意:
该功能所用的配置文件不需要额外创建,会自动生成,只需要调用相关方法进行读写即可。