public void login(View v){
if(cb.isChecked()){//选中复选框
Toast.makeText(this,"读取文件",Toast.LENGTH_LONG);
readxml(this);
}else{
Toast.makeText(this,"写入文件",Toast.LENGTH_LONG);
writexmls(this);
}
}
写入数据成为xml
public void writexmls(Context ct){
XmlSerializer xmls=Xml.newSerializer();
File ff=new File(ct.getFilesDir().toString(),"serial.xml");
FileOutputStream os= null;
try {
os = new FileOutputStream(ff);
xmls.setOutput(os,"utf-8");
xmls.startDocument("utf-8",true);
xmls.startTag(null,"groupnodes");
xmls.startTag(null,"name");
xmls.attribute(null,"id","1");
xmls.text(et_username.getText().toString());
xmls.endTag(null,"name");
xmls.startTag(null,"pwd");
xmls.text(et_password.getText().toString());
xmls.endTag(null,"pwd");
xmls.endTag(null,"groupnodes");
xmls.endDocument();
} catch (Exception e) {
e.printStackTrace();
}
}
文件路径
XML文件用XMLSerializer 写入数据,
用XMLPullParser读取xml数据
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<groupnodes><name id="1"></name><pwd></pwd></groupnodes>
从xml读取文件
public void readxml(Context ct){ XmlPullParser xpp=Xml.newPullParser(); File ff=new File(ct.getFilesDir().toString(),"serial.xml"); try{ InputStream ips=new FileInputStream(ff); xpp.setInput(ips,"utf-8"); int et=xpp.getEventType(); while(et!=XmlPullParser.END_DOCUMENT){ String name=xpp.getName(); String tt=xpp.getText(); if(name!=null){ if(name.equals("name")){ et_username.setText(xpp.nextText()); }else if(name.equals("pwd")){ et_password.setText(xpp.nextText()); } } et=xpp.next(); } }catch (Exception e) { e.printStackTrace(); } }