Не удается разрешить символ ‘firebase’, даже с обновленными файлами gradle

#java #android #firebase #firebase-realtime-database

#java #Android #firebase #firebase-realtime-database

Вопрос:

Я получаю сообщение об ошибке, в котором говорится, что не удается разрешить символ ‘firebase’

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

    firebase.auth().onAuthStateChanged(function(user) {
        if (user) {
            // User is signed in.
        } else {
            // No user is signed in.
        }
    });
}
  

Я также обновил свои файлы.gradle, чтобы иметь последние зависимости..

уровень приложения:

 dependencies {
implementation 'com.paypal.sdk:paypal-android-sdk:2.15.3'

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.firebase:firebase-database:16.1.0'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.android.support:design:28.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'
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
  

уровень проекта:

 dependencies {
    classpath 'com.android.tools.build:gradle:3.3.2'

    classpath 'com.google.gms:google-services:4.2.0'

}
  

Заранее благодарю вас!

Комментарии:

1. Похоже, вы вставили код JavaScript в файл Java. Это не сработает.

Ответ №1:

Это происходит потому, что вы используете код javascript и веб-реализацию в классе Java, и это не может работать.

В вашем случае вы должны использовать реализацию Android на java или kotlin.

Комментарии:

1. На самом деле это не эквивалентный код вставленному JS.

2. @DougStevenson вы правы, возможно, он может прикрепить AuthStateListener, но здесь проблема не в том, «какой лучший способ получить текущего пользователя», а просто в использовании другого языка в неправильном контексте.

3. Тогда просто скажите это и не давайте вводящих в заблуждение советов. (Кроме того, OP помечен как java, а не kotlin.)

4. @DougStevenson Чтобы избежать каких-либо вводящих в заблуждение советов, я просто удалил код, поскольку важна не реализация, а только используемый язык. В любом случае я не уверен, что могу напрямую связать реализацию java или kotlin вместо ссылки на главу «управление пользователями» в документации.