マイアプリケーションクラスIは、アプリケーションからログアウトして、これは私はアンドロイドのアプリケーションクラスにエラーがあります。私はauthをチェックしています!= nullでも、if文の中に入りますか?以下のような
public class WhatsApp extends Application {
private DatabaseReference userReference;
private FirebaseAuth auth;
@Override
public void onCreate() {
super.onCreate();
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Picasso.Builder builder = new Picasso.Builder(this);
builder.downloader(new OkHttpDownloader(this, Integer.MAX_VALUE));
Picasso built = builder.build();
built.setIndicatorsEnabled(true);
built.setLoggingEnabled(true);
Picasso.setSingletonInstance(built);
if(FirebaseAuth.getInstance() != null) {
userReference = FirebaseDatabase.getInstance().getReference().child("Users").child(auth.getCurrentUser().getUid());
userReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot != null) {
userReference.child("online").onDisconnect().setValue(false);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
} else {
}
}
}
Imは
java.lang.RuntimeException以下のようなエラーを取得して起こるログインしよう:アプリケーション COMを作成することができません。 example.crowderia.whatsapp.Service.WhatsApp: java.lang.NullPointerException:仮想メソッド を呼び出そうとしました。 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()'がnull android.app.ActivityThread $ H.handleMessageでオブジェクト android.app.ActivityThread.handleBindApplication(ActivityThread.java:4999)における基準 android.app.ActivityThread.access $ 1600(ActivityThread.java:188) で( (ActivityThread.java:1591) とandroid.os.Handler.dispatchMessage(Handler.java:111) (android.os.Looper.loop(Looper.java:210)) (android.app.ActivityThread.main(ActivityThread。 java:5839) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method.java:372)java.langで:によって引き起こさcom.android.internal.os.ZygoteInit.mainで com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1113) (ZygoteInit.java:879) で.NullPointerException: com.example.crowderia.whatsappでヌル オブジェクト参照 上の仮想メソッドを呼び出す試み 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' .Service.WhatsApp.onCreate(WhatsApp.java:39) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)
のインスタンスを試してみてください。クラッシュを解決したら教えてください – Royz