Java 调用Firebase setUserProperty时出现NullPointerException
我试图用GoogleFirebase收集关于用户输入的数据的信息,但我一直收到一个空指针异常,特别是 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void com.google.firebase.analytics.FirebaseAnalytics.setUserProperty(java.lang.String,java.lang.String)” 代码如下: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 {
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()
作为片段