2012-04-09 199 views
1

我需要開發一個ANDROID客戶端,它將與運行WCF REST服務的服務器進行通信。使用WCF REST將數據從服務器推送到Android應用程序

因爲我有限的經驗,這一點,我要尋找一個解決方案:

  • 將數據推送到Android設備(客戶端需要從服務器不斷更新)
  • 調用服務器(反射)的方法

任何想法/提示/樣品是最受歡迎的!

回答

2

對於推送通知,請查看Google的C2DM框架(雲到設備消息傳遞)。它在Android 2.2及更高版本中可用。

基本上,手機會保持開放的插座與谷歌的服務器,當你想將數據推到設備,從您的網絡應用程序POST到谷歌的請求(你很可能使用System.Net.WebRequest從.NET,爲例如),他們處理剩下的事情。

有關從您的Android應用程序設置內容的更多信息,請參閱this tutorial

+0

謝謝wsanville。目前看來,這是唯一的「正確」途徑。或者間隔通知服務器,但這很麻煩。 – no9 2012-04-09 17:59:17

+0

我想像谷歌的設置將比這種情況下的任何自主開發的解決方案好得多。 – wsanville 2012-04-09 18:01:16

+1

至於C#庫來幫助你,請參閱[這個問題](http://stackoverflow.com/questions/5714230/c2dm-server-with-c-sharp)或[C2DM-Sharp Github項目](https: //github.com/Redth/C2DM-Sharp)。 – wsanville 2012-04-09 18:02:59

1

WCF沒有任何推送通知API,除了帶回調通道的雙工消息傳遞,但不適用於WCF 4中的REST服務。在WCF中,通過HTTP進行的任何類型的客戶端通知都基於輪詢 - 您可以使用Comet like approach長輪詢間隔。

在WCF 4.5中,您將能夠通過HTTP使用WebSockets和回調通道,但再次支持REST is up to you

+0

謝謝您的幫助。我只是看着C2DM(雲到設備消息傳遞),似乎有C#的實現。有沒有想過使用它來推送數據給客戶端? – no9 2012-04-09 17:55:49

+0

這是你忘了在你的問題中提到的東西,它與WCF大多數無關。 – 2012-04-09 18:13:03

+0

當時我不知道C2DM – no9 2012-04-09 18:17:36