问题标签 [android-thread]

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 投票
2 回答
125 浏览

java - 如何在 Android 中使用计时器

在我的应用程序中,我有一些工作的计时器
当我的应用程序在一段时间后运行时,我的应用程序冻结并且无法运行任何视图!
在这个计时器中,每500 毫秒emit socket.io

我的代码:

我怎样才能在另一个中运行这个计时器thread而不冻结我的应用程序?

0 投票
2 回答
180 浏览

android - 如何让与主循环器同步的处理程序等待更多数据

当来自数据库的新对象到达时,将创建一个新的处理程序,该处理程序将对象发送到 UI 线程,以便 UI 处理和绘制对象。

这很有效,但是当同时有 100 条消息进来时,将创建 100 个线程,这会造成瓶颈。

我想让处理程序在启动前等待 2 秒,这样它就可以等待其他对象。

我尝试了以下方法,但这不起作用。线程将被启动,但等待 2 秒等待将添加到列表中的其他对象。当时间结束时,线程将与所有对象一起发布到主线程。

0 投票
1 回答
713 浏览

android - 启动画面确定,启动时要加载哪个 Activity?

我正在制作一个启动画面,它Activity根据应用程序是否第一次启动(或不启动)来确定要加载的内容..

代码在它自己的 Activity - 中运行MainActivity,它将充当启动屏幕。如果是第一次启动,我加载IntroActivity..如果之前启动过,我加载PrimaryActivity

我有几个问题

1) - 是否使用runOnUiThread正确的方法来做到这一点?

2) - 我在 StackOverflow 上研究了与启动屏幕相关的主题,建议使用Handler- 在我的特定用例中是否推荐?

3) - 一旦我确定要加载哪个活动,我是否应该关闭Thread它,如果是这样,我应该怎么做?

奖金:

4) - 我打算最终使这个 Activity 成为一个弹出式加载窗口..

实现这一目标的最简单方法是什么?

提前感谢您提供的任何帮助!


我当前的代码如下所示:

0 投票
0 回答
271 浏览

android - 如何使用 ToggleButton 从回收器视图适配器进行网络调用

当我单击它时,我在回收站视图中有按钮我想更改按钮的文本并使用 volly 进行网络调用。

我收到了这个异常

所以,我检查了这个答案 并创建了一个扩展 Thread 类的类并在其中进行网络调用,并从适配器调用它

但它仍然显示相同的错误。

我不明白我需要在主线程上执行什么以及在新线程上执行什么。

这是来自 recycler-view 适配器的调用

我在 run() 方法的 MyThread 类中调用 Volley-POST 方法。

我怎样才能解决这个问题?

0 投票
0 回答
211 浏览

java - 在 onDraw 中调用 canvas.drawCircle 时应用程序崩溃

我正在尝试使用 onDraw 中的画布绘制三个圆圈。onDraw 由线程调用。但是每次 canvas.DrawCircle 发生时,应用程序都会崩溃。

还有一个问题。我正在扩展surfaceView,但从不调用SurfaceCreated。我认为这不是问题,但是...我要疯了。这是我的第二个项目,第一个项目运行良好

我尝试调试,您​​可以使用它:tag DEBUG。如果您需要,请随时向我询问 mainActivity。

}

预期结果是在活动上绘制了三个圆圈。

0 投票
1 回答
149 浏览

android - 从 Volley / AsyncTask 返回值到调用方法

所以说我有一个用于执行扩展类的 Api 调用的volley Request类:

然后我在类中使用它来实现不同的api,所以

只要我在 onResponse 中做我需要的一切,这就可以正常工作。问题是我需要以某种方式将 JSONObject 返回到调用 getJson_foo() 的任何位置。我尝试使用 FutureRequests 进行同步调用,但这不会在 ui 线程上运行。我将如何去做/设置另一个线程来运行同步调用?

0 投票
1 回答
44 浏览

android - Android中的ProgressBar只有在完成一些操作后才会显示

当我执行短时间操作时,我尝试在我的Activity中使用ProgressBar 。而且我意识到,当我将ProgressBar的可见性设置为 true 时,它​​只有在执行操作后才变得可见。

然后我找到了必须在另一个Thread中设置ProgressBar可见性的解决方案。所以我的问题是:为什么我必须在另一个线程中设置它?

例如,如果我在创建时(在onCreate()中)让我的ProgressBar具有真正的可见性,它会继续进行并且我可以在那一刻与UI交互。我得出的结论是它们在一个线程中执行,没关系。但在我看来我错了。

0 投票
1 回答
174 浏览

android - Android runOnUiThread

我正在尝试通过查询天蓝色来获取值!之后,我想尝试获取这些值并转向新的意图,但由于线程,我不知道如何做到这一点

在这里我开始QrCode找到id我需要的

这是我进行查询的地方,但是,正如我所说,runUIThread我无法从该线程访问变量以进行另一次尝试。如你看到的:

0 投票
3 回答
289 浏览

java - 如何在开始活动 X 秒后播放歌曲

我正在创建一个 android 应用程序,我需要一种在开始活动几秒钟后运行歌曲的方法,默认情况下,歌曲在我打开该活动后直接开始。谢谢您的帮助

0 投票
1 回答
170 浏览

java - Toast 正在从附加了后台线程的处理程序中显示。不知道这怎么会发生?

我使用了 HandlerThread,然后使用它的 looper 创建了一个新的 Handler,以便它可以在非 UI 线程上运行操作。在发布到处理程序的可运行文件中,我添加了要显示的 Toast 消息。我预计这会导致问题,因为您无法从非 UI 线程中触摸 UI 组件,但它仍然有效,并且仍在显示 toast。谁能解释为什么从非 UI 线程显示 toast ?

我检查了 Toast.java,发现 looper 使用 Looper.myLooper() 进行了自我初始化。

文档

而currentThread是HandlerThread,不是主线程。因此,我无法理解 toast 是如何从非 UI 线程显示的,或者它是否是我想看的简单的东西。