`
liujianguangaaa
  • 浏览: 235201 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Android读写XML(下)——创建XML文档

阅读更多

在前面的2篇文章Android读写XML(上)——package说明Android读写XML(中)——SAX 中想必大家对XML文件读取的方法已经比较熟悉了,在这里我们就不多说了,直接说明如何将信息写成XML文件,首先介绍Andoid SDK中的相关类。

说明
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文件夹下,如下:
BlogXML
还可以将这个文件从File Explorer中导出到电脑中查看XML文档的具体内容,与输出的字符串完全一样。

总结说明

XML文件的写入就完成了,想必大家对串行化也有应该有一些了解,具体的需要引用那些package请大家到Android SDK去仔细查看吧。

分享到:
评论

相关推荐

    android 自定义xml存储方式以及存储位置

    1. 内存中的XML:在程序运行时,可以使用`org.w3c.dom`或`javax.xml.parsers`包下的类动态创建和解析XML文档。例如,使用`DocumentBuilderFactory`创建`DocumentBuilder`对象,然后通过`parse()`方法加载XML字符串或...

    Android高手进阶教程与Android基础教程

    Android读写XML(下)——创建XML文档.doc Android读写XML(中)——SAX.doc Android高手进阶教程之----Android Handler的使用!!! .doc Android高手进阶教程之----Android Launcher抽屉类SlidingDrawer的使用.doc ...

    安卓Android源码——比较通用的xml解析方法.zip

    - `StaX`:Streaming API for XML,是另一种基于流的解析方式,介于SAX和DOM之间,提供了一种可读写XML的流式API。 - 第三方库如`Jackson`、`Gson`等,虽然主要用于JSON解析,但在特定场景下也能处理XML,尤其在...

    android xml文件操作

    SAX则是事件驱动的解析器,适用于处理大型XML文档,以节省内存。 2. SharedPreferences:这是Android系统提供的轻量级数据存储方式,通常用于保存应用的配置信息,数据格式就是XML。 3. AndroidManifest.xml:这是每...

    Android中文翻译组——Android中文API合集(3).zip_android_手册

    《Android中文API合集(3)》是Android开发者的重要参考资料,由Android中文翻译组精心编译,旨在为中文用户提供方便、易懂的Android API文档。这个合集主要涵盖了Android开发中的各种关键知识点,包括但不限于组件...

    安卓Android源码——日记本.zip

    2. **XML布局文件**: Android使用XML来定义用户界面,比如在res/layout目录下可能会有activity_main.xml,它定义了日记应用的UI布局。这些文件中会包含TextView、EditText、Button等组件,以及它们的属性和排列方式...

    Android2.2 API 中文文档系列(4) —— Manifest

    《Android2.2 API 中文文档系列(4)—— Manifest》 在Android开发中,`Manifest`文件扮演着至关重要的角色,它是每个Android应用程序的核心组件,定义了应用的基本信息、权限、组件以及它们如何相互交互。这篇...

    Android源码——完整的通讯录项目源码.7z

    3. **布局文件(XML)**:在Android中,用户界面通常使用XML文件来描述,这些文件通常位于res/layout目录下。通讯录应用可能会包含多个布局,如联系人列表视图、联系人详情页等。 4. **数据存储**:通讯录数据通常...

    安卓Android源码——仿小米便签.zip

    【标题】"安卓Android源码——仿小米便签"是一个关于安卓应用开发的项目,它旨在实现一个类似于小米便签的应用。这个项目的核心是通过分析和理解小米便签的功能和界面设计,用Android原生代码来创建一个类似的用户...

    Android项目之——漂亮的平台书架.zip

    这包括使用Android Studio中的布局工具(如XML布局文件)创建直观的界面,以及利用Material Design指南来确保应用具有现代感和一致性。开发者可能使用了自定义控件和动画效果来增强用户体验。 2. **数据存储**:...

    安卓Android源码——安卓Android系统访问串口设备源码.rar

    这份"安卓Android源码——安卓Android系统访问串口设备源码.rar"压缩包提供了相关的源代码和资料,帮助开发者理解和实现这一功能。 首先,我们需要了解的是Android系统对串口的支持。在Linux内核的基础上构建的...

    安卓Android源码——一个短信源码.rar

    【标题】"安卓Android源码——一个短信源码.rar" 提供的是Android系统中与短信相关的源代码,这对于我们理解Android平台如何处理短信服务、广播接收器、内容提供者以及与此相关的用户界面至关重要。Android是一个...

    安卓Android源码——OA精灵2011_版.zip

    6. **XML布局**:Android应用的UI通常通过XML文件来定义,开发者可以使用布局文件创建复杂的用户界面。 7. **服务(Service)**:如果OA精灵需要在后台运行某些任务,可能会使用Service组件。 8. **...

    安卓Android源码——解析word文档,过程详细,易懂,代码可直接复用.zip

    6. **权限管理**:由于涉及到读写文件,别忘了在AndroidManifest.xml中添加读写外部存储的权限。 ```xml &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/&gt; &lt;uses-permission android:...

    安卓Android源码——解析word文档,过程详细,易懂,代码可直接复用.rar

    在AndroidManifest.xml中添加`READ_EXTERNAL_STORAGE`或`WRITE_EXTERNAL_STORAGE`权限,以允许应用读写文件。 7. **用户交互**:为了提供良好的用户体验,可能需要设计合适的UI界面,让用户能够浏览、搜索、复制和...

    xml自动生成java代码(改)

    DOM解析是处理XML文档的一种方法,它将整个XML文件加载到内存中的一个树形结构——DOM(Document Object Model)中。这样,开发者可以通过DOM节点来访问和修改XML文档的任何部分。在Android中,可以使用`javax.xml....

    安卓Android源码——[安卓开源]高仿开心网.zip

    虽然只有一个文件名 "安卓Android源码——[安卓开源]高仿开心网.zip",但我们可以推测这可能包含了一系列的源代码文件、资源文件(如图片、布局XML)、配置文件(如AndroidManifest.xml)和其他相关文档。...

    安卓xml解析

    **安卓XML解析** ...DOM(Document Object Model)解析器一次性加载整个XML文档到内存中,构建一个树形结构,便于开发者遍历和修改XML文档。其优点是操作方便,缺点是对内存消耗较大,适合小型XML文件。 ```java ...

Global site tag (gtag.js) - Google Analytics