У меня есть код:
package com.codex.touchface;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.Random;
public class SplashActivity extends AppCompatActivity {
public Intent activity_splash1;
public TextView textDown;
public int get_ban;
public int ban;
public int signup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
textDown = findViewById(R.id.textDown);
Random random = new Random();
int text_downRandom = random.nextInt(4);
if (text_downRandom == 1){
textDown.setText("#общайся");
}
if (text_downRandom == 2){
textDown.setText("#обсуждай");
}
if (text_downRandom == 3){
textDown.setText("#продавай");
}
if (text_downRandom == 4){
textDown.setText("#покупай");
}
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference().child("User");
FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser cUser = mAuth.getCurrentUser();
if (cUser != null) {
final String id = mAuth.getCurrentUser().getUid();
myRef.child(id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
UserGet userGet = dataSnapshot.getValue(UserGet.class);
get_ban = userGet.getBan();
}
if (get_ban == 0) {
ban = 2;
} else {
ban = 1;
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
else {
signup = 1;
}
Handler handler = new Handler();
handler.postDelayed(() -> {
if (ban == 2){
activity_splash1 = new Intent(getApplicationContext(), Main.class);
}
if (ban == 1){
activity_splash1 = new Intent(getApplicationContext(), Ban.class);
}
if (signup == 1){
activity_splash1 = new Intent(getApplicationContext(), SignIn.class);
}
startActivity(activity_splash1);
overridePendingTransition(0,0);
}, 1000);
}
}
При запуске приложения происходит ошибка :
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codex.touchface, PID: 9126
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.toString()' on a null object reference
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1682)
at android.app.Activity.startActivityForResult(Activity.java:5258)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:675)
at android.app.Activity.startActivityForResult(Activity.java:5216)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:662)
at android.app.Activity.startActivity(Activity.java:5587)
at android.app.Activity.startActivity(Activity.java:5555)
at com.codex.touchface.SplashActivity.lambda$onCreate$0$SplashActivity(SplashActivity.java:88)
at com.codex.touchface.-$$Lambda$SplashActivity$e5v8bUh7wXNBSzQqMlH-8kdc1jQ.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
I/Process: Sending signal. PID: 9126 SIG: 9
Android Studio указывает на startActivity(activity_splash1);
Можете помочь пожалуйста. Не могу разобраться с этой ошибкой уже более месяца.
Intent не имеет никакого присвоения, потому что скорее всего никакой из последних условий If не выполняется. Отлогируй все случаи и поймешь какой кусок не работает
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть две сущности: Customer и CustomerOrderЗависимость между ними One-to-Many
Мне нужно получить ширину и высоту экрана на устройстве, на котором сейчас выполняется приложениеКак мне это сделать?
Как мне дождаться выполнение асинхронного метода? Есть такой метод ServergetData(DataListener listener); Данные загружаются в отдельном потоке, и по завершению...
Здесь на странице регистрации я хочу передать допустим имя в следующее окно вот так: