我有一个棘手的面试问题,希望有人能帮助我。
场景:您有一个带有 Json 或 xml 的网络服务。单击一个按钮,您将如何准确地获取数据、解析数据并将其显示在用户界面上;除此之外,您如何获得每十五分钟更新一次数据的相同任务;
最后一个也是最棘手的一个:您将如何处理按钮和 15 分钟刷新同时发生的情况。
(我想我应该使用 AsyncTask 来处理最后一个,但不知道我应该怎么做)
提前致谢!
最佳答案
我不确定,但您可以使用 AsyncHttpClient
或其他类似的 HTTP 客户端从服务器请求 JSON 对象。然后可以使用 GSON 或其他方式解析 JSON 对象。如果是 XML,那么您可以使用 XML 解析器。
每 15 分钟执行一次,您可以使用 AlarmManager和 Service安排 15 分钟的 HTTP 请求。
对于处理最后一种情况,如果您使用 AsyncTask
,那么您可能会发送两个请求并获得 2 个响应。那么您将使用哪一个来更新 GUI?我不确定,但可以通过使用 Synchronization 找到出路.您可以创建一个单独的类来处理 HTTP 内容。这可以是同步的,因此一次只使用该对象的一个实例。这样,按钮触摸将调用或服务。因为在创建一个对象时会有一个锁
,所以在它被释放之前,第二个对象将无法获得一个实例。
不确定,但我想不出别的。
关于android - 使用按钮刷新数据与定期更新同时发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434762/