小编c-a*_*-an的帖子

在mockK中relaxed = true有什么作用?

我阅读了文档,但我仍然不明白。

这之间的差异

private val myClass: MyClass = mockk(relaxed = true)
Run Code Online (Sandbox Code Playgroud)

和这个。

private val myClass: MyClass = mockk()
Run Code Online (Sandbox Code Playgroud)

我的理解是如果放松是真的。然后,所有成员字段或方法都将返回默认值。否则,不会。这是正确的理解吗?

如果是这样,设置alwaysrelaxed=true会更好。但在这段视频中,瑞安同时使用了两者。为什么?

https://youtu.be/60KFJTb_HwU?t=1015

junit android kotlin mockk

14
推荐指数
2
解决办法
1万
查看次数

OkHttp 不断收到 StreamResetException:流已重置:当它为 200 时,内部错误

StreamResetException: stream was reset: INTERNAL_ERROR从 OkHttp 得到的。有什么问题?

这是日志。

I/okhttp.OkHttpClient: <-- 200 https://www.example.com/user/list (396ms)
I/okhttp.OkHttpClient: date: Fri, 04 Dec 2020 02:21:35 GMT
I/okhttp.OkHttpClient: content-type: application/json
I/okhttp.OkHttpClient: content-length: 99730
I/okhttp.OkHttpClient: server: nginx/1.18.0
I/okhttp.OkHttpClient: allow: GET, HEAD, OPTIONS
I/okhttp.OkHttpClient: x-frame-options: DENY
I/okhttp.OkHttpClient: x-content-type-options: nosniff
I/okhttp.OkHttpClient: referrer-policy: same-origin
D/okhttp.Http2: << 0x00000003  5792 DATA          
D/okhttp.Http2: << 0x00000003     4 RST_STREAM    
D/okhttp.TaskRunner: Q10092 canceled              : OkHttp ConnectionPool
D/force: okhttp3.internal.http2.StreamResetException: stream was reset: INTERNAL_ERROR
D/okhttp.Http2: >> 0x00000000     8 GOAWAY     
D/okhttp.TaskRunner: Q10096 finished run in 216 ms: …
Run Code Online (Sandbox Code Playgroud)

django android okhttp http2

10
推荐指数
1
解决办法
2万
查看次数

继续在 Kotlin 协程中如何工作?

我正在研究CPS。我想知道它是如何工作的。

Object createPost(
    Token token,
    Item item,
    Continuation<Post> const){...}
Run Code Online (Sandbox Code Playgroud)
interface Continuation<in T> {
    val context: CoroutineContext
    fun resume(value: T)
    fun resumeWithException(exception: Throwable)
}
Run Code Online (Sandbox Code Playgroud)

人们说 CPS 只是回调,仅此而已。

  1. 我不知道为什么这里使用接口作为参数。
  2. 我不知道<in T>Continuation 界面中做了什么。
  3. Continuation 是一个参数,但是,它实际上在内部做什么以及如何在幕后调用它?

kotlin kotlin-coroutines

9
推荐指数
1
解决办法
5483
查看次数

MODE_IN_CALL、MODE_IN_COMMUNICATION、MODE_CALL_SCREENING 之间有什么区别?

文件是这么说的,但我不能完全理解。

/* modes for setMode/getMode/setRoute/getRoute */
    /**
     * Audio harware modes.
     */
    /**
     * Invalid audio mode.
     */
    public static final int MODE_INVALID            = AudioSystem.MODE_INVALID;
    /**
     * Current audio mode. Used to apply audio routing to current mode.
     */
    public static final int MODE_CURRENT            = AudioSystem.MODE_CURRENT;
    /**
     * Normal audio mode: not ringing and no call established.
     */
    public static final int MODE_NORMAL             = AudioSystem.MODE_NORMAL;
    /**
     * Ringing audio mode. An incoming is being signaled.
     */
    public static final int …
Run Code Online (Sandbox Code Playgroud)

android android-audiomanager android-audio-streams

8
推荐指数
1
解决办法
3151
查看次数

如何清除导航组件中的碎片堆栈?

我像这样尝试使用 FragmentManager:

Navigation.findNavController(mView).popBackStack()
Run Code Online (Sandbox Code Playgroud)

并尝试使用FragmentManager.

val fm = activity!!.supportFragmentManager
Run Code Online (Sandbox Code Playgroud)

1.

fm.popBackStack()
Run Code Online (Sandbox Code Playgroud)

2.

fm.popBackStackImmediate()
Run Code Online (Sandbox Code Playgroud)

