Android录像机:未能获得表面

您好我正在尝试使用相机v2 API来记录video使用Raspberry Pi 3设备,使用树莓派相机模块附加到它。 我正在用Kotlin使用Android Things开发这个function。 这是我的video录制代码的样子。 override fun startRecording(videoCameraCallback: VideoCameraCallback) { val cameraIdList = cameraManager.cameraIdList cameraManager.openCamera(cameraIdList[0], cameraStateCalback, null) Log.d(“JJJ”, “start recording called”) } var cameraStateCalback = object : CameraDevice.StateCallback() { override fun onOpened(camera: CameraDevice?) { if (camera != null) { Log.d(“JJJ”, “onOpened and will now create handler and capture session”) //create handler thread val […]

使用Gradle构建Kotlin项目有时会导致NoClassDefFoundError失败

我不能可靠地重现这个问题,因为它是零星的。 这是我用Gradle创建Kotlin项目时所得到的结果: Could not perform incremental compilation: Could not connect to Kotlin compile daemon Could not connect to kotlin daemon. Using fallback strategy. :myproj:compileKotlin FAILED 1 actionable task: 1 executed e: java.lang.NoClassDefFoundError: Could not initialize class kotlin.Unit warning: the ‘-d’ option with a directory destination is ignored because ‘-Xbuild-file’ is specified Exception in thread “Thread-25” […]

如何与Kapt3一起使用lombok

当我尝试使用Kapt3运行Java和Kotlin android应用程序时: apply plugin: ‘kotlin-kapt’ javac编译失败,无数 error: cannot find symbol 为生成的方法。 这可能是由于kapt无法生成存根导致的: ‘kapt.generateStubs’ is not used by the ‘kotlin-kapt’ plugin 所有前面提到的强迫我使用旧的kapt我可以使用: compileOnly “org.projectlombok:lombok:$lombokVer” annotationProcessor “org.projectlombok:lombok:$lombokVer” kapt “org.projectlombok:lombok:$lombokVer” kapt { generateStubs = true } 然而这在测试编译期间导致失败,因为我也使用数据绑定库: 出了什么问题:执行任务失败:app:compileXDebugUnitTestJavaWithJavac’。 java.lang.RuntimeException:无法解析数据绑定编译器选项。 参数:kapt.annotations:… \ app \ build \ tmp \ kapt \ xDebugUnitTest \ wrappers \ annotations.bscplayDebugUnitTest.txt kapt.kotlin.generated:… \ app \ […]

错误在http请求返回错误时处理UI线程

我正在使用Fuel和Rxjava进行网络通话。 我已经将我的基本URL设置为localhost,而不是在服务任何东西。 我想能够处理网络错误,所以我可以在用户界面上显示某种错误信息。 这是我的GET请求的一个例子 fun getRandom(take: Int, responseHandler: (result: WikiResult) -> Unit?) { Urls.getRandomURl(take) .httpGet() .timeout(timeout) .timeoutRead(readTimeout) .rx_object(WikipediaDataDeserializer()) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ result -> val statusCode = result.component2()?.response?.statusCode when(statusCode) { -1 -> e(statusCode.toString(), result.component2()?.cause.toString()) else -> { val (data, _) = result responseHandler.invoke(data as WikiResult) } } }, { error -> e(error.cause.toString()) }) } 在我的片段上,我在异步任务中调用上面的函数 private […]

Android 6上的改造2设置了零路径参数

我正在使用Retrofit 2库版本2.3.0,并突然开始用零代替整数路径参数,而不是实际的数字。 我正在使用Kotlin(1.2.21),我有一个方法,如: @GET(“posts/{postId}”) fun getPosts(@Path(“postId”) postId: Long): Single 这工作应该,但现在当我在Android 6上运行我的应用程序(设备和模拟器) postId路径参数始终是零即调用posts/0 。 Android 7和8都很好。 Retrofit和OkHttp版本没有改变,界面也没有改变。 我已经查看了构建的请求,并且OkHttpCall里面有一个带有值为0的Longtypes的值的数组。这只是在Android 6上,其他人在那里有正确的值。 ServiceMethod在接口中设置了正确的URL,它有一个ParameterHandler用于BuiltInConverter.ToStringConvertertypes的postId 。 应用程序是multiDexed和ProGuard不使用。 会发生什么?

用Swift编写Android应用程序

首先我专注于iOS,但是我已经为Java中的android做了2个应用程序,这太可怕了。 我无法解释为什么。 是Java还是Android本身,但我讨厌这么多,所以现在我不得不为Android编写另一个应用程序,所以我正在为我寻找每个选项。 这是我发现的: 科特林 – 人们说这是“Swift for android”,但我仍然坚持与Android库。 Silver – “你可以使用Swift直接对.NET,Java,Android和Cocoa API编写代码,还可以在不同平台之间共享很多非UI代码。 但在这一刻,我下载它的麻烦。 你对这件事有什么看法? 你有这两种解决方案的经验吗?

使用JWT和OAuth2

当我需要外部供应商时,可以使用JWT和OAuth2吗? 我应该这样做吗? 主要优点: JWT是简单的令牌,可以在任何平台上轻松使用 OAuth2让我轻松使用外部提供者 试图使用这两个已经驱使我到需要令牌的问题,以及通过身份登录。 我更喜欢JWT,所以我可以在任何平台上以相同的方式使用它,我可以看到如何在没有像ASP.NET标识这样的抽象的情况下工作。 但是,在我看来,OAuth2更好地使用ASP.NET。 我的Web应用程序的主要目的是为Angular和Kotlin移动应用程序提供API。

脸谱图API请求失败

您好我使用的是一个android项目中的facebook图形api和该项目今天无缘无故,在调试代码后,我发现,对facebook图形api的请求失败 这是我的Kotlin代码: var graphRequest = GraphRequest(AccessToken.getCurrentAccessToken(), “/{${AccessToken.getCurrentAccessToken().userId}}/albums”, null, HttpMethod.GET, object : GraphRequest.Callback { override fun onCompleted(response: GraphResponse?) { if (response != null) { TODO(“not implemented”) //To change body of created functions use File | Settings | File Templates. } } }).executeAsync() 我试图使用图形API浏览器的请求,以确保代码不是问题,它也失败了: 点击查看截图 我希望你能弄清楚什么是真正的问题,因为我是新来的API,预先感谢你。

Xpath解析:元素的前缀没有绑定

我知道这个问题已经被问了很多次,但是即使在阅读之后,我也无法解决这个问题。 问:我有一个XML,其中有一个节点(GivenName)用一个名称空间(mpeg7)定义并在根元素顶部声明。 我想用xpathexpression式(// EpisodeOf / @ crid)使用javax xpath解析一个属性。 只是为了清除代码工程,当我从XML中删除这个GivenName节点。 XML: Azeb 代码(在Kotlin): val xpath = XPathFactory.newInstance().newXPath() xpath.namespaceContext = MyNamespaceContext() val extractedValue = xpath.evaluate(“”,InputSource(StringReader(AboveXMLInStringVariable)), qName)} class MyNamespaceContext : NamespaceContext { override fun getNamespaceURI(prefix: String?): String { println(“checking for getnamespace”) if (prefix == null) { throw IllegalArgumentException(“No prefix provided!”); } else if (prefix.equals(“mpeg7”)) { return “http://developer.tmsapi.com/files/tva_mpeg7_2008.xsd”; } […]

未使用@绑定匕首的方法

我有以下定义的Splash屏幕活动: @Subcomponent(modules = arrayOf( SplashActivitySubcomponent.ComponentModule::class) ) interface SplashActivitySubcomponent : AndroidInjector { @Subcomponent.Builder abstract class Builder : AndroidInjector.Builder() @Module abstract class ComponentModule { @Binds @IntoMap @ActivityKey(SplashActivity::class) abstract fun bindSplashActivityInjectorFactory(builder: SplashActivitySubcomponent.Builder): AndroidInjector.Factory } } 我在活动中没有片段。 会发生什么是bindSplashActivityInjectorFactory未使用。 问题是我无法摆脱它,否则应用程序在运行时崩溃。 使用 @Suppress(“unused”) 是不够的,因为我仍然从kotlin-lint得到警告。 为什么在不使用时需要定义这个方法? 我能做些什么来避免这种警告? 这是我得到的错误: UnnecessaryAbstractClass – [ComponentModule] at com / xxxx / splash / di / SplashActivitySubcomponent.kt:20:5 OptionalAbstractKeyword […]