在android studio中成功API响应后刷新活动
Posted
技术标签:
【中文标题】在android studio中成功API响应后刷新活动【英文标题】:Refresh activity after successful API response in android studio 【发布时间】:2021-06-05 17:53:12 【问题描述】:我有 3 个活动 A B C ::--
我在活动 A 中为部门列表调用 API,每个部门都有多个经理,经理的详细信息如姓名、手机、电子邮件等。
活动 A(包含部门列表) 活动 B(包含特定部门的经理列表) 活动 C(包含一位经理的个人详细信息,如姓名、手机、电子邮件)等。
活动 A 开始活动 B 在活动 B 上按返回应该会导致 A 活动 B 开始活动 C 在活动 C 上按返回应该会导致 B
在活动 A 中,我获得了列表视图(部门列表)的数据表单 API。我在活动 B 中传递了此数据,尽管意图单击列表视图项(单击包含多个经理列表的部门单元格),现在我有经理列表的列表视图,现在单击经理列表项我传递了该特定经理详细信息的数据在活动 C 中,尽管现在意图在 API 成功响应后调用 API 更新管理器详细信息我想刷新活动 B 以刷新管理器列表我该怎么做
【问题讨论】:
可以说更新的经理详细信息将出现在部门 api 中,每当您更新任何经理详细信息时,我都猜测 api 已更新数据。因此,在您的情况下,您在活动 A 中调用部门 api,当您单击任何项目时,其所有详细信息都将发送到活动 B。因此,在您的情况下,当您在活动 C 中更新经理详细信息以获取 API 成功时,您可以返回到活动A 然后点击同一个项目,它会带你到活动 B 那里你可以看到更新的响应。 完成actvity C后,尝试使用OnActvityResult,看一个例子她e:javatpoint.com/android-startactivityforresult-example Hascher .. 我知道,但可以不跳过活动 B .. 【参考方案1】:3 个选项
始终在onResume
或onStart
中刷新活动 B 中的所有经理 - 这将确保您始终拥有最新信息。
使用startActivityForResult
or the new Results API 获取Activity C 的结果。在它更新了manager 之后,将更新后的信息传回给B,它可以使用它来更新选定的Manager。
使用“离线优先”的架构模式。活动 B 将从本地(房间)数据库中获取数据,它总是在 onResume
或 onStart
中查询,类似于选项 1 但离线。一旦在线获取完成,活动 C 将更新此数据库。返回到活动 B 时,新数据会自动刷新。谷歌“android 离线优先架构”了解更多信息。
【讨论】:
以上是关于在android studio中成功API响应后刷新活动的主要内容,如果未能解决你的问题,请参考以下文章
尝试从asp.net web api调用获取响应时android studio中的超时异常
我的Android Studio应用仅适用于API 23及更高版本