一个自定义监听器,用于监听在线事件

时间:2015-03-27 09:06:22

标签: android listener

基本上我想为我的应用程序创建一个自定义监听器,监听服务器中新数据的可用性。此监听器将定期检查可在UI中加载的新可用内容,与Facebook应用程序相同,以显示新闻中可用的新故事。我不想要一个完整的代码,我只想了解它是如何实现的。

1 个答案:

答案 0 :(得分:0)

如果您需要定期检查网络服务的内容,建议您:

  • 使用例如HttpURLConnection编写一个连接到您的Web服务的类。该类将处理所有异常并下载有效的XML / JSON。
  • 编写一个不同的类来解析此数据并转换为您的模型对象。也就是说,从一个大的JSON中你将它转换为包含Address对象的Person对象(这只是一个例子)
  • 这样,您可以为解析阶段编写单元测试并模拟Web服务以测试"访问网络"相
  • 一旦你完成这项工作,你需要一个简单的Android服务(扩展android.app.Service类)。当您的应用启动时,您将启动此服务
  • 此服务将访问网络,获取所有数据,转换它,将其传递给您的主应用程序。一切都完成后,让您的服务在给定的时间间隔内休眠,例如使用Thread.sleep()方法。
  • 当某个变量shouldRun为真时,服务将运行。当此变量变为false时,服务将完成
  • 要停止服务,您可以使用从菜单选项发送的通知。您的服务可以收听该通知,然后相应地更改shouldRun

    注意:正如Joey Chong在评论中所说,你有两种方法可以做到这一点:

  • 轮询您的服务器,即定期从您的应用发送消息以检查新数据(之前描述的内容)

  • 在检测到服务器中的数据发生变化时从某个提供商处收到消息。

这两种方法共有三个第一步。