2011-07-30 133 views
0

我需要一種方法將數據從我的Web服務器推送到我的設備,我該如何實現這一目標?我很樂意提供指導來幫助我。我一直被困在C2DM上,對我來說太多了。這些指南僅僅是代碼行後的所有列表行,並沒有解釋他們做了什麼,哪些行爲很糟糕。如果您可以將我鏈接到可以教導如何將數據推送至Android設備的指南,我很樂意。如何將數據推送到設備?

回答

4

我同意沒有太多有關CD2M的文檔。對我而言,最好的文檔是Google的例子。您可以抓住它們並按照代碼瞭解這是如何工作的。例子是herehere

  • 對於客戶端(Android應用程序),您有3個類可以完成繁重的工作。你可以找到它們here。使用它們,將這些類複製到您的項目中,然後您可以繼承C2DMBaseReceiver以提供您自己的實現(當您收到消息時發生回調,發生錯誤回調等等)。記得在你的Manifest中註冊這些東西,看看這些例子中的Manifest以知道如何去做。
  • 服務器端要容易得多。基本上,您首先會從Google獲取身份驗證令牌,然後開始發送您的客戶端將收到的消息的HTTP請求。
  • 如果您計劃使用App Engine,那麼您可以在兩個示例中找到如何實現服務器的示例。
  • 如果您計劃在服務器上使用.NET,請參閱C2DM Sharp
  • 否則我相信你會發現一些已經實現的庫或一些關於如何設置服務器的例子。
+0

當你說「子類C2DMBaseReceiver」時,你的意思是把它複製到你的軟件包中並使用它嗎?因爲我看起來很像一個很棒的輪廓。我已經將這3個文件複製到com.google.android.c2dm包中。我正在使用PHP語言的服務器,並且在使用複製和粘貼代碼時,我到目前爲止沒有問題獲得授權代碼,但我真的很想看看Register()函數中會發生什麼,所以我會慢一點看着這些例子。我沒有使用App Engine,因爲我沒有真正看到需要,除非你認爲我錯了,否則我認爲它會讓我更加困惑。 – Qasim

+0

您需要將C2DMBaseReceiver複製到項目(以及其他文件),然後對其進行子類化(這意味着您必須創建一個擴展C2DMBaseReceiver的類)。 – aromero

+0

Ohhh創建另一個文件,說「C2DMReceiver」,然後是公共類「C2DMReceiver擴展C2DMBaseReceiver {}」?我現在明白了。 – Qasim

相關問題