java - 我无法解决尝试在空对象引用上调用虚拟方法 'java.lang.String com.google.firebase.auth.FirebaseUser.getUid()'

标签 java android

我在我的处理程序上面临上述问题,该处理程序每​​次都会检查您是否登录,但我面临这个问题,我该如何解决?

伙计们,我已经尝试了几种方法,但我仍然遇到同样的问题,这是每次都会检查的启动屏幕,因此应用程序崩溃了。

这是我的欢迎屏幕

```public class WelcomeScreen extends AppCompatActivity {

    private ImageView logo;
    private FirebaseAuth firebaseAuth;
    private FirebaseDatabase firebaseDatabase;
    private static int SPLASH_TIME_OUT = 5000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setFullscreen ();
        setContentView (R.layout.welcomescreen);
        firebaseAuth = FirebaseAuth.getInstance ();
        final String user_id = firebaseAuth.getCurrentUser ().getUid ();
         final FirebaseUser firebaseUser = firebaseAuth.getInstance ().getCurrentUser ();
        firebaseDatabase = FirebaseDatabase.getInstance ();
       final DatabaseReference databaseReference = firebaseDatabase.getReference ().child ("Users").child (user_id);





        logo= findViewById (R.id.logoocaap);

        Animation animation = AnimationUtils.loadAnimation (this,R.anim.splashscreen);
        logo.startAnimation (animation);



       new Handler ().postDelayed (new Runnable () {
           @Override
           public void run() {


               //check if there's internet connection


               checkConnection();



               if(firebaseUser != null)
               {

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

最佳答案

首先检查 FirebaseUser 是否为 null,然后尝试获取 UID。检查以下内容:

firebaseAuth = FirebaseAuth.getInstance ();
final FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
String user_id = "";

if(firebaseUser != null)
    user_id = firebaseUser.getUid ();

当前您尝试在 FirebaseUser 上获取 UID,该 UIDnull

关于java - 我无法解决尝试在空对象引用上调用虚拟方法 'java.lang.String com.google.firebase.auth.FirebaseUser.getUid()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59155530/

相关文章:

java - 如果 RecyclerView 中的列表为空,我想显示带有空消息的 Toast

java - 如何动态更改 JFrame 内的 JPanel?

Java:如何将带有月份名称的字符串转换为日期时间?

java - 测试两个 Java 对象是否可以相互比较

java - 生成全对测试的测试

android - 如何在 Android 中滑动动画并使 View 从右向左可见

java - Android OpenCV 创建矩形

java - 当我尝试在虚拟设备上启动它时出现 tictactoe 错误

android - Spring Rest Template Put方法无效,为什么?

java - 如何为 ImageButton 添加阴影?