问题标签 [android-handler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1130 浏览

android - Android - 重复 WebService 调用

我需要经常使用 JSON 网络服务(每 5.10 秒最多)。

为了测试目的,我在 AsyncTask 中实现了 web 服务调用,每当我按下按钮时都会执行该调用。

我应该使用 Handlers、Timers 还是 AlarmManager?

我有点困惑,因为 AsyncTask 创建了自己的线程,但是这些方法中的任何一个都不会创建另一个线程,从而创建一个将创建另一个线程的线程吗?

我使用 AsyncTask 实现了它,因为每当 web 服务调用出现问题时,我无法让应用程序挂起,所以如果第一次调用失败,如果第二次调用成功,应该没有任何问题,我正在获取的数据将第二次执行任务时出现。

(GCM 可能是一个解决方案,但现在我需要使用轮询而不是通知..)

提前致谢

0 投票
0 回答
423 浏览

android - 在 Handler#postDelayed(Runnable, long) 中启动另一个活动会产生“SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度”

当我开始一项活动时,Handler#postDelayed(Runnable, long)我收到一条错误日志消息(是的,重复了两次):

应用程序不会崩溃,但是总是看到这个错误很烦人。在此示例中,我在 LogCat 中没有得到其他输出。

我的第一个活动:

我的第二个活动:

我的清单:

0 投票
1 回答
75 浏览

android - 未捕获的处理程序错误。

我正在尝试做一个 HTTP Post,当我知道应该在异步任务或处理程序中使用耗时的任务时,我尝试使用处理程序对其进行编码,但我得到一个处理程序未捕获的异常,无法确定在哪里我错了。下面是我的代码和日志跟踪。

}

这是我的原木猫:

在此处输入图像描述

0 投票
4 回答
1645 浏览

android - 处理程序中的异步任务?在行中执行多个异步任务

我在android中遇到以下问题:

我需要在 row 中处理一些异步任务(e.g. Async-Task 1 -> Async-Task 2 -> Asyc-Task 3)。所有的异步任务都用一个 handler 来回答(sendMessage(xy))

所以我的处理程序必须启动下一个异步任务。这是最佳实践吗?我应该选择另一种方式吗?

总结:我正在寻找一种方法来串行处理许多异步任务......

我不能使用 asyncThread 的 get() 函数,因为它们只在处理程序中返回它们的答案。

对不起,我的英语不好..

0 投票
3 回答
815 浏览

java - Android 中的 Java Timer 等效项

我最近开始使用 Java 并正在探索 Android 开发。我试图移植我制作的一个 Java 程序,但是在让 java Timer 在 Android 中以相同的方式运行时遇到了一些困难。我阅读了许多帖子,它们在大多数情况下表示最好在 android 中使用 Handler 类而不是 Timer。

这是我在 Java 中的计时器:

一旦单击某个按钮,我只需运行“playTimer.start()”即可启动它。

如您所见,我设置了它,以便用户可以设置他们想要的 FPS(只需将 Timer 类的第一个参数设置为 1000/model.getFPS())。

现在我尝试使用处理程序在 Android 中做类似的事情,但我遇到了一些困难。处理程序滴答似乎没有以适当的时间间隔触发。与我需要的相比,它们似乎相当慢。到目前为止,这是我在 android 中所做的:

原谅半伪代码。任何人都可以解释一下吗?多谢你们。

0 投票
2 回答
13218 浏览

android - 如何解决执行 doInBackground() 时发生 java.lang.RuntimeException 错误?

我是 android 开发的初学者,我在以下代码中遇到错误。我正在为 http 请求调用 asyn 方法,在此之前我正在检查 Wifi 或移动网络是否可用。当 Internet 连接可用时,我的服务运行良好,但在离线模式下,我会收到此类错误:“java.lang.RuntimeException:执行 doInBackground() 时发生错误”

下面是 MyServiceProfile 代码。在这段代码中,我首先检查 Internet 连接,然后如果用户离线,则数据保存在本地数据库中并在 Internet 连接期间自动更新我们的服务器

}

我对服务器 Http 链接代码的更新如下:

}

有时它可以正常工作,但是在连接wifi或移动互联网连接时突然我的应用程序崩溃了,我认为当时服务没有正常运行。:( 等待您的建议、解决方案和您的想法。谢谢。

0 投票
2 回答
5750 浏览

android - 如何在android中停止处理程序

我已经创建了一个 android 应用程序,当单击一个按钮时,处理程序将在每 2 秒激活一个烤面包机。另一方面,我有一个停止按钮,我想在单击时停止正在运行的线程

这是我的代码

0 投票
1 回答
167 浏览

java - 从处理程序调用时,异步任务未获取数组列表

我正在使用处理程序来启动异步任务,但是这样做时,我的应用程序崩溃了。我被卡住的原因是因为如果我通过其他任何东西(例如 onClickListener)启动异步任务,那么我可以多次运行它,一遍又一遍,并且每次都能完美运行。一旦我从我的处理程序执行 asynctask,它就会立即使用 NullPointerException 使应用程序崩溃。

我的处理程序看起来像这样

这是来自应用程序的堆栈跟踪的一部分,显示了异常

我的代码的第 100 行是 doInBackground 下 asynctask 的第一行

我知道异常很可能来自“global.places.size()”可能为空,但我坚持为什么它只有在从处理程序调用时才会这样做,因为如果我从我的代码的任何其他部分。

编辑

根据@Raghunandan 的要求,这是我的 asynctask 中 doInBackground 的整个代码块,它计算“地点”与用户之间的距离:

编辑 2

global 是一个扩展 Application 的类,在 Activity 中定义如下:

0 投票
1 回答
407 浏览

android - Change the button color after a variable time

I'm having a problem to change the button color after a certain amount of time. I know how to change using handle after a fixed time, but I need to change the color after a specific time that is chosen by the user.

}

0 投票
1 回答
1480 浏览

android - Android可在多次调用的线程上运行

我正在尝试使用 aSmack 实现 MUC,但似乎无法使用 ArrayAdapter 正确更新 UI。我已经在我的ChatService.java中设置了我的监听器,如下所示:

我的侦听器类如下所示:

现在问题如下;首先,我尝试通过处理程序更新 UI(处理程序在我的ChatActivity.java中定义):

但这不会更新 UI,直到从用户端引入交互。经过一点网络挖掘后,我意识到我需要使用 post(或 runonUIthread)方法来实现这一点,所以我尝试了:

但是现在 run() 方法被多次调用(在调试时确认),并且 UI 更新为看似随机数量的相同消息(每条消息的重复数量不同,但显示了所有消息)。

这是我的第一个 android 应用程序(但我是一名 java 开发人员),我很确定我在这里的架构做错了什么。任何帮助(最好是详细的 - 带有代码示例和/或对文档正确区域的引用)将不胜感激。

提前致谢!

在@Emil 的回答之后更正了工作片段