StackOverFlowError в Android при загрузке в хранилище - PullRequest
0 голосов
/ 18 ноября 2018

FATAL EXCEPTION: main Процесс: com.appmaster.akash.messageplus, PID: 10668 java.lang.StackOverflowError: размер стека 8 МБ в 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) на 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)

11-18 15: 15: 40.467 10668-10668 / com.appmaster.akash.messageplus E / AndroidRuntime: на 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 (Неизвестный Соуrce: 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) на 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)

11-18 15: 15: 42.048 1829-2174 / system_process E / TaskPersister: Ошибка файла при доступе к каталогу Recets (каталог не существует?).

11-18 15: 15: 47.882 1829-1855 / system_process E / memtrack: Не удалось загрузить memtrackmodule

11-18 15: 15: 47.897 1829-1855 / system_process E / memtrack: Не удалось загрузить модуль memtrack

11-18 15: 15: 47.915 1829-1855 / system_process E/ memtrack: не удалось загрузить модуль memtrack

11-18 15: 15: 47.926 1829-1855 / system_process E / memtrack: не удалось загрузить модуль memtrack

11-18 15:15: 54.964 1829-2174 / system_process E / TaskPersister: Ошибка файла при доступе к каталогу recents (каталог не существует?).

11-18 15: 15: 56.213 1829-1855 / system_process E / memtrack: Couldn 't загрузить модуль Memtrack

Код

 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);
    }
}

Я даже не знаю, что означает ошибка.Ошибка переполнения стека.Может ли кто-нибудь помочь мне.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Я проверил ваш код и думаю, что ошибка произошла в 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();
        }
    }
};
0 голосов
/ 18 ноября 2018

Похоже, что происходит неостановленная рекурсия.Есть ли у вас какие-либо рекурсивные вызовы в этих методах?(И как называется первый метод?)

Ошибка StackOverflowError возникает, когда стек вызовов функций становится слишком большим (например, когда существует слишком много рекурсивных вызовов).

...