在前面的2篇文章Android读写XML(上)—— package说明 、Android读写XML(中)—— SAX 中想必大家对XML文件读取的方法已经比较熟悉了,在这里我们就不多说了,直接说明如何将信息写成XML文件,首先介绍Andoid SDK中的相关类。
类 说明
XmlSerializer Define an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。
XmlSerializer Define an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。
什么是串行化?
对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对象变的可以像基本数据一样传递。
对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对象变的可以像基本数据一样传递。
下面,我们就直接来看个具体的例子来说明,如何使用XmlSerializer。
- private String writeXml(){
- XmlSerializer serializer = Xml.newSerializer();
- StringWriter writer = new StringWriter();
- try{
- serializer.setOutput(writer);
- // <?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
- serializer.startDocument(”UTF-8″,true);
- // <blog number=”1″>
- serializer.startTag(”",”blog”);
- serializer.attribute(”",”number”,String.valueOf(1));
- //<message data=”2009-09-23″>
- serializer.startTag(”",”message”);
- serializer.attribute(”",”date”,”2009-09-23″);
- // <title>Android XML</title>
- serializer.startTag(”",”title”);
- serializer.text(”Android XML”);
- serializer.endTag(”",”title”);
- // <url>http://www.moandroid.com/?p=508 </url>
- serializer.startTag(”",”url”);
- serializer.text(”http://www.moandroid.com/?p=508″);
- serializer.endTag(”",”url”);
- //</message>
- serializer.endTag(”",”message”);
- // </blog>
- serializer.endTag(”",”blog”);
- serializer.endDocument();
- return writer.toString();
- }
- catch(Exception e)
- {
- throw new RuntimeException(e);
- }
- }
我们先将writeXml()产生的字符串输出 ,看是否是按照我们设计的那样,使用Log.v(“XML”, writeXml())输出调试信息。运行程序,在DDMS中查看程序输出的调试信息,如何查看调试信息请阅读Android DDMS如何使用?
输出的字符串如下:
输出的字符串如下:
- <?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
- <blog number=”1″>
- <message data=”2009-09-23″>
- <title>Android XML</title>
- <url>http://www.moandroid.com/?p=508</url>
- </message>
- </blog>
看了运行的结果,对于上面代码的功能,估计大家就明白了,不再这里详细解析。
下面,进一步将字符串写入文件 ,代码如下:
下面,进一步将字符串写入文件 ,代码如下:
- public boolean Write(String path,String txt)
- {
- try
- {
- OutputStream os = openFileOutput(path,MODE_PRIVATE);
- OutputStreamWriter osw=new OutputStreamWriter(os);
- osw.write(txt);
- osw.close();
- os.close();
- }
- catch(FileNotFoundException e)
- {
- return false;
- }
- catch(IOException e)
- {
- return false;
- }
- return true;
- }
- }
在onCreate()中增加如下代码:Write(”blog.xml”,writeXml())。运行程序,打开DDMS查看写入的XML文档,文件存放在data/data/{package}/files文件夹下,如下:
还可以将这个文件从File Explorer中导出到电脑中查看XML文档的具体内容,与输出的字符串完全一样。
总结说明
XML文件的写入就完成了,想必大家对串行化也有应该有一些了解,具体的需要引用那些package请大家到Android SDK去仔细查看吧。
XML文件的写入就完成了,想必大家对串行化也有应该有一些了解,具体的需要引用那些package请大家到Android SDK去仔细查看吧。
相关推荐
1. 内存中的XML:在程序运行时,可以使用`org.w3c.dom`或`javax.xml.parsers`包下的类动态创建和解析XML文档。例如,使用`DocumentBuilderFactory`创建`DocumentBuilder`对象,然后通过`parse()`方法加载XML字符串或...
Android读写XML(下)——创建XML文档.doc Android读写XML(中)——SAX.doc Android高手进阶教程之----Android Handler的使用!!! .doc Android高手进阶教程之----Android Launcher抽屉类SlidingDrawer的使用.doc ...
- `StaX`:Streaming API for XML,是另一种基于流的解析方式,介于SAX和DOM之间,提供了一种可读写XML的流式API。 - 第三方库如`Jackson`、`Gson`等,虽然主要用于JSON解析,但在特定场景下也能处理XML,尤其在...
SAX则是事件驱动的解析器,适用于处理大型XML文档,以节省内存。 2. SharedPreferences:这是Android系统提供的轻量级数据存储方式,通常用于保存应用的配置信息,数据格式就是XML。 3. AndroidManifest.xml:这是每...
《Android中文API合集(3)》是Android开发者的重要参考资料,由Android中文翻译组精心编译,旨在为中文用户提供方便、易懂的Android API文档。这个合集主要涵盖了Android开发中的各种关键知识点,包括但不限于组件...
2. **XML布局文件**: Android使用XML来定义用户界面,比如在res/layout目录下可能会有activity_main.xml,它定义了日记应用的UI布局。这些文件中会包含TextView、EditText、Button等组件,以及它们的属性和排列方式...
3. **布局文件(XML)**:在Android中,用户界面通常使用XML文件来描述,这些文件通常位于res/layout目录下。通讯录应用可能会包含多个布局,如联系人列表视图、联系人详情页等。 4. **数据存储**:通讯录数据通常...
【标题】"安卓Android源码——仿小米便签"是一个关于安卓应用开发的项目,它旨在实现一个类似于小米便签的应用。这个项目的核心是通过分析和理解小米便签的功能和界面设计,用Android原生代码来创建一个类似的用户...
这包括使用Android Studio中的布局工具(如XML布局文件)创建直观的界面,以及利用Material Design指南来确保应用具有现代感和一致性。开发者可能使用了自定义控件和动画效果来增强用户体验。 2. **数据存储**:...
这份"安卓Android源码——安卓Android系统访问串口设备源码.rar"压缩包提供了相关的源代码和资料,帮助开发者理解和实现这一功能。 首先,我们需要了解的是Android系统对串口的支持。在Linux内核的基础上构建的...
【标题】"安卓Android源码——一个短信源码.rar" 提供的是Android系统中与短信相关的源代码,这对于我们理解Android平台如何处理短信服务、广播接收器、内容提供者以及与此相关的用户界面至关重要。Android是一个...
6. **XML布局**:Android应用的UI通常通过XML文件来定义,开发者可以使用布局文件创建复杂的用户界面。 7. **服务(Service)**:如果OA精灵需要在后台运行某些任务,可能会使用Service组件。 8. **...
6. **权限管理**:由于涉及到读写文件,别忘了在AndroidManifest.xml中添加读写外部存储的权限。 ```xml <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:...
在AndroidManifest.xml中添加`READ_EXTERNAL_STORAGE`或`WRITE_EXTERNAL_STORAGE`权限,以允许应用读写文件。 7. **用户交互**:为了提供良好的用户体验,可能需要设计合适的UI界面,让用户能够浏览、搜索、复制和...
DOM解析是处理XML文档的一种方法,它将整个XML文件加载到内存中的一个树形结构——DOM(Document Object Model)中。这样,开发者可以通过DOM节点来访问和修改XML文档的任何部分。在Android中,可以使用`javax.xml....
虽然只有一个文件名 "安卓Android源码——[安卓开源]高仿开心网.zip",但我们可以推测这可能包含了一系列的源代码文件、资源文件(如图片、布局XML)、配置文件(如AndroidManifest.xml)和其他相关文档。...
**安卓XML解析** ...DOM(Document Object Model)解析器一次性加载整个XML文档到内存中,构建一个树形结构,便于开发者遍历和修改XML文档。其优点是操作方便,缺点是对内存消耗较大,适合小型XML文件。 ```java ...