android xml 控件属性

android:fadingEdgeLength

设置淡入淡出边缘的长度,可以接受大小值的单位是:pxdpspinmm,也可以参考大小值资源

android:fitsSystemWindows

是否适合系统窗体,取值为truefalse。该属性只对不是子组件的组件有效

android:focusable

是否可以获取焦点,取值truefalse

android:focusableInTouchMode

是否可以在触摸模式下获取焦点,truefalse

android:hapticFeedbackEnabled

是否允许触摸反馈效果,truefalse

android:id

提供该组件的标识名,可以借助ActivityView实例的findViewById方法通过id获取对应的组件实例对象,其属性值的形式为:android:id=”@+id/id<id>”

android:isScrollContainer

设置该组件是否设置为滚动条容器,truefalse

android:keepScreenOn

控制该组件在显示的时候保持在屏幕显示,truefalse

android:longClickable

是否响应长时间点击事件,truefalse

android:minHeight

组件的最小高度,取值同android:fadingEdgeLength

android:minWidth

组件的最小宽度,取值同android:fadingEdgeLength

android:nextFocusDown

设置下一个向下获取焦点的组件,取值为id

android:nextFocusLeft

设置下一个向左获取焦点的组件,取值为id

android:nextFocusRight

设置下一个向右获取焦点的组件,取值为id

android:nextFocusUp

设置下一个向上获取焦点的组件,取值为id

android:padding

设置上、下、左、右4个边缘的填充距离,必须是一个大小值,取值同android:fadingEdgeLength

android:paddingBottom

设置下端边缘的填充距离,取值同android:padding

android:paddingLeft

设置左端边缘的填充距离,取值同android:padding

android:paddingRight

设置右端边缘的填充距离,取值同android:padding

android:paddingTop

设置上端边缘的填充距离,取值同android:padding

android:saveEnabled

是否允许保存状态,取值为truefalse

android:scrollX

设置垂直滚动条的位移量,必须是一个大小值,取值同android:padding

android:scrollY

设置水平滚动条的位移量,必须是一个大小值,取值同android:padding

android:scrollbarAlwaysDrawHorizontalTrack

是否总是设置水平滚动条滑块,truefalse

android:scrollbarAlwaysDrawVerticalTrack

是否总是设置垂直滚动条滑块,truefalse

android:scrollbarSize

设置垂直滚动条的宽度和水平滚动条的长度,必须是一个大小值,取值同android:padding

android:scrollbarStyle

设置滚动条的样式,取值为下列之一:

insideOverlay在填充区域内,覆盖形式

insideInset在填充区域内,插进形式(凹进)

outsideOverly在绑定组件边缘,覆盖形式

outsideInset在绑定组件边缘,插进形似

android:scrollbarThumbHorizontal

设置水平滚动条按钮的绘制资源,必须引用可绘制资源

android:scrollbarThumbVertical

设置垂直滚动条按钮的绘制资源,必须引用可绘制资源

android:scrollbarTrackHorizontal

设置水平滚动条轨道的绘制资源,必须引用可绘制资源

android:scrollbarTrackVertical

设置水平滚动条轨道的绘制资源,必须引用可绘制资源

android:scrollbars

设置滚动显示,可以为一下一个或多个值:

none不显示滚动条

horizontal只显示水平滚动条

vertical只显示垂直滚动条

android:soundEffectsEnabled

是否允许音效,取值为truefalse

android:tag

设置标记内容,可以通过View类实例的getTag方法获取该组件的标记内容,或者使用findViewByTag通过标记来查找相应的子组件

android:visibility

设置初始化可见状态,取值为以下之一:

visible可见(默认值)

invisible不可见(其所占空间将留出)

gone完全不可见(其所占空间都不会留出)

 

 

线性布局LinearLayout组件属性列表

属性

说明

android:baselineAligned

基线对齐

android:baselineAlignedChildIndex

以指定子组件作为基线对齐

android:gravity

