请帮我修改一下这段代码,我还是不明白为什么我会这样,我编辑了gradle文件,又编辑了java文件但还是不行,请帮我修复一下。p/s:这是我第一次发布帮助,所以我很感激和感激
Java文件:
在Java文件中,我试图像在Google的Firebase页面上那样声明它,但仍然得到错误
package Database;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.io.FileInputStream;
import java.io.IOException;
public class DemoFirebase {
public static void main(String\[\] args) throws IOException {
FileInputStream serviceAccount = new FileInputStream("my_JSon_file");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl("my_database_url")
.build();
FirebaseApp.initializeApp(options);
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("User");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Object value = dataSnapshot.getValue();
System.out.println("Value is: " + value);
}
@Override
public void onCancelled(DatabaseError error) {
System.out.println("Error: " + error.getMessage());
}
});
}
}
Gradle文件:在这个Gradle文件中,我添加了可能需要的库,但在Java文件中仍然失败
dependencies {
implementation 'com.google.firebase:firebase-analytics:21.2.2'
implementation platform('com.google.firebase:firebase-bom:31.5.0')
implementation 'com.google.cloud:google-cloud-storage:2.14.0'
implementation 'com.google.firebase:firebase-admin:9.1.1'
implementation 'com.google.firebase:firebase-analytics'
implementation('com.google.firebase:firebase-appcheck-debug:16.1.2')
implementation('com.google.firebase:firebase-inappmessaging:20.3.1')
implementation('com.google.firebase:firebase-inappmessaging-display:20.3.1')
implementation 'com.google.auth:google-auth-library-credentials:1.12.1'
implementation 'com.google.auth:google-auth-library-oauth2-http:1.12.1'
implementation 'com.google.firebase:firebase-database:20.2.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.3.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
1条答案
按热度按时间nbysray51#
FirebaseOptions.Builder类不包含任何
.setCredentials()
方法。因此,您无法在Builder
类型的对象上调用这样的方法,因此出现错误。另一方面,Firebase Admin SDK确实包含这样的方法,但不幸的是,您不能在同一个项目中使用Admin SDK和Firebase的常规Android SDK。
如果您想使用Firebase Admin SDK中的某些功能,则应考虑创建Cloud Function和calling it from your Android application's code。