2013-08-27 16 views
1

我目前有一個小的應用程序,我一直用來學習java/android編程。現在我有一個設置是一個手機上的應用程序發送一個請求(通過短信)到另一個運行相同的應用程序的手機。遠程電話收到請求併發回一些信息。接下來我想從網絡上嘗試。有沒有建立「最好」的方式來實現這一目標?什麼是從Android設備請求數據的已建立的方式

我在想我會有一個Web服務器通過谷歌雲消息發送請求到設備,然後讓設備直接返回數據到Web服務器。 (並不是說我真的知道如何做到這一點)。

我看到有一個谷歌雲消息傳遞返回路徑(從設備發送消息到谷歌雲服務器,但它似乎很新,我需要類似的東西嗎?我想要的主要事情是能夠問手機做一些事情時,我想,沒有它輪詢以查看是否有請求,或只是定期更新一些狀態

更新:

多虧了答案下面確認我我在正確的軌道上 我現在有一些基本的功能

我開始使用這個GCM機器人演示代碼 https://code.google.com/p/gcm/source/browse/#git%2Fgcm-client%2Fsrc%2Fcom%2Fgoogle%2Fandroid%2Fgcm%2Fdemo%2Fapp%253Fstate%253Dclosed 這紅寶石寶石 https://github.com/spacialdb/gcm/blob/master/README.md

上述兩者之間,我能夠將消息發送到我的手機很容易地。

爲了獲得往返工作,我在heroku上設置了一個非常簡單的rails應用程序。 我在控制器的gcm gem中包含了示例代碼的修改版本,然後使用 HttpPatch(需要用於rails 4)從我的手機發送帖子/補丁到我的web應用,然後控制器將消息回顯到我的手機。

我想這將是很好得到雙向GCM的東西的工作,但我不知道有一些處理,任何寶石,和我沒有資格來處理這樣的任務:)

回答

3

我會說這是一個正確的電話:Google Cloud Messaging for Android

從網站Android開發者:

這可能是一個輕量級的消息告訴您的應用程序有新的數據 從服務器中獲取(例如,電影由上傳朋友),或者它可能是一條包含高達4kb的有效載荷數據的消息 (所以諸如即時消息的應用程序可以直接消費該消息)。

在這種情況下,您不希望從服務器獲取數據,但想要發送它們。

你可以用不同的方式發送它們。我建議,因爲您正在學習,請嘗試使用JAX-RS之一的實施方案中的RESTful解決方案。

1

作爲初學者的簡短直接回答:GCM(Google雲消息傳遞)可以解決您的問題。但是,如果您的應用程序變得更大,則還會出現其他更技術更復雜的解決方案。

參見this link

相關問題