指定该物体放入其容器的重心位置,取值为下列之一:

top上方,物体大小不变

bottom下方,物体大小不变

left左方,物体大小不变

right右方,物体大小不变

center_vertical垂直方向的中间,物体大小不变

fill_vertical填满垂直方向,自动进行大小调整

center_horizontal水平方向的中间,大小不变

fill_horizontal填满水平方向,自动进行大小调整

center居中(既是水平也是垂直方向的中间)

fill填满整个容器

clip_vertical

clip_horizontal

android:orientation

布局方向,取值为下列之一:

horizontal水平的

vertical垂直的(默认值)

android:weightSum

组件的比重和

 

 

线性布局参数LinearLayout_Layout

属性

说明

android:layout_gravity

当前子组件的心位置

android:layout_height

当前子组件的高度

android:layout_weight

当前子组件的空间比重,取值为浮点数

android:layout_width

当前子组件的宽度

 

 

相对布局RalativeLayout

属性

说明

android:gravity

设置添加组件的重心

android:ignoreGravity

忽略布局重心的影响

 

 

相对布局参数RalativeLayout_Layout

属性

说明

android:layout_above

将当前组件的下边缘放置于参照组件之上,该属性为参照组件的ID

android:layout_alignBaseline

当前组件与参照组件的基线对齐,该属性为参照组件的ID

android:layout_alignBottom

当前组件与参照组件的下边界对齐,该属性为参照组件的ID

android:layout_alignLeft

当前组件与参照组件的左边界对齐,该属性为参照组件的ID

android:layout_alignParenBottom

当前组件与父组件的下边界对齐,truefalse

android:layout_alignParentLeft

当前组件与父组件的左边界对齐,truefalse

android:layout_alignParentRight

当前组件与父组件的右边界对齐,truefalse

android:layout_alignParentTop

当前组件与父组件的上边界对齐,truefalse

android:layout_alignRight

当前组件与参照组件的右边界对齐,该属性为参照组件的ID

android:layout_alignTop

当前组件与参照组件的上边界对齐,该属性为参照组件的ID

android:layout_alignWithParentIfMissing

truefalse

android:layout_below

将当前组件的上边缘放置于参照组件之下,该属性为参照组件的ID

android:layout_centerHorizontal

当前组件放置到父组件的水平居中的位置

android:layout_centerInParent

当前组件放置到父组件的重心位置

android:layout_centerVertical

当前组件放置到父组件垂直居中的位置

android:layout_toLeftOf

将当前组件的右边缘放置于参照组件之下,该属性为参照组件的ID

android:layout_toRightOf

将当前组件的左边缘放置于参照组件之下,该属性为参照组件的ID

 

 

绝对布局参数AbsoluteLayout_Layout

属性

说明

android:layout_x

当前组件的x坐标位置(从左到右方向)

android:layout_y

当前组件的y坐标位置(从上到下方向)

 

 

框布局FrameLayout

属性

说明

android:foreground

前置图片

android:foregroundGravity

前置图片重心

android:measureAllChildren

在切换显示时是否侧重所有子组件的大小

android:layout_gravity

添加组件的重心

 

 

框布局参数FrameLayout_Layout

属性

说明

android:layout_gravity

当前子组件所添加的重心位置

 

 

表格布局TableLayout

属性

说明

android:collapseColumns

设置允许折叠的列编号,列编号基于0,属性值可以是单个或多个列编号,编号与编号直接用逗号”,”分隔

android:shrinkColumns

设置允许收缩的列编号,列编号基于0,属性值可以是单个或多个列编号,编号与编号直接用逗号”,”分隔

android:stretchColumns

设置允许伸展的列编号,列编号基于0,属性值可以是单个或多个列编号,编号与编号直接用逗号”,”分隔

 

 

表格行的单元TableRow_Cell

属性

说明

android:layout_column

