小编Cit*_*tut的帖子

将两个 kotlin 流合并为一个流,该流发出两个原始流的最新值?

如果我们有两个这样定义的流:

val someflow = flow {
    emit("something")
}
Run Code Online (Sandbox Code Playgroud)

另一个流程定义如下:

val stateFlow = MutableStateFlow("some value")
Run Code Online (Sandbox Code Playgroud)

是否可以将两个流组合成一个流,该流仅发出someflowor发出的最后一个值stateFlow

这个想法是,stateFlow可能会在未来的某个时刻发出一个值,但在那之前我只想要someflow最后发出的任何值。在“组合”流程中,我想只获取 发出的第一个值someflow,但随后能够观察 上的其余更新stateFlow

看起来这可以通过组合函数来完成,但我只想发出两个流之间的最新发出值,我不关心一个流的最后一个值是什么。

coroutine kotlin kotlin-coroutines kotlin-flow kotlin-stateflow

7
推荐指数
1
解决办法
8271
查看次数

如何使用 Jetpack Compose 对齐行列表中第一列的宽度

我正在制作一个布局,其中一列最多包含 5 行。每行有三列,我希望每行第一列的宽度完全相等。

每行中的第一列始终占用与其包含的文本一样多的大小,列的大小不会缩放以匹配行列表中最大列的大小。

每行项目:

fun GetRowItem(firstColumnText: String, secondColumnText: String, thirdColumnText: String) {
    Row(
        modifier = Modifier.padding(start = 4.dp, end = 4.dp),
        verticalAlignment = Alignment.CenterVertically
    ) {
        Column(
            modifier = Modifier.padding(end = 4.dp),
        ) {
            Text(
                text = firstColumnText
            )
        }
        Column(
            modifier = Modifier.padding(end = 4.dp),
        ) {
            Text(
                text = secondColumnText
            )
        }
        Column(
            modifier = Modifier.padding(end = 4.dp),
        ) {
            Text(
                text = thirdColumnText
            )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个父母将行排列如下:

Column(modifier = Modifier.fillMaxWidth().padding(start = 8.dp, end = 8.dp) …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

7
推荐指数
1
解决办法
2583
查看次数

如何在python中对POST方法进行单元测试?

我有一个方法可以将包含 JSON 的 POST 发送到 Elasticsearch 实例。我正在尝试编写一个单元测试来验证发送的 JSON 的内容,但我不确定如何去做。我应该在 python 中创建一个本地服务器并让它验证 POST 或其他内容的内容吗?我目前有这个:

class TestAnalytics(BaseTest):

    def test_post(self):
        info = {"test1": "value1", "test2": "value2"}
        resp = requests.post(config.tool_repo_urls['es_url'], data=json.dumps(info), headers={'Content-Type': 'application/json'})
        assert_equal(resp.status_code, 200)  # verify valid response code
Run Code Online (Sandbox Code Playgroud)

python post unit-testing

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

如何从Java中的字符串中删除除某些字符之外的所有字符?

假设您有一个字符串“ ACcwerwervwvrwBq^2424 /.* DffGZ..'B”。您如何只保留某些字符A,B,C,D并删除其余字符?

string.replaceAll如果我知道要删除哪些字符似乎可以工作,但我想删除除A,B,C,D. 把除了那 4 个角色之外的每个角色都放在那里似乎很乏味,有什么更简单的方法?

我希望上述情况下的输出为“ ACBDB”。

java string replace char

4
推荐指数
1
解决办法
4130
查看次数

KMM 和 iOS 中的传递依赖关系如何工作?

假设我有一个包,即共享包,与两个 KMM 项目共享:KMM 项目 A 和 KMM 项目 B。

因此,我们有共享包 -> KMM 项目 A 和共享包 -> KMM 项目 B。

现在我想在我的 iOS 应用程序中使用 KMM 项目 A 和 KMM 项目 B。这是如何运作的?共享包是否与两个框架捆绑在一起(即我两次包含相同的依赖项?)。此外,共享包是否需要是 KMM 项目才能允许 KMM 项目 A 和 B 生成相关的 iOS 框架?或者它可以是一个纯 Kotlin 项目吗?

这是一个图表,可以对我试图理解的情况提供更多解释。

在此输入图像描述

kotlin kotlin-multiplatform kmm

4
推荐指数
1
解决办法
1358
查看次数

像React JS中的“ ScrollView”组件?

我在我的应用中将搜索结果显示为无序列表。当有5个搜索结果时,这种方法很好用,但是当我开始获得10-20个结果时,列表在页面下方开始越来越多。我想避免只在整个网页中向下滚动即可看到列表中较低的内容。是否有类似滚动视图的内容,我可以在其中定义一定的高度,然后用户可以在容器内部滚动?

我当前的代码:

class SearchResults extends Component {
    render() {
        return (
            <div style={styles.wrapperDiv}>
                <div style={styles.resultsLeft}>
                    <ul style = {{ listStyleType: "none" }}>
                        <Result results={this.props.results}/>
                    </ul>
                </div>
                <div style={styles.mapRight}>
                    <GoogleMap/>
                </div>
            </div>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

scroll reactjs

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