Android手機真的可以占領本土市場嗎
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");
- }