gpt4 book ai didi

java - 如何知道两个条件何时为真

转载 作者:行者123 更新时间:2023-12-02 13:34:11 25 4
gpt4 key购买 nike

我有一个应用程序通过 wifi direct 与另一部手机(使用相同的应用程序)进行通信,并且两部手机都必须与蓝牙桥建立连接。当两个设备都有蓝牙连接时,我想启动倒计时器。

我的问题。

我使用两个 boolean 值:

    private final AtomicBoolean cnoadv = new AtomicBoolean(false);//represents the other user connection
boolean conexao = false ;// represents my connection

当我的连接完成时, boolean 值“conexao”为真,我启动方法“verificar”以验证两个连接并将“pronto”发送给其他用户以便他知道我已连接:

 conexao = true; 
verificar();
chatManager.write("pronto".getBytes());

在其他用户端,当我收到消息“pronto”时,代表其他用户连接的 boolean 值“cnoadv”变为 true,并且还启动方法“verificar”

public void pushMessage(String readMessage) {
if(readMessage.equals("pronto")){

Log.d("recebido", "pronto");

cnoadv.getAndSet(true);

verificar();

}

我的 verificar() 方法验证两个连接:

public void verificar() {

if ( cnoadv && conexao) { // error here saying i cant use "&&" in atomic boolean

Toast.makeText(getActivity().getApplicationContext(), "both connections done", Toast.LENGTH_SHORT).show();

}}

我的问题:在验证两个连接的“verificar()”方法中,我想检查两个 boolean 值是否都为 true 。我该怎么做呢 ?我以错误的方式进行此验证?由于我缺乏经验,我希望得到一个好的但尽可能简单的解释,非常感谢。

最佳答案

您应该获得简单的 boolean 值来使用&&,所以请尝试:

public void verificar() {

if ( cnoadv.get() && conexao) { // error here saying i cant use "&&" in atomic boolean

Toast.makeText(getActivity().getApplicationContext(), "both connections done", Toast.LENGTH_SHORT).show();

}}

关于java - 如何知道两个条件何时为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43092444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com