SharedPreference的使用
场景也是保存用户名和密码
// 写数据关键代码
public void login(View v){
//同样先获取uname和password
if (cb.isChecked()){
//SharedPreferences是接口,路径是data/data/APP_NAME/shared_prefs
SharedPreferences sp = getShardPreferences("info", MODE_PRIVATE);
Editor ed = sp.edit();
ed.putString("uname",uname);
ed.putString("pwd",password);
}
}
// 读数据代码
public void readSharedPref(){
SharedPreference sp = getSharedPreference("info", MODE_PRIVATE);
// 第二个参数用来当取不到tag的值时返回值
String uName = sp.getString("uname","");
String pwd = sp.getString("pwd","");
}
/*
SharedPreference生成的XML没有子元素,需要其他接口生成xml
下面以短信备份为场景生成xml
*/
public void smsBackup(){
XmlSerializer xs = Xml.newSerializer();
File file = new File("fileName");
FileOutputStream fos = new FileOutputStream(file);
xs.setOutput(fos, "utf-8");//用utf-8编码方式生成文件
xs.startDocument("utf-8", true);
//按顺序插入节点
xs.startTag(null, "message");
xs.startTag(null, "sms");
xs.text("this is a sms!"); //插入一个文本内容
xs.endTag(null, "sms");
xs.endTag(null, "message");
xs.endDocument(); //文件生成完毕
}
// 读XML文件
pubic void readXml(){
// 获取xml文件file和流fis
XmlPullParser xp = Xml.newPullParser();
xp.setInput(fis, "utf-8");
int type = xp.getEventType(); //获取事件类型
/*事件类型有
START_DOCUMENT\START_TAG\TEXT\END_TAG\END_DOCUMENT
*/
while (type!=XmlPullParser.END_DOCUMENT){
switch(type){
case XmlPullParser.START_TAG:
if ("name".equals(xp.getName())){
xp.nextText() //获取下一个文件节点,其实是标签内的内容
.... //业务逻辑
}
case XmlPullParser.END_TAG:
.... //业务逻辑
}
type = xp.next(); //移动到下一个节点返回事件类型
}
}