但他们没有工作。我的意思是,它们似乎弹出所有的片段。

我还尝试将这些属性应用于graph_nav.xml

app:launchSingleTop="true"
app:popUpToInclusive="true"
Run Code Online (Sandbox Code Playgroud)

我将它们应用于 A 片段和 B 片段。

我想从A片段转到B片段。我想清除 B 片段之前的所有片段堆栈,只留下 B 片段。

android android-fragments android-navigation

6
推荐指数
1
解决办法
1万
查看次数

没有 google-services.json 但仍然从我的 Firebase 项目中获取远程配置

我试图google-services.json从旧项目更改新项目的文件。于是,我把旧的删除了,把新的json文件一一粘贴到两个地方进行测试。

  1. 应用程序/
  2. 应用程序/源代码

1 个案例不起作用,因此,尝试了 2 个案例。但也没有奏效。这两种情况都从旧项目中获取配置。

所以,我在项目中完全删除了应用程序。然后试了一下。还在工作!

然后,我删除google-services.json了笔记本电脑中的所有文件。然后试了一下。但仍在工作。

我怎么解决这个问题?

android firebase google-play-services

5
推荐指数
1
解决办法
1121
查看次数

如何在 Android 上使用透明 webm?

我正在尝试使用一些视频资源。我想去掉背景并根据需要更改颜色。

为了方便实现,我使用了VideoView。然而,它给出了黑色背景。我不想要这样。所以,我正在尝试使用TextureVideoView。

implementation 'com.sprylab.android.texturevideoview:texturevideoview:1.2.1'
Run Code Online (Sandbox Code Playgroud)

但是,当我播放 webm 文件时,它似乎不透明。

什么原因???

这很奇怪,因为我还使用 Alpha 通道将一些剪辑导出并播放到 Webm。它提供白色或破碎的颜色背景。(VideoView 也提供这样的灰色背景。)

源视频: https://simpl.info/videoalpha/video/dancer1.webm,https : //simpl.info/videoalpha/video/soccer1.webm

(这里完全没问题: https: //simpl.info/videoalpha/

在此输入图像描述 在此输入图像描述

android transparent webm webp

5
推荐指数
0
解决办法
999
查看次数

缺少 Android Studio SDK

我在调试和更新 BIOS 时遇到了 USB 连接问题,笔记本电脑的驱动器有问题,所以我需要恢复它。所以,我通过删除所有应用程序来恢复它,只保留我的个人文件。

我再次下载并安装了Android Studio,出现了如下所示的SDK缺失问题:

  1. 我从这里安装 Android Studio 时看不到“SDK” 。所以,我不能选择任何。 在此处输入图片说明

  2. 我尝试使用 SDK 管理器。我无法安装任何带有“您的 Android SDK 丢失、过时或损坏”的版本。错误。

在此处输入图片说明

  1. 我试过更新。但什么都没有改变。(更新到 3.3.1,但无法同步 SDK 错误。)

  2. Stack-overflow 上的一些人建议单独下载 SDK,但他们的链接只显示我已经安装的 Android Studio 安装程序。也许链接太旧了。

  3. “C:\Users\XXX\AppData\Local\Android\Sdk”不存在。 在此处输入图片说明

  4. 我卸载了Android Studio 包括用户设置并重新安装了它。(没有那种我可以选择以前版本的东西。)但结果是一样的。

installation sdk android android-studio

4
推荐指数
2
解决办法
3099
查看次数

如何将 WebM 文件透明地转换为 WebP 文件?

我用ffmpeg试过了。

ffmpeg input.webm output.webp
Run Code Online (Sandbox Code Playgroud)

input.webm包含透明背景,但 alpha 通道在 webp 中变成白色。我认为这意味着 alpha 通道没有结合在一起。

我用这个命令提取帧:

ffmpeg -i input.xxx -c:v libwebp output_%03d.webp
Run Code Online (Sandbox Code Playgroud)

它还为我提供了白色背景的 webp 文件。

如何使用 Alpha 通道正确转换它?或者我应该从其他格式(扩展名)转换它?

ffmpeg webm webp

3
推荐指数
1
解决办法
6045
查看次数

为什么我们需要在不同的启动块中使用collect/collectLatest?

lifeCycleScope.launch {
    viewModel.oneItem.collect {
        println("one")
    }

    viewModel.twoItem.collectLatest {
        println("two")
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了这段代码,但它只打印“一个”,而且似乎第二个collectLatest不起作用。这是为什么?

android coroutine kotlin kotlin-coroutines kotlin-flow

3
推荐指数
1
解决办法
1029
查看次数