问题标签 [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.
android - Android - 将数据从 MainActivity 发送到 Thread
在我的 Android 应用程序中,我需要将任何更改从我的 UI 发送到线程。
用户更改文本视图,我需要获取值并发送到线程处理。可能吗 ?
我只看到了从线程到 UI(通过runOnUiThread
)的解决方案,但没有看到从 UI 到线程的解决方案。
android - 如何在后台线程上执行 LiveData 转换?
我需要将对象返回的一种类型的数据转换为后台线程上的LiveData
另一种形式,以防止 UI 滞后。
在我的具体情况下,我有:
MyDBRow
long
对象(由原始s 和s组成的 POJOString
);- 一个Room DAO实例通过
LiveData<List<MyDBRow>>
; 和 - 期望更丰富对象的 UI (将原语膨胀为例如日期/时间对象
MyRichObject
的 POJO )
所以我需要将我LiveData<List<MyDBRow>>
的转换成一个LiveData<List<MyRichObject>>
,但不是在 UI 线程上。
该Transformations.map(LiveData<X>, Function<X, Y>)
方法执行此需要的转换,但我不能使用它,因为它在主线程上执行转换:
将主线程上的给定函数应用于 LiveData 发出的每个值
source
并返回 LiveData,它会发出结果值。给定的函数
func
将在主线程上执行。
什么是进行LiveData
转换的干净方法:
- 在主线程之外的某个地方,并且
- 仅在需要时(即仅在观察预期转换时)?
android - 在后台线程上运行独立 Completable
我正在尝试创建一个可完成并在后台线程上运行它,但是当我订阅时它Action
没有run()
调用Schedulers.io()
基本上我想通过 RxAndroid 做以下事情:
使用 RxAndroid 我正在执行以下操作:
如果我这样做,它的run()
方法不会被调用Schedulers.io()
,但如果我这样做,它就会被调用subscribe()
。
当我订阅Schedulers.io()
.
android - 在 Executors.newFixedThreadPool 完成其工作后计算一个方法
我有一个方法。在这个方法中,我运行 Executors 的任务。它的工作是从服务器获取数据并填充结果数组列表。
填充结果 Arraylist 后,我必须使用这个 arraylist。我怎么知道 executorService 在哪里完成了它的工作,我可以再次继续我的方法?
java - 在视图更改之前播放声音
我正在 android studio 中创建一个钢琴应用程序:
我的播放按钮有一个点击监听器,当按下它时应该使录制和播放按钮不可见,而在播放录制的声音时停止按钮可见。
播放按钮
切换按钮可见性的方法
使用记录和停止按钮,这可以正常工作
由于某种奇怪的原因,它首先执行循环并在方法更改哪些按钮可见for
之前播放声音。switchButtonVisibility();
这似乎没有任何意义,因为该方法位于循环之上。有什么方法可以设置它,以便在执行循环并播放声音之前首先更改按钮的可见性?
android - 按钮在新线程上不起作用
以前我有错误 - 关于一些循环,我已经看到在这种情况下有必要为按钮启动一个新线程的信息,但仍然没有任何反应,认为日志现在没有显示错误。
java - 如果检测到互斥,则停止当前线程
在我的 android 应用程序中,我的一个 MODEL 类中有一个特定的方法,并且该方法总是从 UI 线程以外的单独线程调用。
AlarmManger定期运行此方法,用户也可以选择从 UI 运行此方法。(AlarmManger 操作和 UI 操作从主应用程序 UI 线程以外的单独线程调用此方法)。
我只是不想允许从 UI 和 AlarmManger 同时运行此方法。
当然我可以同步这个方法,保证一个线程执行一个方法。但这不是我想要的。
如果已经执行该方法,我想抛出一个异常并停止第二个线程(根据情况可能是 UI 调用或 AlarmManager)。因此,我可以通知用户操作已取消,因为找到了另一个正在运行的实例(AlarmManger 或表单 UI)。
我能问一下这种情况下最好的方法吗?谢谢
android - 在没有 UI 的情况下在后台执行 Webview
在我的应用程序中,使用 aWebView
显示登录屏幕。一旦用户登录并且令牌过期,我将使用缓存的凭据重用 Webview 以重新登录。问题是我想在后台执行此重新登录操作,而 WebView 不可见。可能吗?
我试图放入一个透明的活动,但在这种情况下,用户无法在应用程序中导航,直到此过程返回。
android - Android Volley 和响应中任务或线程的使用
在我的应用程序中,我做了不同的请求来获取网站的 HTML 代码。之后,App 会解析 HTML,可能会执行并解析另一个请求。最后,ListView 填充了解析后的数据。
现在我读到 Volley 在 UI 线程的 onResponse 方法中运行所有代码。所以也许最好在一个新线程中进行解析。我实现它如下。
在处理结束时,我调用 MainActivity 的方法将数据添加到 Listview “callerActivity.addData(dataHashMap);”。此方法执行以下操作:
AsyncTask 和 Thread 之间是否有区别,所以我应该使用其中之一?还是无所谓?有没有更好的方法来做这些事情?
谢谢您的回答
android - 如何让 AlertDialogs 依次出现和消失?
我希望带有消息“1”的 AlertDialog 出现在屏幕上,并在 3 秒后消失,然后我希望另一个带有消息“2”的 AlertDialog 出现在屏幕上,并在 3 秒后消失,依此类推,直到 5。我有以下代码:
但是在等待一段时间后程序执行后,我只得到一个带有消息“5”的AlertDialog,就是这样。如果有人认为我的问题的另一个标题更合适,他可以更改它。