草庐IT

needs_thread_safety

全部标签

android - 异步任务 OnProgressUpdate CalledFromWrongThreadException : Only the original thread that created a view hierarchy can touch its views

我正在使用AsyncTask下载带有进度对话框的数据库,该进度对话框在UI上显示进度。我的一些用户收到错误:CalledFromWrongThreadException:只有创建View层次结构的原始线程才能触及它的View。据我了解,只有当您尝试从UI线程更新View时才会发生这种情况。这是错误:com...updateops.DbCreate.onProgressUpdate(DbCreate.java:70)在com...updateops.DbCreate.onProgressUpdate(DbCreate.java:1)这是我的代码:publicclassDbCreateex

android - NDK 将一个库链接到另一个库“无法加载库 : link_image[1966]: 1765 could not load needed library. ..”

首先我想告诉你我想做什么。我有一个.h文件和一个.c文件,其中包含常用的C代码,我用它们创建了一个带有AndroidNDK的共享库。所以现在我有一个名为libtry.so的.so文件。此外,我想在我的AndroidEclipse项目中使用native代码。所以我创建了带有“Counter”类和内容的.java文件publicnativestaticintNumber(intn);和static{System.loadLibrary("test");}然后我使用javah工具从.java文件创建一个C头文件。然后我为C头文件创建了一个C源文件,我在其中实现了native代码。然后我用LO

Android Espresso waitFor.. 和 Thread.sleep() 解决方案

我刚开始使用Espresso,在此之前我已经尝试过Robotium。我需要测试LoginActivity。逻辑是:用户输入正确的凭据;用户看到“Loggingin..”字符串;用户等待字符串消失;用户在MainActivity中并看到“您已登录”测试登录源:publicvoidtestLogin()throwsException{onView(withId(R.id.login_email)).perform(typeText(LOGIN_EMAIL));onView(withId(R.id.login_password)).perform(typeText(LOGIN_PASSWOR

java - 线程内线程 : what happens if parent thread is killed?

这个问题在这里已经有了答案:DoesachildthreadinJavapreventtheparentthreadstoterminate?(4个答案)关闭6年前。总的来说,我无法理解线程。就我而言,使用Java和Android。假设我有一个名为A的线程,它启动线程B。如果线程A停止,则线程B将继续存在。这怎么可能?谁现在属于线程B?到主线程?线程类publicclassParentThreadextendsThread{publicvoidrun(){Log.e("PARENTTHREAD","STARTSRUNNING");newThread(newRunnable(){@Ove

android - 在带有 RxJava : How can you keep the presenter free of any android knowledge while still observing on the UI thread? 的 Android 上使用整洁的 MVP

为了使用mvp模式在android上实现“整洁”的架构,建议将android框架视为插件,并且不要将任何android感知依赖项泄漏到演示层中。使用rxjava,如果我有一个设计用于将数据“推送”到View层的演示器,我可能希望有这样的逻辑:publicinterfaceSearchPresenter{interfaceViewLayer{voidupdateResults(ListsearchResults)}voidbind(ViewLayerviewLayer);voidunbind();}publicclassSearchPresenterImplimplementsSearc

java - 将函数的参数声明为 final : why and when is it needed?

通过android教程(与多线程、循环器和处理程序相关),我遇到了这个:publicsynchronizedvoidenqueueDownload(finalDownloadTasktask)我的问题是:何时以及为什么需要将函数的参数声明为final?它是特定于Java的,还是其他语言(例如C/C++)中存在类似的东西? 最佳答案 在Java中,这通常是,这样您就可以访问匿名内部类中的参数-这通常在Android中用于事件处理程序等。真正的意思是参数的值不能在方法内改变,但是目的通常是为了匿名内部类...publicsynchron

android - java.lang.IllegalStateException : You need to use a Theme. AppCompat 主题(或后代)与此 Activity 。钛

我正在使用这个主题为我的Titanium应用程序创建自定义主题generator.但是当我运行我的应用程序时它崩溃了并且我的日志显示我需要appCompact即使我为sdk>sdk11设置了主题。我的目标Android版本是API19,最低SDK版本是API14,所以我想知道为什么我需要appCompact。我的日志是这样写的:[ERROR]:TiApplication:(main)[512,512]Sendingevent:exceptiononthread:mainmsg:java.lang.RuntimeException:UnabletostartactivityCompone

android - 在 Android 中与 Thread 同时录制和处理音频

我正在编写一个小应用程序,它从androidMIC捕获音频,对输入执行FFT,然后将图表绘制成图表给用户。我正在尝试同时进行记录和绘图(很明显,从记录到绘图之间有一小段延迟)。我正在尝试启动两个线程,一个用于读取,一个用于处理。但是,当我处理似乎只接收(或不接收)零时,我遇到了同步问题。任何建议将不胜感激。:)publicclassPlotterextendsActivity{/*plottingobjects*/privatestaticGraphicalViewmView;privateLineGraphline=newLineGraph();privatebooleanrecor

android - 好设计 : Worker Threads and Activity Restarts

众所周知,Android将我们的应用程序组件(Activity、服务)置于随时被杀死的威胁之下。如果你想提供一个健壮的、无泄漏的解决方案,同时保持代码干净并解决关注点分离,这会让事情变得非常复杂。问题:一个Activity开始一个耗时的任务(以Runnable、AsyncTask或任何其他机制的形式)。应显示进度对话框。该任务将打开多个连接,但它应该具有更新进度条的方法,并且可能需要在完成中途显示一个选择对话框。它还应该能够关闭对话框并在发生错误或完成时显示Toast。当一个Activity被杀死然后重新创建一个新实例时,我可以想到两个选项:尝试终止正在运行的任务,并在创建新的替代Ac

android - 证书签发: SSL page brings up "you need to set a lock screen pin or password before you can use credential storage" on Android

我们已经在服务器上设置了证书,并在请求https://www.ourserver.org时设置了证书,Android(无论使用什么浏览器)都会显示一个小弹出窗口Youneedtosetalockscreenpinorpasswordbeforeyoucanusecredentialstorage哪里错了,手机似乎正在尝试注册该证书..?目前只发生在Android上在iPhone和桌面浏览器上没问题我们的Stunnel配置:[www.ourserver.org]cert=/etc/stunnel/certs/www.ourserver.org.crtkey=/etc/stunnel/ke