我有一个java应用程序,它检查数据库,从php文件中获取数据,并向android手机发送通知。在这种情况下使用的最佳服务是什么?
我正在考虑使用Google App Engine并每隔几分钟运行一次cron作业。不知道我是否会错误地解决这个问题。
答案 0 :(得分:2)
Google App Engine是完成这项工作的不错选择。要做你想做的事,你需要做以下事情:
了解Google App Engine Java的基础知识并部署简单的应用程序。把它作为第一步。 App Engine Java入门指南是一个良好的开端:https://developers.google.com/appengine/docs/java/gettingstarted/
下一步是了解如何从App Engine进行网络调用(URL Fetch)。这意味着调用PHP Server API。详情请见:https://developers.google.com/appengine/docs/java/urlfetch/overview
现在,您可以安排您的网址提取代码每隔XX小时运行一次,或根据CRON Expression计划您想要的任何计划。此处介绍了编写任务:https://developers.google.com/appengine/docs/java/taskqueue/您可以查看推送队列。 App Engine还为复杂的后台处理作业提供后端,但此时您可能不需要
最好您接下来应该如何在App Engine数据存储区中存储数据。这很重要,因为您可能希望从PHP服务器获取数据,然后不是同步发送通知,而是应将它们放在数据存储区中,以便它们可以由另一个任务发送/重试。这样,您就可以将提取逻辑与通知逻辑分开,并为您提供灵活性和调试帮助。对于数据存储指南:https://developers.google.com/appengine/docs/java/datastore/
最后,将通知推送到Android手机,将意味着Google Cloud Messaging。 http://developer.android.com/guide/google/gcm/index.html
希望这给出了一个很好的路线图。一切都好。
答案 1 :(得分:1)
Google App Engine是IMO的有效选择,它们原生支持类似cron的作业,并在大量使用配额下保持免费。 Cloudbees也是一个很好的云平台,有免费帐户,但我认为它们不提供日程安排选项。
答案 2 :(得分:0)
虽然我认为你的意思是向Android手机发送通知的最佳方式,但很难说你的设置的哪一部分是你要求的建议。答案是Google Cloud Messaging,这是Google提供的免费推送消息服务。