当前位置: 首页 > 面试题库 >

在Android TabHost应用程序中完成交互通信的最佳方法

曹涵润
2023-03-14
问题内容

达成协议:我有一个Android应用程序,需要每X秒(当前为60秒)调用一次Web服务。该应用程序具有多个选项卡,这些选项卡都需要与数据本身进行交互。一个是MapView,一个是ListView,然后第三个是不相关的,但最终还需要获取一些全局数据。问题是我希望我的主要活动有一个在后台运行的线程,获取结果,然后指示TabHost中的两个子活动用最新数据更新自己。另外,当用户单击选项卡并触发onCreate
/ onResume活动时,我还想通过从主要活动中获取最新数据来强制重绘。我真的很茫然。一世’
ve使用服务和一些贫民窟静态方法尝试了此操作,以便在计时器触发时将Activity的实例传递给Service来调用特定函数以更新其视图,但是运行速度非常糟糕,并且代码丑陋丑陋。有什么建议?

编辑:因此,我在tabhost活动中将其实现为计时器驱动的线程,然后在每个子活动中都有计时器驱动的线程,这些线程随后捕获数据(以同步方式)并更新其映射/列表。它的速度要快得多,但仍然感觉有点乱,尤其是在父活动中我像这样调用自定义函数的部分:

((MainActivity)getParent()).getNearbyMatches();

这增加了强耦合的元素,对此我并不完全满意,但是从性能的角度来看,它比以前要好得多。我感谢已经给出的答案,并将在内容提供者方面做一些研究,但是我不确定我是否想回到服务模型。


问题答案:

所以我找到了我认为的答案:Application
Class
。您可以扩展此类以跟踪全局应用程序状态。

AndroidManifest.xml文件中,您可以在android:name属性中引用完全限定的自定义类,并且在应用启动时将实例化该类。

然后,任何Activity都可以调用"getApplication()",它将返回您的自定义Application类的实例,然后您可以对其进行定制以进行尝试。



 类似资料:
  • 问题内容: 在GWT应用程序中将 大量HTML外部化 的最佳方法是什么?我们有一个相当复杂的GWT应用程序,大约有30个“页面”;每个页面的底部都有一种指南,它是HTML标记的几段。我想外部化HTML,以使其尽可能保持“未转义”状态。 我知道并了解如何在GWT中使用 属性文件 ;这肯定比将内容嵌入Java类更好,但是对于HTML来说仍然很难看(您需要对所有内容都反斜杠,以及转义引号等)。 通常,这

  • 问题内容: 有时我需要等待一种方法完成,主要是在“加载程序”功能上。这是我这样做的方式: 我忍不住觉得这不是等待a 完成的最佳方法。做这个的最好方式是什么? 问题答案: 如果内没有 异步 代码, 则不是异步代码,例如以下代码: 完成后,您将看到警报。 否则(您内部有异步的东西),可以将循环包装在Promise中: 信用:@ rolando-benjamin-vaz-ferreira

  • 问题内容: 以下是我典型的程序的整体结构。 funA funB并在用户单击按钮1、2、3时funC打开另一个Toplevel带有窗口小部件的窗口。 我想知道这是否是编写python tkinter程序的正确方法吗?当然,即使我这样写也可以,但这是最好的方法吗?听起来很愚蠢,但是当我看到其他人编写的代码时,他们的代码并没有弄乱一堆函数,而且大多数情况下都有类。 有没有作为良好实践应遵循的特定结构?开

  • 我试图了解使用android应用程序下载文件的不同方法的利弊。 我找到了几种方法: 自己管理下载(请参阅此代码片段) 使用Android的DownloadManager 使用OKHttp下载文件,如本文所述 有这方面经验的人能告诉我选择一种方式而不是另一种方式的原因吗?

  • 我正在开发一个交互式排序应用程序。我必须将数字表示为矩形,并且例如,当排序算法运行时,当两个数字互换时,矩形必须互换。我想用动画来做这件事。我如何交换矩形?我目前正在使用transition测试这个功能,但我遇到了一些问题。我有两个矩形在一组。当我尝试交换矩形时,两者会在中间相遇并停止。代码如下: 我需要一个类似于帆布的窗格。我需要能够设置矩形坐标。

  • 问题内容: 为自定义PHP应用程序存储一组全局设置的最佳方法是什么?我正在做一个个人项目(实际上是第一个主要项目),并且需要一种存储键值对的方法来记录应用程序的整体设置。 东西存储为… 网站的全球名称。 主题(只是一个变量或主题的路径) 等等 我应该把它们放在一张桌子里吗?如果是这样,从boostrap查询它们的最佳方法是什么?除了对每个所需的设置执行单个查询。 更新:是的.ini或解析一个包含文