4. 理解事件阶段(Event Phases) 我们把事件触发源分为两类:一类是那些显示在界面中的元素抛出的事件,一类是那些不在界面中显示的元素抛出的事件。很简单,举个例子:第一类如URLLoader对象去load图片或其他资源所抛出的如complete事件,就属于第一类。界面上的一个按钮所抛出的click事件就是第二类,它会触发一个事件流,引发一系列的事件,它又分三个阶段:捕获(capture),执行(target) 和冒泡(bubble),姑且这样表达这三个阶段。 捕获阶段(capture) 在这个阶段,Flash Player会去查找事件的触发源,它是通过根显示元素(root display object)逐层向下寻踪,直到找到事件的发起源头,如你在button上click后,Flash Player找到的事该button对象。在这个阶段监视器(listener)默认是不会收到任何消息的(默认只在target和bubble阶段收到消息)。如果你想在捕获阶段让listener收到消息并有所动作,那么你可以在注册的时候改变第三个参数为true,如下面的方法:object.addEventListener(MouseEvent.CLICK, onClick, true); 该阶段听起来很陌生,事实上它很少使用。但它却在事件流中扮演很重要的角色。它可以在事件到达子元素(child elements)之前被application捕获,当然也就可以阻 ......
上面是一个flex做的选择,主要学习数据 Model跟DateGrid的用法 哈,源码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontSize="12">
<mx:Model id="books">
<datas>
<book>
<name>Flex</name>
<author>cju</author>
<date>2010-01-16</date>
</book>
<book>
<name>Java</name>
<author>cana</author>
<date>2010-01-17</date>
</book>
<book>
<name>Jsp</name>
<author>cju</author>
<date>2010-01-16</date>
</book>
<book>
<name>SSH</name>
& ......
用c#给PDA做了一个PC端的通讯程序,需要保存两个参数。用Delphi时,是保存在ini文件中,c#读写XML比较方便,就用xml文件来保存了。
class CXmlClass
{
private string XmlFilePath;
/// <summary>
/// 下载到PDA的TXT文件路径
/// </summary>
public string strDownFile;
/// <summary>
/// PDA数据文件上传到PC端的文件路径
/// </summary>
public string strUploadFile;
public CXmlClass()
{
//指定XML文件名
XmlFilePath = "config.xml";
//检测XML配置文件是否存在
if (System.IO.File.Exists(XmlFilePath))
return;
CreateDefaultXml();
}
#region " ReadXML() 读取XML配置文件的参数设置,获取下载的TXT文件路径与上传的数据文件路径"
/// <summary>
/// 读取XML配置文件的参数设置,获取下载的TXT文件路径与上传的数据文件路径
/// </summary>
/// ......
用c#给PDA做了一个PC端的通讯程序,需要保存两个参数。用Delphi时,是保存在ini文件中,c#读写XML比较方便,就用xml文件来保存了。
class CXmlClass
{
private string XmlFilePath;
/// <summary>
/// 下载到PDA的TXT文件路径
/// </summary>
public string strDownFile;
/// <summary>
/// PDA数据文件上传到PC端的文件路径
/// </summary>
public string strUploadFile;
public CXmlClass()
{
//指定XML文件名
XmlFilePath = "config.xml";
//检测XML配置文件是否存在
if (System.IO.File.Exists(XmlFilePath))
return;
CreateDefaultXml();
}
#region " ReadXML() 读取XML配置文件的参数设置,获取下载的TXT文件路径与上传的数据文件路径"
/// <summary>
/// 读取XML配置文件的参数设置,获取下载的TXT文件路径与上传的数据文件路径
/// </summary>
/// ......
--本文摘自http://www.moandroid.com/?p=508
By: 海市蜃楼 | In: Android开发
3 九 2009
XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XML的package。
首先介绍下Android SDK与Java 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 ......
摘自--http://www.moandroid.com/?p=821
Android读写XML(中)——SAX
By: 海市蜃楼 | In: Android开发
22 九 2009
在Android读写XML(上)——package说明中,详细介绍了使用 DOM方法读取XML文档,由于使用DOM方法需要将整个XML文档加载内存中,对系统资源占用比较多,这对内存比较紧张的Android系统来说,使用DOM方法读取XML文档会有很大的限制。 使用SAX方法读取XML,对内存资源的占用的比较少,因此在嵌入式设备中极力推荐使用,Android也不例外,本篇幅详细说明Android中如何使用SAX读取XML文档。
SAX采用基于事件驱动的处理方式,它将XML文档转换成一系列的事件,由单独的事件处理器来决定如何处理。为了了解如何使用SAX API处理XML文档,这里介绍一下SAX所使用的基于事件驱动的处理模式。
基于事件驱动的处理模式
基于事件的处理模式主要围绕着事件源以及事件处理器来工作的。一个可以产生事件的对象被称为事件源,而可以对事件产生响应的对象就被叫做事件处理器。事件源与事件处理对象是通过在事件源中的事件注册方法连接的。当事件源产生时间后,调用事件处理器相应的方法,一个事件获得处理。当在事件源调用事件处理器中特定方 ......
摘自--http://www.moandroid.com/?p=868
读写XML(下)——创建XML文档
By: 海市蜃楼 | In: Android开发
23 九 2009
在前面的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);
// ......