Android从零开始(6)(Sdcard文件操作+pull解析+ SharedPreference

转载请注明本文出自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> 绑定值

可存储数据类型:长

画龙画虎难画骨,知人知面不知心。

Android从零开始(6)(Sdcard文件操作+pull解析+ SharedPreference

相关文章:

你感兴趣的文章:

标签云: