Ошибка инициализации API Firebase - Не обновляется представление списка из Firebase - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь использовать Firebase UI.Я не получаю никаких сбоев, но все еще listView не показывает никаких данных.Вы можете перейти по ссылке для

Ссылка для данных Firebase - https://fireui -78226.firebaseio.com / Пользователи

Использованные библиотеки -

зависимости {реализация fileTree (dir: 'libs', включает: ['* .jar']) реализация 'com.android.support:appcompat-v7:28.0.0-alpha3' реализация 'com.android.support.constraint: constraint-layout: 1.1.2 'реализация' com.google.firebase: firebase-database: 11.8.0 'реализация' com.firebaseui: firebase-ui-auth: 4.0.0 'реализация' com.firebaseui: firebase-ui-database: 4.0.0 'реализация' com.firebaseui: firebase-ui-auth: 4.0.0 'testImplementation' junit: junit: 4.12 'androidTestImplementation' com.android.support.test: runner: 1.0.2 'androidTestImplementation' com.android.support.test.espresso: espresso-core: 3.0.2 '}

FirebaseDatabase.getInstance().getReferenceFromUrl("https://fireui-78226.firebaseio.com/Users");

Так как это общедоступное, но все еще не обновляет представление списка.Любая помощь будет отличной.

    ListView listView;
    DatabaseReference ref;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listView = findViewById(R.id.listView);

        ref  = FirebaseDatabase.getInstance().getReferenceFromUrl("https://fireui-78226.firebaseio.com/Users");
        Query query = FirebaseDatabase.getInstance().getReferenceFromUrl("https://fireui-78226.firebaseio.com/Users");
        FirebaseListOptions<String> options = new FirebaseListOptions.Builder<String>()
                .setQuery(query, String.class)
                .setLayout(android.R.layout.simple_list_item_1)
                .build();

        FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(options) {
            @Override
            protected void populateView(View v, String model, int position) {
                TextView textView = v.findViewById(android.R.id.text1);
                textView.setText(model);

            }
        };

        listView.setAdapter(firebaseListAdapter);
    }
}

Сообщение об ошибке -

E/FirebaseApp: Firebase API initialization failure.
               java.lang.reflect.InvocationTargetException
                   at java.lang.reflect.Method.invoke(Native Method)
                   at com.google.firebase.FirebaseApp.zza(SourceFile:739)
                   at com.google.firebase.FirebaseApp.zze(SourceFile:709)
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:328)
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:294)
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:281)
                   at com.google.firebase.provider.FirebaseInitProvider.onCreate(SourceFile:37)
                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
                   at com.google.firebase.provider.FirebaseInitProvider.attachInfo(SourceFile:31)
                   at android.app.ActivityThread.installProvider(ActivityThread.java:5852)
                   at android.app.ActivityThread.installContentProviders(ActivityThread.java:5444)
                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5383)
                   at android.app.ActivityThread.-wrap2(ActivityThread.java)
                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541)
                   at android.os.Handler.dispatchMessage(Handler.java:102)
                   at android.os.Looper.loop(Looper.java:154)
                   at android.app.ActivityThread.main(ActivityThread.java:6123)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
                Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/zzbq;
                   at com.google.android.gms.internal.zzcim.zzdx(Unknown Source)
                   at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source)
                   at java.lang.reflect.Method.invoke(Native Method) 
                   at com.google.firebase.FirebaseApp.zza(SourceFile:739) 
                   at com.google.firebase.FirebaseApp.zze(SourceFile:709) 
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:328) 
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:294) 
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:281) 
                   at com.google.firebase.provider.FirebaseInitProvider.onCreate(SourceFile:37) 
                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1751) 
                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1726) 
                   at com.google.firebase.provider.FirebaseInitProvider.attachInfo(SourceFile:31) 
                   at android.app.ActivityThread.installProvider(ActivityThread.java:5852) 
                   at android.app.ActivityThread.installContentProviders(ActivityThread.java:5444) 
                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5383) 
                   at android.app.ActivityThread.-wrap2(ActivityThread.java) 
                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541) 
                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                   at android.os.Looper.loop(Looper.java:154) 
                   at android.app.ActivityThread.main(ActivityThread.java:6123) 
                   at java.lang.reflect.Method.invoke(Native Method) 
                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 
                Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.zzbq" on path: DexPathList[[zip file "/data/app/com.example.vivanksharma.fireui-2/base.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.vivanksharma.fireui-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.vivanksharma.fireui-2/lib/arm, /system/lib, /vendor/lib]]
                   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                   at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                   at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                   at com.google.android.gms.internal.zzcim.zzdx(Unknown Source) 
                   at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source) 
                   at java.lang.reflect.Method.invoke(Native Method) 
                   at com.google.firebase.FirebaseApp.zza(SourceFile:739) 
                   at com.google.firebase.FirebaseApp.zze(SourceFile:709) 
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:328) 
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:294) 
                   at com.google.firebase.FirebaseApp.initializeApp(SourceFile:281) 
                   at com.google.firebase.provider.FirebaseInitProvider.onCreate(SourceFile:37) 
                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1751) 
                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1726) 
                   at com.google.firebase.provider.FirebaseInitProvider.attachInfo(SourceFile:31) 
                   at android.app.ActivityThread.installProvider(ActivityThread.java:5852) 
                   at android.app.ActivityThread.installContentProviders(ActivityThread.java:5444) 
                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5383) 
                   at android.app.ActivityThread.-wrap2(ActivityThread.java) 
                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541) 
                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                   at android.os.Looper.loop(Looper.java:154) 
                   at android.app.ActivityThread.main(ActivityThread.java:6123) 
                   at java.lang.reflect.Method.invoke(Native Method) 
                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 

1 Ответ

0 голосов
/ 24 июня 2018

Попробуйте это:

Под этой строкой:

listView.setAdapter(firebaseListAdapter);

Добавить эту строку:

firebaseListAdapter.startListening();

Если это сработало, не забудьте прекратить прослушивание в соответствии с жизненным циклом вашей деятельности, используя это:

firebaseListAdapter.stopListening();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...