繁体   English   中英

如何在android中只调用一次Web服务

[英]How to call the web service only once in android

我有三个标签。 每次当我按下每个选项卡时,一些布局都会膨胀并完成网络服务调用。 我正在通过此 Web 服务调用将一些数据填充到我的膨胀视图中。 一切正常。 但问题是我不想每次第二次按下选项卡时都调用 Web 服务。 以前的数据应自动填充,而无需调用 Web 服务。 我认为我不能为此使用 onResume() 方法。 用谷歌搜索了很多页面来找到这个答案,但没有任何帮助。 如有需要,请贴出代码。 提前致谢。

到目前为止,这些是我的解决方法。

TabHost setCurrentTab 只为 Tab 中的 Activity 调用一次 oncreate 方法

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

http://jnastase.alner.net/archive/2010/10/27/handling-orientation-change-in-android.aspx

您的网络服务应该返回一些数据,将此数据保存到您的本地内存中,并在每次此数据为空或不为空时检查,如果为空,则调用服务,否则从本地数据膨胀。

首先,你应该知道你的“呼”的状态: not callingpendingcalled 您必须将其存储在某处( activityshared preferencesdatabase等),然后进行呼叫。 现在,对于数据:您应该实现一些缓存(同样,在activityshared preferencesdatabase甚至plain files )。 然后,在调用的任何状态下,您都可以显示来自缓存的数据(如果存在),并且在调用完成后您可以将新数据存储在缓存中并显示它。

每当在一个选项卡中进行任何更改时,将值存储在某个变量中,每当下次页面初始化时,使用旧的选定值进行初始化。 请尝试一下..它可能会解决问题..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM