当前位置: 首页 > 知识库问答 >
问题:

如何计算查询/DataSnapshot?[副本]

孟哲
2023-03-14
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_start);

        Button run = findViewById(R.id.button2);
        run.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(StartActivity.this, MainActivity.class);
                startActivity(intent);
            }
        });

        FirebaseApp.initializeApp(this);

        watcher = findViewById(R.id.textView3);
        player = findViewById(R.id.textView4);

        onlineCount();
    }
public void onlineCount(){
        //watcher
        refwatcher = FirebaseDatabase.getInstance()
                .getReference("online_list")
                .child("watcher")
                .child(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid()).child("online");

        Query query = refwatcher.orderByChild("online").equalTo(true);


        refwatcher.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                wcount = (int) dataSnapshot.getChildrenCount();

                watcher.setText(getString(wcount) + getText(R.string._29_349_watchers_online));


            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

        //player
        DatabaseReference refplayer = FirebaseDatabase.getInstance().getReference("online_list").child("player");

        refplayer.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                player.setText("1" + getText(R.string._230_player_online));
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }

下面是我的调试代码:

   Caused by: java.lang.NullPointerException
        at java.util.Objects.requireNonNull(Objects.java:203)
        at com.bbinktattoo.nerve.StartActivity.onlineCount(StartActivity.java:65)
        at com.bbinktattoo.nerve.StartActivity.onCreate(StartActivity.java:57)
        at android.app.Activity.performCreate(Activity.java:7326)
        at android.app.Activity.performCreate(Activity.java:7317)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)

暂时还没有答案

 类似资料:
  • 问题内容: 我应该将“如果查询结果行IS = 1进行验证的代码”替换为什么? 我已经尝试过使用num_rows的多种方法,但无法正常工作。 我的PHP代码: 问题答案: 要么

  • 我应该用什么来替换'code TO VERIFY IF QUERY RESULT ROW IS=1'? 我用num_rows尝试了很多种方法,但都行不通。 我的PHP代码:

  • 我正在使用Hibernate作为ORM进行Java EE项目,我已经到了一个阶段,我必须在我的类上执行一些数学计算,比如和、计数、加法和除法。 我有两个解决方案: 选择我的类并在代码中以编程方式应用这些操作 对命名查询进行计算

  • 问题内容: 如何计算MySQL查询返回的行数? 问题答案: 获取查询结果中的总行数… 您可以仅迭代结果并计数。您没有说使用什么语言或客户端库,但是API确实提供了mysql_num_rows函数,该函数可以告诉您结果中的行数。 例如,这在PHP中作为mysqli_num_rows函数公开。编辑问题以提及您正在使用PHP时,这是一个使用mysqli函数的简单示例: 获取符合某些条件的行数… 只需使用

  • 我有一张有股票价格的桌子。我想查询(与一个特定的时间框架),以分析和获得价格作为一个基础100从第一个值的特定时间框架。目前我有: 这让我返回每一行: 日期 本期第一价格 当日价格 该correclty向我显示了日期、每个日期的价格和该期间(基准)的第一个价格。我如何获得一个字段,该字段是期间的每个价格/第一个价格除以的结果? 我试过了 但这似乎行不通。 谢谢!

  • 我创建这段代码是为了创建随机数和运算符,但它如何计算并显示结果呢? 它现在做的是,例如打印出来:4+1-3或9*2-8等。我不知道如何计算出4+1-3或9*2-8的结果,然后打印出来。