Не удается загрузить .obj и .mtl

Как говорили другие: все данные из базы данных Firebase считываются асинхронно. Легче всего это увидеть, добавив еще несколько операторов журнала в ваш код:

Log.d(TAG, "Before attaching listener");
mDatabase.child("Admin")
        .child("Info")
        .child(uid)
        .addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        Log.d(TAG, "In listener's onDataChange");
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.w(TAG, "getUser:onCancelled", databaseError.toException());
    }
});
Log.d(TAG, "After attaching listener");

В отличие от того, что вы можете ожидать, вывод этого:

Перед подключением слушателя

После подключения слушателя

Внутри прослушивателя onDataChange

. Способ борьбы с асинхронным поведением состоит в том, чтобы пересмотреть вашу проблему.

В настоящий момент ваш код написан: сначала мы загружаем данные, затем записываем его.

Если вы переделаете проблему на: «всякий раз, когда данные загружаются, мы заносим их в журнал» , вы получите код следующим образом:

mDatabase.child("Admin")
        .child("Info")
        .child(uid)
        .addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        UserDetails info = dataSnapshot.getValue(UserDetails.class);
        Log.d(TAG, String.valueOf(dataSnapshot));

        mName = info.getName();
        Log.d(TAG, mName);

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.w(TAG, "getUser:onCancelled", databaseError.toException());
    }
});

Таким образом, весь код, который нуждается в данных, должен находиться внутри onDataChange(). Кроме того, вы можете создать свой собственный метод обратного вызова и вызвать его из onDataChange(). Но логика всегда одна и та же: код, который нуждается в данных, запускается из onDataChange() , когда данные доступны .

0
задан gman 28 March 2019 в 07:22
поделиться

1 ответ

Два вопроса после первого взгляда:

  1. URL-адреса неверны. Перейдите на панель ресурсов, чтобы получить правильные URL-адреса. Исправленный глюк:

https://glitch.com/edit/#!/sunny-ceramic?path=index.html:15:101

  1. Текстурные изображения отсутствуют BisonPlains_BaseColor.png

Первое, что я рекомендую, это проверить на панели сети браузера и найти 404 ошибки. Перед дальнейшим расследованием убедитесь, что все файлы загружены, как и ожидалось.

0
ответ дан Diego Marcos 28 March 2019 в 07:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: