1

我有一個帶有本地數據庫的Android應用程序,其中包含有關存儲在設備上的圖片的信息。我想創建一個帶有圖片的服務器,這些圖片可以根據需要提供給安裝了我的應用程序的所有設備。所以我的應用程序可以從我的服務器提供本地圖片或圖片,並且還需要一些與這些圖片相關的信息。Android客戶端 - 服務器體系結構:GCM與webservice

我分析了GCM,它非常適合消息通信,但由於消息的大小限制爲4kb,我無法發送圖片。我的想法是有這樣的事情:enter image description here

我的問題是:在這種情況下是GCM通信有用或只有通過web服務的客戶端 - 服務器通信更有效?

我認爲,如果我使用GCM,在服務器 - 客戶端通信I只使用代碼波紋管作爲"Bitmap Fun" example以接收圖片

BitmapFactory.decodeFile(pictureURL, options); 

上述方法需要多個電池和帶寬,因爲我一次請求1張圖片而不是50張圖片? 如果我不使用GCM,應該如何處理(例如設備處於待命狀態)?

回答

0

GCM僅在服務器需要警告客戶端應用程序關於某些新數據(在您的情況下爲新圖片)時纔有用。即使客戶端應用程序未運行(或在後臺運行),它也允許服務器向客戶端發送數據。在這種情況下,綠線是有道理的 - 服務器可以通過GCM將圖片信息發送給客戶端。然後,如您用紅線指定的那樣,客戶端會向服務器請求圖片本身。

您標記爲ask for pictures的藍線應該直接從客戶端到服務器。客戶端無法向GCM服務器發送請求(除了向GCM服務註冊/註銷的請求除外)。

如果從服務器向客戶端發送圖片始終由客戶端發起,則不需要GCM。

此外,您可以檢查this question以瞭解有關通過GCM發送圖像的更多信息。

+0

謝謝伊蘭:) – Laviniux 2013-05-09 15:07:48

+0

不客氣! – Eran 2013-05-09 15:32:32

相關問題