转载请注明本文出自CYM的博客(),谢谢支持!
前言
在开发中很多信息,我们都会存储在手机内部,比如一个设置,等等。此章节就是讲解如何将信息存储到文件,还会给大家带来实战工具类之一 PreferencesUtils。
文件的操作(SD卡)
写一个文件在SD卡
1> 配置权限
<! – 老版本,考虑兼容性 – ><使用,许可的android:名称=“android.permission.MOUNT_UNMOUNT_FILESYSTEMS”/><! – SD卡写入数据权限 – ><使用,许可的android:名称=“android.permission.WRITE_EXTERNAL_STORAGE”/>
2> 得到外存储器(SD卡)的路径
文件DIR = Environment.getExternalStorageDirectory();档案文件=新的文件(目录,名称);
3> 创建一个输出流
FileOutputStream中FOS =新FileOutputStream中(文件);
4> 写入流
fos.write(content.getBytes());
5> 关闭流
fos.closed();
XmlPullParser解析
1> 得到XmlPullParserFactory 解析器工厂
XmlPullParserFactory parserFactory = XmlPullParserFactory.newInstance();
2>新的一个解析器XmlPullParser
XmlPullParser解析器= parserFactory.newXmlPullParser();
3> 得到要解析的XML 文件流
InputStream中的inputStream = this.getClass()getClassLoader()的getResourceAsStream(“XX.xml”)。。
注意:
。this.getClass()getClassLoader()的getResourceAsStream(“XX.xml”);获得的src根目录下的文件
this.getClass()的getResourceAsStream(“XX.xml”);获得当前操作对象的所在包下
4> 给解析器设置文件流和编码格式
parser.setInput(的inputStream,“UTF-8”);
5> 得到解析事件类型
INT EVENTTYPE = parser.getEventType();
6> 开始判断读取文件
>> 判断是否解析到结束标签
虽然(EVENTTYPE!= parser.END_DOCUMENT){负荷开关(EVENTTYPE){
>> 开始标签
案例:parser.STAR_TAG
>> 读取标签里面的内容
如果(“人”.equals(parser.getName)){人=新的ArrayList <人>();}否则,如果(“人”.equals(parser.getName())){人=新的Person();整型ID =的Integer.parseInt(parser.getAttributeValue(0));person.id = ID;}否则,如果(“时代”.equals(parser.getName())){整型年龄=的Integer.parseInt(parser.nextText());person.age =年龄;}Berak;
>> 结束标签
案例:parser.END_TAG如果(“人”.equals(parser.getName)){List.add(人);人= NULL;}打破;默认值:打破;}//执行下一个标签eventType.next();}inputStream.close();
拉生成一个XML文件
1> 得到拉解析工厂
XmlPullParserFactory parserFactory = XmlPullParserFactory.newInstance();
2> 得到序列化器
XmlSerializer的序列化= parserFactory.newSerializer();
3> 创建一个XML,,并设置它的模式
FileOutputStream中OS =新FileOutput(“XX.xml”,Context.MODE_PRIVATE);
4> 给序列化器指定文件输入流和编码
serializer.setInput(OS,“UTF-8”);
5> 生成文档头指定编码格式和是否是一个独立的文件
serializer.starDocument(“UTF-8”,TURE);
6> 生成(根)根节点
serializer.starTag(空,标签名);
7> 迭代集合
对于(LISR <XX>李:列表){serializer.starTag(空,标签名);Serializer.attribute(NULL,标记名ls.value);serializer.endTag(空,标签名);}
8> 结束(根)根标签
Serializer.endTag(空,标签名);
9> 生成文档结尾
serializer.endDocument();
10> 关闭流
os.close();
SharedPreferences(共享首选项)
SharedPreferences 可以方便的存储参数,首选项就是用户设置的操作信息,以xml的形式保存
保存选项信息
1> 得到首选项
SharedPreference SP = getSharePreference(文件名,模式);
2> 得到编辑器
编辑器编辑器= sp.edit();
3> 通过编辑器修改值
editor.setString(名签,值);
4> 提交提交信息
editor.commit();
读取信息
1> 得到首选项
SharedPreference SP = getSharedPreference(文件名,模式)
2> 根据首选项,得到数据
字符串名称= sp.getString(名签,“”);
3> 绑定值
可存储数据类型:长
画龙画虎难画骨,知人知面不知心。