android中的StackOverflowerr在上载到存储时出错
致命异常:主 进程:com.appmaster.akash.messageplus,PID:10668 java.lang.StackOverflower错误:堆栈大小为8MB 位于java.lang.reflect.Method.invoke(本机方法) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:128) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0)android中的StackOverflowerr在上载到存储时出错,android,firebase,firebase-authentication,stack-overflow,Android,Firebase,Firebase Authentication,Stack Overflow,致命异常:主 进程:com.appmaster.akash.messageplus,PID:10668 java.lang.StackOverflower错误:堆栈大小为8MB 位于java.lang.reflect.Method.invoke(本机方法) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:128) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.goog
public class MainActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener {
private ImageView photoImageView;
private TextView nameTextView;
private TextView emailTextView;
private TextView idTextView;
private String UID;
FirebaseUser user;
String downloadUrl;
private GoogleApiClient googleApiClient;
private FirebaseAuth mAuth;
private String mEmail;
SubmitButton save;
private StorageReference mStorage;
private FirebaseUser current_user;
private DatabaseReference mDatabaseReference;
private FirebaseAuth firebaseAuth;
private FirebaseAuth.AuthStateListener firebaseAuthListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
mAuth = FirebaseAuth.getInstance();
current_user = mAuth.getCurrentUser();
save = (SubmitButton) findViewById(R.id.save);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, HomeScreen.class);
startActivity(intent);
finish();
}
});
SharedPreferences sp = getSharedPreferences("com.appmaster.akash.messageplus", Context.MODE_PRIVATE);
boolean hasUsername = sp.getBoolean("signed_in", false);
if (hasUsername) {
Intent intent = new Intent(MainActivity.this, HomeScreen.class);
startActivity(intent);
finish();
}
photoImageView = (ImageView) findViewById(R.id.imageView);
nameTextView = (TextView) findViewById(R.id.name);
emailTextView = (TextView) findViewById(R.id.email);
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
googleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
firebaseAuth = FirebaseAuth.getInstance();
firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
loadUserInformation(user);
} else {
goLogInScreen();
}
}
};
}
private void addData() {
HashMap<String, Object> userMap = new HashMap<>();
userMap.put("Name", current_user.getPhotoUrl());
userMap.put("Email", current_user.getEmail());
userMap.put("Status", "Just started using Message+");
userMap.put("Quote", "Yolo");
userMap.put("Image", current_user.getPhotoUrl());
userMap.put("Thumb_image", "Default");
userMap.put("Online", ServerValue.TIMESTAMP);
userMap.put("TokenID", FirebaseInstanceId.getInstance().getToken());
FirebaseDatabase.getInstance().getReference().child("UserData").child(current_user.getUid()).updateChildren(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(getApplicationContext(), "ProfileSettings Successfully Updated", Toast.LENGTH_SHORT).show();
}
}
});
SharedPreferences sp = getSharedPreferences("com.appmaster.akash.messageplus", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean("signed_in", true); //save that the user enters username
editor.apply();
}
private void loadUserInformation(FirebaseUser user) {
nameTextView.setText(user.getDisplayName());
emailTextView.setText(user.getEmail());
Glide.with(this).load(user.getPhotoUrl()).into(photoImageView);
}
@Override
protected void onStart() {
super.onStart();
firebaseAuth.addAuthStateListener(firebaseAuthListener);
addData();
}
private void goLogInScreen() {
Intent intent = new Intent(MainActivity.this, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
public void proceed(View view){
Intent intent = new Intent(MainActivity.this, SetUpProfileName.class);
intent.putExtra("Email",user.getEmail());
startActivity(intent);
finish();
SharedPreferences sp = getSharedPreferences("com.appmaster.akash.messageplus", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean("signed_in", true); //save that the user enters username
editor.apply();
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
@Override
protected void onStop() {
super.onStop();
if (firebaseAuthListener != null) {
firebaseAuth.removeAuthStateListener(firebaseAuthListener);
}
}
firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
user = firebaseAuth.getCurrentUser(); // THIS LINE WAS PROBLEM
if (user != null) {
loadUserInformation(user);
} else {
goLogInScreen();
}
}
};