2009/10/12

Google GData API

請參考Google Data API 概觀。我另外寫了一篇在 Windows .Net 上使用 GData API

很多網頁應用程式都提供 RSS, ATOM 服務來提供方便的資料查詢與處理,最常見的是 News, Blog, Youtube, 或是網路相簿等等。想像一下,你在自己的應用程式利用 blog 來寫日記,不必用瀏覽器登入到 blog 而是用專屬的應用程式,除了登入外,張貼文章、瀏覽清單、刪除文章都是必要的動作。而這個需求可以透過 GData API 來完成,是一種建立在 HTTP 通訊協定上的資料操作,例如透過 Get, Put 等等來存取資料。

也就是說,只要網站提供 RSS, ATOM 等服務,就可以透過 GData API 來存取,這樣不止可以把網路服務嵌入到你的應用程式中,也可以整合不同的服務。

GData 通訊協定是中性的編程語言;您可以利用可發佈 HTTP 要求及解析 XML 要求的任何編程語言,來編寫用戶端。這也是在說明我上面講的應用程式不限網頁,也可以是 C, C++, C#, Python....or others..

底下是清單:








功能GDataAtomRSS 2.0
聯合發佈格式YYY
查詢YNN
更新YYN
開放式並行處理YNN
驗證YNN


也就是說,若你想透過分析 HTTP request/response 來使用 GData 的話,那大概就不受程式語言限制,若想直接使用 Google 提供的 GData 函式庫的話,底下是其支援清單:

Java, .Net, PHP, Python, Object-C, Javascript

Android 應用程式架構

請參考Android Application Framework說明。

Android 為了讓開發者可以儘量重複使用相同的元件,整個開發函式庫非常詳細,從上層來看應用程式的框架包括幾個部份,這些都與系統應用程式使用相同的元件,因此開發者可以很容易開發出具有特色的應用程式來取代之:

分析所有的應用程式都包含一系列的服務與系統,包括:

* 一個豐富而且可以擴充的 Views(視覺化),用來建立應用程式的操作介面,例如清單(lists), 格子(grids), 文字區塊(text boxes), 按鈕(buttons), 甚至嵌入一個瀏覽器
* 內容供應,用來讓應用程式存取,與其他應用程式互相溝通,或是與他人分享。
* 資源管理, 例如訊息內容,多國語言,操作介面的圖片,甚至是操作介面的定義資訊
* 提示管理,讓所有應用程式可以在共用的狀態列顯示客製化的訊息
* 活動管理,這邊的活動指的就是各個應用程式所進行的工作,例如回上一頁,或是熱鍵,或是關閉等等。

幾個重要的 Google APIs

有空的話,或許會把下列清單變成一篇篇的心得....先看著就好
========================================================
資料儲存與交換  ——Google Data APIs
使用者認證    ——Google Account Authentication API
多國語言     ——Google AJAX Language API
善用雲端運算   ——Google App Engine
圖表繪製元件   ——Google Chart API
視覺化設計    ——Google Visualization API
行事曆      ——Google Calendar API
試算表      ——Google Spreadsheets API
iGoogle主題設計  ——iGoogle Themes API
Google小工具開發 ——Google Gadgets API
桌面小工具    ——Google Desktop Gadget API
即時新聞     ——Google AJAX Feed API
社交       ——OpenSocial
社交圖譜     ——Google Social Graph API
好友清單     ——Google Contacts Data API
相簿       ——Picasa Web Albums Data API
影片       ——Youtube Data API
部落格      ——Blogger Data API
即時通訊     ——Google Talk XMPP
數據格式定義   ——Google Protocol Buffer API
為網站豐富AJAX內容——Google AJAX Libraries API
用戶廣告管理   ——Google Adwords API
廣告整合     ——Google AdSense API
線上付款     ——Google Checkout API
圖書搜尋     ——Google Book Search Book
嵌入Google搜尋  ——Google AJAX Search API
地圖服務     ——Google Maps API概述
地圖信息服務工具 ——Google Mapplets
地理標記語言   ——KML
靜態地圖服務   ——Google Static Maps API
讓應用支持桌面搜索——Google Desktop Search API
與線上文檔互動  ——Google Document List API
離線瀏覽     ——Google Gears
線上筆記     ——Google Notebook Data API