如何解决Android Studio代码中的检索错误?

时间:2019-08-10 10:27:30

标签: android android-studio

enter image description here我已经在Firebase上使用了身份验证。认证后,用户只能填写一次表格。如果表单已经填写(用户ID存在),我想跳过该活动。以下是验证后使应用程序崩溃的代码:

<div style="position:relative; height:160px;width:270px;margin: 10px auto;">
  <div style="float: left;">
    <div style="font-size:150px;line-height:100px;">40%</div>
    <div style="font-size:50px;">SOME TEXT</div>
  </div>
  <div style="float:right; height:100%;">

    <div id="arrow-div" style="width:10px; height: 100%; 
      background: linear-gradient(0deg, #ec0c05, #ffbd5f , #13a854 );
      border-radius: 10px;
      "></div>
  </div>
</div>
<div style="clear:both"></div>

       

2 个答案:

答案 0 :(得分:0)

您的代码崩溃,因为prof为null,并且您尝试获取其id以避开

 Profile prof= dataSnapshot.getValue(Profile.class);
 if(prof==null||TextUtils.isEmpty(prof.id)){
     startActivity(new Intent(SecondActivity.this,MainActivity.class));
     return;
  }
 String check= prof.id;

答案 1 :(得分:0)

我同时使用 getReference(“用户” child(“用户”

String ret_id= firebaseAuth.getUid();
        FirebaseDatabase.getInstance().getReference().child("users").child(ret_id).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                String ret_name=dataSnapshot.child("name").getValue().toString();
                String ret_rid=dataSnapshot.child("rid").getValue().toString();
                String ret_phone=dataSnapshot.child("phone").getValue().toString();

                if(!ret_rid.isEmpty())
                {
                    startActivity(new Intent(SecondActivity.this,MainActivity.class));
                }
            }