设置该单元格的列编号(基于0

android:layout_span

指明该单元格可以跨越的列数

 

 

抽象列表视图组件AbsListView

属性

说明

android:cacheColorHint

设置缓冲颜色

android:drawSelectorOnTop

是否将选择器绘制在备选条目上方,取值为truefalse

android:fastScrollEnabled

允许快速滚动

android:listSelector

指示选择器的内容

android:scrollingCache

滚动时是否使用绘制缓冲,truefalse

android:smoothScrollbar

平滑滚动条

android:stackFromBottom

从下方堆叠条目

android:textFilterEnbled

是否允许过滤

android:transcriptMode

设置抄本模式

 

 

列表视图组件ListView

属性

说明

android:choiceMode

选择模式

android:divider

分割线颜色或组件的参考

android:dividerHeight

分割线高度

android:entries

指定绑定到当前列表视图的一个数组资源

android:footerDividersEnabled

是否允许页脚分割线

android:headerDividersEnabled

是否允许页眉分割线

 

 

格子视图组件GridView

属性

说明

android:columnWidth

指定列宽

android:gravity

添加组件的重心位置

android:horizontalSpacing

水平空间

android:numColumns

指定列数

android:strechMode

伸展模式

android:verticalSpacing

垂直空间

 

 

画廊视图组件Gallery

属性

说明

android:animationDuration

动画持续时间

android:gravity

添加组件的重心位置

android:spacing

间隔空间

android:unselectedAlpha

非选择条目的透明度

 

 

文本组件TextView

属性

说明

android:autoLink

是否自动链接(内容是网址或是电子邮件时)

android:autoText

自动更新拼音错误

android:bufferType

设置缓冲区类型

android:capitalize

自动大写

android:cursorVisible

光标是否可见,truefalse

android:digits

所接受的数字字符

android:drawableBottom

在文本下方绘制

android:drawableLeft

在文本左方绘制

android: drawablePadding

绘制填充区

android: drawableRight

在文本右方绘制

android: drawableTop

在文本上方绘制

android:editable

是否可编辑,truefalse

android:editorExtras

 

android:ellipsize

当内容过长时会自动打断单词内容

android:ems

 

android:enabled

是否可用,truefalse

android:freezesText

是否冻结文本

android:gravity

指明文本的重心位置

android:height

高度值

android:hint

指示内容

android:imeActionId

 

android:imeActionLabel

 

android:imeOptions

输入法选项

android:includeFontPadding

 

android:inputMethod

指定输入法

android:inputType

输入类型,取值为下列之一:

none

text普通文本

textCapCharacters大写字符

textCapWords单词首字母大写

textCapSentences句子首字母大写

textAutoCorret自动更正

textAutoComplete自动完成

textMultiLine多行内容

textUriUri

textEmailAddress电子邮件地址

textEmailSubject电子邮件主题

textShortMessage短消息

textLongMessage长消息

textPersonName个人姓名

textPostalAddress邮政地址

textPassword密码

textVIsiblePassword可见的密码

textWebEditText网页格式

textFilter过滤字符串

textPhonetic语言发音

number数字

numberSigned有符号数字

numberDecimal十进制数字

phone电话号码

datetime日期时间

date日期

time时间

android:lineSpacingExtra

 

android:lineSpacingMultiplier

 

android:lines

设置文本行数

android:linksClickable

 

android:marqueeRepeatLimit

来回移动的动画次数

android:maxEms

 

android:maxHeight

物体的最大高度

android:maxLength

最大文本长度

android:maxLines

最大行数

android:minWidth

物体的最大宽度

android:minEms

 

android:minHeight

物体的最小高度

android:minLines

最小文本行数

android:minWidth

物体的最小宽度

android:numeric

是否使用数字输入方式

android:password

是否使用密码输入方式

android:phonenumber

是否使用电话号码输入方式

android:privateImeOptions

 

android:scrollHorizontally

 

android:selectAllOnFocus

 

android:shadowColor

文本阴影颜色

android:shadowDx

阴影的水平偏移

android:shadowDy

阴影的垂直偏移

android:shadowRadius

阴影的半径

android:singleLine

是否单行(不自动换行)

android:text

显示的文本内容

android:textApperance

基本字体颜色、字样、大小和样式

android:textColor

文本颜色

android: textColorHighlight

文本高亮颜色

android: textColorHint

文本提示颜色

android:textColorLink

文本链接颜色

android:textScaleX

文本缩放因数

android:textSize

文本大小

android:textStyle

文本样式,取值为下列之一:

bold粗体

italic斜体

bolditalic粗斜体

android:typeface

字样

android:width

物体的高度

 

 

自动完成文本框AutoCompleteTextView

属性

说明

android:completionHint

显示提示

android:completionHintView

提示视图

android:completionThreshold

设置开始提示的字符数

android:dropDownAnchor

下拉框链接视图

android:dropDownSelector

下拉框选择器

android:dropDownWIdth

下拉框宽度

 

 

图片视图ImageView

属性

说明

android:adjustViewBounds

是否调整视图范围

android:baselineAlignBottom

是否按照下端基线对齐

android:cropToPadding

是否按照填充进行裁剪

android:maxHeight

设置最大高度

android:maxWidth

设置最大宽度

android:scaleType

缩放类型,取值为下列之一:

matrix图片真实大小

fitXY适合图片大小

fitStart

fitCenter

fitEnd

center居中显示

centerCrop

centerInside

android:src

设置绘制用内容

android:tint

设置染色颜色值

 

 

应用程序使用许可Uses-permissions

许可标识

说明

ACCESS_CHECKIN_PROPERTIES

 

ACCESS_COARSE_LOCATION

 

ACCESS_FINE_LOCATION

 

ACCESS_LOCATION_EXTRA_COMMANDS

 

ACCESS_MOCK_LICATION

 

ACCESS_NETWORK_STATE

 

ACCESS_SURFACE_FLINGER

 

ACCESS_WIFI_STATE

 

ADD_SYSTEM_SERVICE

 

ACCOUNT_MANAGER

 

 

 

Android读写XML(上)——package说明 收藏

注明:本文转自http://www.moandroid.com.

XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XMLpackage

首先介绍下Android SDKJava SDK在读写XML文件方面,数据包之间的关系。Android 平台最大的一个优势在于它利用了 Java 编程语言。Android SDK 并未向标准 Java Runtime Environment (JRE) 提供一切可用功能,但它支持其中很大一部分功能。Java 平台支持通过许多不同的方式来使用 XML,并且大多数与 XML 相关的 Java API 在 Android 上得到了完全支持。举例来说,Java 的 Simple API for XML (SAX) 和 Document Object Model (DOM) 在 Android 上都是可用的,这些 API 多年以来一直都是 Java 技术的一部分,较新的 Streaming API for XML (StAX) 在 Android 中并不可用。但是, Android 提供了一个功能相当的库。最后,Java XML Binding API 在 Android 中也不可用,这个 API 已确定可以在 Android 中实现。Android SDK提供了如下package来支持XML的读写:

功能介绍

javax.xml

根据 XML 规范定义核心 XML 常量和功能。

javax.xml.parsers

提供DOM和SAX方法解析XML文档

org.w3c.dom

W3C提供的使用DOM方法读取XML

org.xml.sax

提供核心SAX  APIs

org.xmlpull.v1

 

额外补充说明下,在android.util 数 据包中也提供了一个类Xml,不过这个类就是把以上package简单封装了下。

读取XML主要有2种方法:DOMSAX(Simple API for XML),在这里对这2种方法分别加以说明。

DOM(文档对象模型),为XML文档的解析定义了一组接口,解析器读入整个文档,然后构造一个驻留内存的树结构,然后代码就可以使用DOM接口来 操组整个树结构,其他点如下:

· 优点:整个文档树都在内存当中,便于操作;支持删除、修改、重新排列等多功能。

· 缺点:将整个文档调入内存(经常包含大量无用的节点),浪费时间和空间。

· 使用场合:一旦解析了文档还需要多次访问这些数据,而且资源比较充足(如内存、CPU等)。

为了解决DOM解析XML引起的这些问题,出现了SAXSAX解析XML文档为事件驱动,详细说明请阅读Android读写XML(中)–SAX 。当解析器发现元素开始、元素结束,文本、文档的开始或者结束时,发送 事件,在程序中编写响应这些事件的代码,其特点如下:

· 优点:不用事先调入整个文档,占用资源少。尤其在嵌入式环境中,极力推荐采用SAX进行解析XML文档。

· 缺点:不像DOM一样将文档长期驻留在内存,数据不是持久的,事件过后,如没有保存数据,那么数据就会丢失。

· 使用场合:机器性能有限,尤其是在嵌入式环境,如Android,极力推荐采用SAX进行解析XML文档。

大多数时间,使用 SAX 是比较安全的,并且 Android 提供了一种传统的 SAX 使用方法,以及一个便捷的 SAX 包装器。如果XML文档比较小,那么 DOM 可能是一种比较简单的方法。如果XML文档比较大,但只需要文档的一部分,则 XML Pull 解析器可能是更为有效的方法。最后对于编写 XMLPull 解析器包也提供了一种便捷的方法,详细说明请阅读Android读写XML(下)——数据写入XML文档 。因此,无论我们的 XML 需求如何,Android 都能在一定程度上满足我们的需求。

下面我们详细介绍采用DOM的方法,读取XML文档的思路,这基本上与XML的结构是完全一样的。首先加载XML文档(Document),然后获 取文档的根结点(Element),然后获取根结点中所有子节点的列表(NodeList),然后使用再获取子节点列表中的需要读取的结点。根据以上思 路,简要写个读取XML文件的例子如下:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import android.content.Context;
void ReadXML()
{
DocumentBuilderFactory docBuilderFactory = null;
DocumentBuilder docBuilder = null;
Document doc = null;
try {
docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilder = docBuilderFactory.newDocumentBuilder();
//xml file 放到 assets目录中的
doc = docBuilder.parse(context.getResources().getAssets().open(”weather.xml”));
//root element
Element root = doc.getDocumentElement();
//Do something here
//get a NodeList by tagname
NodeList nodeList = root.getElementsByTagName(”tag”);
for(int i =0;i< nodeList.getLength();i++)
{
Node nd = nodeList.item(i);
//Read Node
}
} catch (IOException e) {
} catch (SAXException e) {
} catch (ParserConfigurationException e) {
} finally {
doc = null;
docBuilder = null;
docBuilderFactory = null;
}
}

以上代码比较简单,就不在此详细解析了。

采用DOM读取XML文件,需要加载整个XML文件,在XML文件比较大的情况下,会导致Android设备内存紧张,为了避免这个问题,也可以采 用SAX的方法读取XML文件,不过SAX对结点的排序、增加结点等方面的操作相比DOM就有些复杂了。根据XML文件大小、数据处理的需求,选择合适的 读取的方法。

对于XML的写入,一方面可以采用前面介绍的这些package;另外一方面也可以按照XML的标准,将数据以字符串的形式直接写入文件,这也是种 很不错的方法。在这里推荐IBM开源社区中一篇比较好的文章 Android 上使用 XML ,有兴趣的可以去深入学习下。

总结说明

XML作为一种简单的文件格式,作为网络上数据交换的基础,而且得到了大部分数据库的支持(直接将XML文件插入数据库),XML文件的读写只是基 础,相信在以后的网络、数据库的开发中会经常使用。

 

 

Android读写XML(中)——SAX 收藏

Android读写XML(上)—— package说明 中,详细介绍了使用 DOM方法读取XML文档,由于使用DOM方法需要将整个XML文档加载内存中,对系统资源占用比较多,这对内存比较紧张的Android系统来说,使用 DOM方法读取XML文档会有很大的限制。 使用SAX方法读取XML,对内存资源的占用的比较少,因此在嵌入式设备中极力推荐使用,Android也不例外,本篇幅详细说明Android中如何使 用SAX读取XML文档。

SAX采用基于事件驱动的处理方式,它将XML文档转换成一系列的事件,由单独的事件处理器来决定如何处理。为了了解如何使用SAX API处理XML文档,这里介绍一下SAX所使用的基于事件驱动的处理模式。

基于事件驱动的处理模式

基于事件的处理模式主要围绕着事件源 以及事件处理器 来工作的。一个可以产生 事件的对象被称为事件源 ,而可以对事件产生响应的对象就被叫做事件处理器 。事件源 与事件处理对象是通过在事件源中的事件注册方法连接的。当事件源产生时间后,调用事件处理器相应的方法,一个事件获得处理。当在事件源调用事件处理器中特 定方法的时候,会传递个事件标志以及其响应事件的状态信息,这样事件处理器才能够根据事件信息来决定自己的行为。

SAX接口中,事件源是org.xml.sax包中的XMLReader,它通过parser()方法来开始解析XML文档,并根据文档的内容产 生事件。而事件处理器则是org.xml.sax包中的ContentHanderDTDHanderErrorHandler,以及 EntityResolver4个接口,它们分别处理事件源在解析XML文档过程中产生的不同种类的事件。而事件源XMLReader与这4个事件处理 器的连接是通过在XMLReader中的相应事件处理器注册方法setXXXX()来完成的,详细介绍请见下表:
 
以上的4个事件源处理器接口,在开发中没有必要直接从这4个接口直接继承,因为org.xml.sax.helper包为我们提供了类 DefaultHandler,其继承了这4个个接口,在实际开发中直接从DefaultHandler继承并实现相关函数就可以了。在这4个接口中,最 重要的是ContentHanlder接口,下面就其中的方法加以说明,如下:

以上就是解析一个XML文档,事件处理的过程。这里我们对org.xml.sax.XMLReader中的方法做下补充说明:除了前面介绍的一系列 事件处理器注册方法set/getXXXX()外,还有个重要的函数:parse(InputSource input)–Parse an XML document,开始解析一个XML文档。

按照应用程序开发的流程,简要介绍下SAX的使用方法

1. 首先,编写了解XML文档的结构,按照XML文档的结构,编写具体的数据结构,类似于:XXXXListXXXXItem,最好与XML的文档保持一 致。

2. 其次,开始实现事件处理对象,Android SDK为我们提供了DefaultHandler,其继承了ContentHandler DTDHandler、 EntityResolver、 ErrorHandler的所有接口。我们在DefaultHandler的基础上,按照需求实现ContentHanlder的所有接口,这里需要注意 2个方面的问题:

1. 事件处理的顺序,处理时间的位置:一般在startDocument()初始化工作,在endDocument()中收尾的处理工 作;startElement()—characters()—endDocument()是一个XML节点读取的过程,startElement()用 来初始判断,characters()获取节点的字符数据,endDocument()将数据写入数据结构。

2. 异常SAXException的处理;

3. 然后,XML实体解析,过程如下:
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLReader xmlreader = parser.getXMLReader();
URL rrl = new URL(urlstring);
InputSource is = new InputSource(url.openStream());
Xmlreader.setContentHanlder(XXXX);
Xmlreader.parse(is);

4. 最后,在Activity中显示数据,一般先将XML中读取的数据,选择合适的Adaper对数据进行封装,然后使用ListView控件来显示 数据。

以上就是SAX读取XML的过程,并显示出最终的数据。以上需要注意的是SAXParserFactory SAXParser类来自 javax.xml.parsers包中。

总结说明

SAX读取XML文档的方法,占用内存比较少,但是开发流程相比DOM就复杂多了,具体采用哪种方法比较合适,大家可以在开发的过程中来深刻体会之 间的差别。

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

总结说明

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

 =======================

百度文库到的。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值