发布时间 : 星期二 文章android应用开发帮助文档更新完毕开始阅读cb99b4f44693daef5ef73d3f
/**
* 结束解析标签时触发 */
public void endElement(String namespaceURI, String localName, String } /**
* 读取标签内容时触发
* 第一个参数是得到在标签中读到的内容
* 第二个参数是得到读到的内容是从ch数组中的哪一位开始 * 第三个参数是得到读到的内容是从ch数组中的哪一位结束 */
public void characters(char[] ch, int start, int length) throws
//当读到下一个worker时,标签结束,调用下面的方法输出所有读到的值 tagName = \;
if(localName.equals(\)){ }
this.printout();
qName) throws SAXException{
SAXException{
//根据标签读取相应内容保存到相应标签中 if(tagName.equals(\)){
}
//标签结束时输出调用的方法 private void printout(){
System.out.print(\); System.out.println(hisName); System.out.print(\); System.out.println(sex); System.out.print(\); }
else if(tagName.equals(\)){ }
else if(tagName.equals(\)){ }
else if(tagName.equals(\)){ }
else if(tagName.equals(\)){ }
money = new String(ch,start,length); address = new String(ch,start,length); status = new String(ch,start,length); sex = new String(ch,start,length); hisName = new String(ch,start,length);
}
}
System.out.println(status); System.out.print(\); System.out.println(address); System.out.print(\); System.out.println(money); System.out.println();
//创建一个Button监听器,用于触发下载和解析XML文档的操作
class XMLListener implements OnClickListener{ …..
}
//下面是下载XML文件的调用方法
HttpDownLoad httpDownLoad = new HttpDownLoad(); String resultStr =
System.out.println(resultStr);
--在Activity中的调用(下载时要在注册文件中注册)
httpDownLoad.downloadText(\);
--调用类和方法解析文档 try { }
//创建一个SAXParserFactory解析器工厂 SAXParserFactory factory = //创建一个XMLReader对象 XMLReader reader =
//为XMLReader设置内容处理器,调用创建的MyContentHandler实现类 reader.setContentHandler(new MyContentHandler()); //开始解析文件
reader.parse(new InputSource(new
SAXParserFactory.newInstance();
factory.newSAXParser().getXMLReader();
StringReader(resultStr)));
} catch (SAXException e) { }
// TODO Auto-generated catch block e.printStackTrace();
// TODO Auto-generated catch block e.printStackTrace();
// TODO Auto-generated catch block e.printStackTrace();
} catch (ParserConfigurationException e) {
} catch (IOException e) {
——广播机制
——android中的广播机制
Android中很多事件(例如来点,来短信,点击某个按钮)的发生都会在内部程序中进行广播,我们可以创建一个BroadcastReveicer来监听这些事件,对我们感兴趣的事件进行监听并处理。
——编写BroadcastReveicer类
要监听某些事件的发生,就要建立一个自己的类来继承BroadcastReveicer类,在其中复写onReveice方法(其中可以编写.),并在AndroidManifest.XML注册文件中进行接收对象的设置,指明要检测的对象。
--创建包含BroadcastReveicer类的Reveicer.java文件 import …..
/**
* 建立一个类继承BroadcastReceiver,用于在接收到的发送在广播中特定事件的处理 * @author xiaocheng * */
public class TestReveicer extends BroadcastReceiver{
public TestReveicer(){ }
//要接收的事件广播后将触发这个接收类的onReceive方法 //在其中可以编写我们自己处理事件的代码 @Override
public void onReceive(Context context, Intent intent) { }
// TODO Auto-generated method stub System.out.println(\); System.out.println(\);
这个类是当我们在注册文件中设定的对象事件在广播中发出时而自动创建,然后执行其中的onReceive方法,当onReceive方法执行完毕时,android系统就会结束这个类。下次对象事件广播时,会再次创建这个类
--这里介绍一个在onReceive方法中处理收到短消息的事件代码: 需要注意的是,要实现BroadcastReveicer接收器接收到短消息的事件,需要在AndroidManifest.XML注册文件中中声明:
android:name=\>
//接收Intent对象中的数据
Bundle bundle = intent.getExtras();
//在Bundle对象中有一个pdus属性,,这个属性的值是一个object数组,这里将
intent中的数据存入到object数组中 Object[] myOBJpdus =(Object[]) bundle.get(\);
//创建一个SmsMessage类型的数组
SmsMessage[] messages = new SmsMessage[myOBJpdus.length]; System.out.println(messages.length);
for(int i = 0; i < myOBJpdus.length; i ++){
//使用object数组当中的对象创建SmsMessage对象
messages[i] = SmsMessage.createFromPdu((byte[])
//调用SmsMessage对象的getDisplayMessageBody()方法,就可以得到消System.out.println(messages[i].getDisplayMessageBody());
myOBJpdus[i]); 息内容
--AndroidManifest.XML注册文件中的Reveicer.java文件注册信息
需要注意的是,在AndroidManifest.XML注册后,不论注册的应用程序时候打开,他都会接受广播的事件,当不需要这种方式时,应选用另一种注册方式。
//这是一个过滤器,用于匹配广播中的内容是否符合我们的标准
android:name=\>
在广播机制中的中的intent包含两方面的内容,一个是action,一个是data。
Action指的是处理事件的方法,data就是要被处理的数据。
——在代码中当中进行注册
注册BroadcastReveicer: --在Activity中: Import…..
public class TestReveicer extends Activity {
/** Called when the activity is first created. */
/**
* 本程序用于练习在程序中注册广播接收器 */
private Button registerButton = null; private Button unregisterButton = null;
//将继承了BroadcastReveicer的定义的类建立一个空的对象,用于下面的调用 private SMSregister smsRegister = null; //创建一个常量SMS_ACTION,来编写接收器的action条件,这里的含义是要接收一个来
短信的事件的广播 private static final String SMS_ACTION = \; @Override
public …..
//注册绑定接收器的监听器