Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用Firebase setUserProperty时出现NullPointerException_Java_Android_Firebase_Firebase Analytics - Fatal编程技术网

Java 调用Firebase setUserProperty时出现NullPointerException

Java 调用Firebase setUserProperty时出现NullPointerException,java,android,firebase,firebase-analytics,Java,Android,Firebase,Firebase Analytics,我试图用GoogleFirebase收集关于用户输入的数据的信息,但我一直收到一个空指针异常,特别是 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void com.google.firebase.analytics.FirebaseAnalytics.setUserProperty(java.lang.String,java.lang.String)” 代码如下: public class Analytics extends Activity {

我试图用GoogleFirebase收集关于用户输入的数据的信息,但我一直收到一个空指针异常,特别是

java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void com.google.firebase.analytics.FirebaseAnalytics.setUserProperty(java.lang.String,java.lang.String)”

代码如下:

public class Analytics extends Activity {
    FirebaseAnalytics analytics;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        analytics = FirebaseAnalytics.getInstance(Analytics.this);
    }

    public void timer(int time) {
        String stringTime = String.valueOf(time);
        analytics.setUserProperty("Timeset", stringTime);
    }
}
在另一个文件中调用:

Analytics analytics = new Analytics();
analytics.timer(10);

您在哪里初始化了stringTime变量?异常是因为未初始化的stringTime变量。

您在哪里初始化了stringTime变量?异常是由于未初始化的stringTime变量。

如果您试图通过正常方式实例化该活动(
Analytics=new Analytics();
),将不会调用
onCreate()
方法。

public class Analytics {
    FirebaseAnalytics analytics;

    public Analytics(Context context)
    {
        analytics = FirebaseAnalytics.getInstance(Analytics.this);
    }


    public void timer(int time) {
        String stringTime = String.valueOf(time);
        analytics.setUserProperty("Timeset", stringTime);
    }
}
从其他活动中调用它

Analytics analytics = new Analytics(Activity.this);
analytics.timer(10);

如果您试图通过正常方式实例化该活动(
Analytics Analytics=new Analytics();
),将不会调用
onCreate()
方法。

public class Analytics {
    FirebaseAnalytics analytics;

    public Analytics(Context context)
    {
        analytics = FirebaseAnalytics.getInstance(Analytics.this);
    }


    public void timer(int time) {
        String stringTime = String.valueOf(time);
        analytics.setUserProperty("Timeset", stringTime);
    }
}
从其他活动中调用它

Analytics analytics = new Analytics(Activity.this);
analytics.timer(10);

谢谢你的回答!不幸的是,我调用的文件
Analytics Analytics=new Analytics()
是一个片段,因此“Activity”关键字不起作用。有解决方法吗?您可以使用
getActivity()
获取碎片谢谢您的回答!不幸的是,我调用的文件
Analytics Analytics=new Analytics()
是一个片段,因此“Activity”关键字不起作用。有解决方法吗?您可以使用
getActivity()
作为片段