安卓学习之文件存储(笔记)
来源:互联网 发布:linux bash脚本 while 编辑:程序博客网 时间:2024/06/01 21:55
通过getSharedPreferences(“文件名”,权限)获取SharedPreferences;
SharedPreferences sp = getSharedPreferences(“info”,MODE_PRIVATE);
- 保存值:(通过sp获取edit,通过edit中的方法进行保存值)
Editor editor= sp.edit();
editor.putString(“uName”,uName); //uName在这里是从后台获取的用户名数据
editor.putString(“uPass”,uPass); //upass是从后台获取的密码数据
editor.commit();
- 取值:
String u =sp.getString(“uName”,”“);
String p =sp.getString(“uPass”,”“);
序列化
以短信为例:
public class CMS { private String form; private String contentx; private String time; public String getForm() { return form; } public void setForm(String form) { this.form = form; } public String getContentx() { return contentx; } public void setContentx(String contentx) { this.contentx = contentx; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } @Override public String toString() { return "CMS{" + "form='" + form + '\'' + ", contentx='" + contentx + '\'' + ", time='" + time + '\'' + '}'; }}
使用普通方法保存数据到xml:
public void saveCMS(view v){ StringBuffer sb= new StringBuffer(); sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); sb.append("<smsList>"); for (int i=0;i<cmsList.size();i++){ CMS cms=cmsList.get(i); sb.append("<cms>"); sb.append("<form>"); sb.append(cms.getForm()); sb.append("</form>"); sb.append("<content>"); sb.append(cms.getContent()); sb.append("</content>"); sb.append("<time>"); sb.append(cms.getTime()); sb.append("</time>"); sb.append("</cms>"); } sb.append("</smsList>"); String xml = sb.toString(); try{ FileOutputStream fos =openFileOutput("cms.xml",MODE_PRIVATE); fos.write(xml.getBytes()); fos.close(); }catch (Exception e){ e.printStackTrace(); } }
使用序列化进行保存数据
//xml序列化器 public void saveCMSby(view v){ XmlSerializer serializer= Xml.newSerializer(); try{ serializer.setOutput(openFileOutput("cms.xml",MODE_PRIVATE),"utf-8"); serializer.startDocument("utf-8",true); serializer.startTag(null,"scmlist"); for(CMS m:cmsList){ serializer.startTag(null,"cms"); serializer.startTag(null,"form"); serializer.text(m.getForm()); serializer.endTag(null,"form"); serializer.startTag(null,"content"); serializer.text(m.getContent()); serializer.endTag(null,"content"); serializer.startTag(null,"time"); serializer.text(m.getTime()); serializer.endTag(null,"time"); serializer.endTag(null,"cms"); } serializer.endTag(null,"scmlist"); serializer.endDocument(); }catch (Exception e){ e.printStackTrace(); } }
解析xml文件
获取解析器:
public void parXml(View view){ XmlPullParser pullParser=Xml.newPullParser(); List<CMS> cmsList=null; CMS cms=null; try { pullParser.setInput(openFileInput("cms.xml"),"utf-8"); int eventType=pullParser.getEventType(); while (eventType!=XmlPullParser.END_DOCUMENT){ switch (eventType){ case XmlPullParser.START_TAG: if("cmslist".equals(pullParser.getName())) { cmsList=new ArrayList<>(); }else if("cms".equals(pullParser.getName())){ cms=new CMS(); }else if("form".equals(pullParser.getName())){ cms.setForm(pullParser.nextText()); }else if("content".equals(pullParser.getName())){ cms.setContent(pullParser.nextText()); }else if("time".equals(pullParser.getName())){ cms.setTime(pullParser.nextText()); } break; case XmlPullParser.END_TAG: if("cms".equals(pullParser.getName())){ cmsList.add(cms); } break; } eventType= pullParser.next(); } }catch (Exception e){ e.printStackTrace(); } }
阅读全文
0 0
- 安卓学习之文件存储(笔记)
- (学习笔记)安卓的存储方式 之 Sharepreferences
- 安卓学习笔记<一>:数据存储之SharedPreferences
- 小罗学习笔记之安卓的存储路径(持续完善)
- 安卓学习之数据存储之以文件方式存储
- 安卓学习之笔记(二)
- 安卓学习-(数据存储(文件和SharedPreferences))
- [安卓基础]数据存储之文件
- 安卓之数据存储学习总结
- 安卓学习之路之数据存储外部存储
- 文件存储——安卓存储方案之二
- Android安卓——数据存储之文件存储
- 安卓文件存储
- 安卓学习之控件学习笔记
- 安卓学习笔记--读写xml文件
- 安卓学习之路之内部存储之InternalStorage
- 安卓学习笔记之四(布局)
- 安卓学习笔记之动画(上)
- 贝叶斯岭回归理论
- Java Concurrency代码实例之五-同步工具
- 实验证明LocalConnection跨浏览器功能陷落,现在的世界已经不是我记忆中的世界
- fgm实例练习笔记-2.5页面加载后自加一
- POJ 3252 Round Numbers <数位dp(记忆化所搜)/组合数学>
- 安卓学习之文件存储(笔记)
- JavaScript基础知识2
- 有关多重集合的排列和组合问题
- 融云 dlopen failed: cannot locate symbol .... libsqlite.so 问题
- easyUI.js tree
- JSP携带id属性实现不同JSP页面的跳转
- email实体类
- MAVEN整理
- C++程序员学Java系列之十三:多维数组之二维数组