首页 > 解决方案 > Android Studio 应用程序在注册屏幕后崩溃

问题描述

注册用户类:

    private void getUserInfo() {


    getUsersRef("stepgoal").addListenerForSingleValueEvent(new ValueEventListener() {
        public void onDataChange(DataSnapshot dataSnapshot) {
            mSeries1 = Float.parseFloat(String.valueOf(dataSnapshot.getValue()));
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
        }
    });

    getUsersRef("caloriegoal").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            mSeries2 = Float.parseFloat(String.valueOf(dataSnapshot.getValue()));
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
        }
    });

我遇到的问题是,在输入用户的详细信息(例如姓名、电子邮件、注册屏幕的密码)后注册用户(使用 Firebase)时,应用程序崩溃了。一个已经注册的用户可以成功登录,但是对于一个新用户来说,它在到达 EnterInfo 类之前就崩溃了,他们应该在其中输入有关自己的详细信息,例如体重、身高等。

控制台错误:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.Conor.Ryan.GetFitOrDieFryin, PID: 16024
    java.lang.NumberFormatException: Invalid float: "null"
        at java.lang.StringToReal.invalidReal(StringToReal.java:63)
        at java.lang.StringToReal.initialParse(StringToReal.java:164)
        at java.lang.StringToReal.parseFloat(StringToReal.java:323)
        at java.lang.Float.parseFloat(Float.java:306)
        at com.Conor.Ryan.GetFitOrDieFryin.LoginActivity$6.onDataChange(LoginActivity.java:189)
        at com.google.firebase.database.Query$1.onDataChange(com.google.firebase:firebase-database@@19.2.1:179)
        at com.google.firebase.database.core.ValueEventRegistration.fireEvent(com.google.firebase:firebase-database@@19.2.1:75)

PS:我的项目连接到两个数据库,但我无法删除未使用的 Cloud-Firestore 一个。

任何帮助都会很棒,这是我大学的最后一年项目。

Firebase 数据库控制台

标签: androidfirebase-realtime-database

解决方案


推荐阅读