Android手机作为谷歌的有一项行业内部的巨作,想必不必我多说,对一些对手机操作系统研究有佳的痴迷者,Android手机的出现一定是他们这帮人研究的主要对象。
在Android手机中与服务端做 HTTP 通信,解析 XML,通过 Handler 实现异步消息处理 HTTP 通信 - 与服务端做 HTTP 通信,分别以 GET 方式和 POST 方式做演示,XML 解析 - 可以用两种方式解析 XML,分别是 DOM 方式和 SAX 方式异步消息处理 - 通过 Handler 实现异步消息处理,以一个自定义的异步下载类来说明 Handler 的用法
Android手机作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。
谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。#t#
开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和高昂的投入。但是,我们认为全球移动用户从中能获得的潜在利益是值得付出这些努力的。
如果你也是一个开发者,并对我们的想法感兴趣,就请再给我们一星期的时间,届时谷歌便能提供 SDK 了。如果你是一名移动用户,只需再等一段时间,我们的一些合作伙伴计划在 2008 年下半年推出基于 Android手机产品。
如果你已经拥有一部你了解并喜爱的电话,请登录 mobile.google.com ,确保你已经安装谷歌手机地图、Gmail 以及其他一些专为你的手机开发的精彩应用。谷歌将继续努力,让这些服务变得更好,同时也将添加更有吸引力的特性、应用和服务。
代码如下:
- HTTP 通信和 XML 解析的 Demo
- MySAXHandler.java
- 代码
- package com.webabcd.communication;
- import org.xml.sax.Attributes;
- import org.xml.sax.SAXException;
- import org.xml.sax.helpers.DefaultHandler;
- // 继承 DefaultHandler 以实现指定 XML 的 SAX 解析器
- // DOM - W3C 标准,需要把 xml 数据全部加载完成后才能对其做解析,可对树做任意遍历
- // SAX - 流式解析,通过事件模型解析 xml,只能顺序解析
- public class MySAXHandler extends DefaultHandler {
- private boolean mIsTitleTag = false;
- private boolean mIsSalaryTag = false;
- private boolean mIsBirthTag = false;
- private String mResult = "";
- // 打开 xml 文档的回调函数
- @Override
- public void startDocument() throws SAXException {
- // TODO Auto-generated method stub
- super.startDocument();
- }
- // 关闭 xml 文档的回调函数
- @Override
- public void endDocument() throws SAXException {
- // TODO Auto-generated method stub
- super.endDocument();
- }
- // 一发现元素开始标记就回调此函数
- @Override
- public void startElement(String uri, String localName, String qName,
- Attributes attributes) throws SAXException {
- if (localName == "title")
- mIsTitleTag = true;
- else if (localName == "salary")
- mIsSalaryTag = true;
- else if (localName == "dateOfBirth")
- mIsBirthTag = true;
- else if (localName == "employee")
- mResult += "\nname:" + attributes.getValue("name");
- }