2013-01-16 43 views
0

你好,2013年新年快樂!如何讓我的Android應用程序聽到更新?

我在假期後回到我的應用程序,現在我希望它保持活力,聽取更新!有誰知道如何去做?我不是指完整的答案,我的意思是像導師,定位!因爲我不知道如何開始做!另一方面,如何從PHP/PostgreSQL服務器發送更新?有沒有人做過這樣的事情,然後才能幫助我?

在此先感謝!

+0

@ VladPreda,當然你可以推送來自php的通知。爲什麼你不能? – 323go

+0

您可以嘗試推送通知,但如果(例如)手機沒有互聯網,則可以嘗試儘可能多地嘗試,並且不起作用。這就是爲什麼你需要一個PHP服務,並定期檢查它的機器人。 –

回答

1

如果你想推送更新到您的應用程序,你可以這樣做使用GCM:http://developer.android.com/google/gcm/index.html

如果你可以簡單地有更新您的應用程序投票表決定期,那麼你可以使用AlarmManagerIntentService有你的應用程序根據需要打你的PHP端點。

選擇哪個通常取決於更新需要及時發生的頻率以及發生的頻率(考慮電池,網絡和其他資源使用情況等)。 Android Push Notifications using Google Cloud Messaging (GCM), PHP and MySQL

而且,這裏的AlarmManager/IntentService(和處理喚醒鎖)一個很好的例子:

要使用PHP檢查開始使用GCM。

+1

以下是[GCM + PHP]的指南(http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/) – Ole

+0

Hello !感謝您的回覆!!如果我正確理解了你,GCM用於向設備發送數據更新(這是我的問題),AndroidManager/IntentService用於從設備查找服務器中的數據更新,不是嗎?但是我只需要實現其中一個是正確的?在這種情況下,我還沒有銷售該應用,所以我不知道哪些設備可以運行。我只是使用Galaxy Tab來測試應用程序的功能!考慮到這個問題,你會使用哪種技術? –

+0

GCM只能用於通知應用程序服務器上有新數據,而不是發送實際數據。收到GCM推送通知後,您的應用需要從服務器下載新數據。 – Konsumierer

0

我的建議是使用GCM將推送消息發送到應用程序所運行的設備上,這是因爲GCM服務始終在運行,並且使用電池電量少於輪詢。

附註:不要通過推送通知發送實際數據,而只是發送通知,指出服務器上有新數據。應用程序可以從服務器上下載新的數據。

+0

GCM不一定會使用比輪詢更少的電池,這取決於您使用的頻率。 (並且不經常)使用AlarmManager/IntentService進行的輪詢以及不精確的重複操作可以通過電池友好的方式完成。) –

0

如果更新你的意思是在版本爲用戶更新了您的應用程序的版本1,但第2版可用,那麼你可以做這樣的:

你可以有一個變量,會保存當前的應用程序版本,然後每次用戶啓動應用程序時,都應該連接到服務器以檢查最新的版本。然後您可以比較並顯示警報,如果用戶的版本低於您當前在服務器中的版本。這裏

兩個重要的事情:每次你更新你的應用程序時,你應該尋找的版本變量的值,並改變它,你應該在你的服務器的當前應用程序的版本變量更新以及

如果你的意思數據更新,然後你最好的選擇是使用GCM服務(Google Cloud Messaging)

+0

沒有理由存儲變量或對其進行跟蹤。你可以很容易地從PackageManager中檢查應用程序的版本。 – 323go

+0

你好!感謝您的回覆!!不,我不是在談版本更新,只是更新數據!想象一下,客戶端首次從服務器下載數據(在我的情況下是表格),但是在一天當中,這些表單可能會更改或者有新的表單可供下載!爲了避免客戶端查找這些更新,我想直接發送更新到設備,或者至少告訴客戶端「嘿,服務器中有新的信息!」。這就是我想要做的! –

+0

哦!那是!什麼!您!想!至!做!! – Konsumierer