2013-01-16 41 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