如何初始化Firebase存储?

问题描述:

引起:java.lang.IllegalStateException:默认FirebaseApp在此进程中未初始化com.augmentedreality.projectar。确保首先调用FirebaseApp.initializeApp(Context)。如何初始化Firebase存储?

对于过去的48小时里,我一直停留在这个例外,并且至今没有线索什么可能会造成这一点,我提到的所有这些问题的答案:

但问题仍然存在。我正在使用Firebase存储以及Firebase数据库。我使用Firebase存储使用Service下载图像。 Service与Github [here]的Firebase快速入门示例相同。

现在,除了在该行抛出:

mStorageRef = FirebaseStorage.getInstance().getReferenceFromUrl("https://firebasestorage.googleapis.com/v0/b/xxxxxxx-xx-xxxxxx.appspot.com/o/Coca-Cola.jpg?alt=media&token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"); 

基于对上述提到的问题的答案,我已经做了以下修改:

1)AppMain.java

public class AppMain extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     FirebaseApp.initializeApp(this); 
     Firebase.setAndroidContext(this); 
     //if(!FirebaseApp.getApps(this).isEmpty()) { 
     // FirebaseDatabase.getInstance().setPersistenceEnabled(true); 
     //} 
    } 
} 

2)依赖关系

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.google.firebase:firebase-core:9.6.1' 
    compile 'com.google.firebase:firebase-database:9.6.1' 
    compile 'com.firebase:firebase-client-android:2.5.2+' 
    compile 'com.google.firebase:firebase-storage:9.6.1' 
    compile 'com.google.android.gms:play-services:10.0.0' 
} 

问题:如何解决这个问题?

+0

您可以下载整个快速入门应用程序,并将自己的代码移入其中,而不必将其拉开以使用自己的代码。 https://github.com/firebase/quickstart-android/tree/master/storage –

删除

FirebaseApp.initializeApp(this); 
Firebase.setAndroidContext(this); 
compile 'com.firebase:firebase-client-android:2.5.2+' 

你不需要他们..

使用

compile 'com.google.firebase:firebase-core:10.0.1' 
compile 'com.google.firebase:firebase-database:10.0.1' 
compile 'com.google.firebase:firebase-storage:10.0.1' 
compile 'com.google.android.gms:play-services:10.0.1' 

private DatabaseReference mDatabase; 
// ... 
mDatabase = FirebaseDatabase.getInstance().getReference(); 

代替, 为完整的说明 - Firebase Docs

+0

这没有什么区别! – OBX

+2

也删除'编译'com.firebase:firebase-client-android:2.5.2 +''。不要混用Firebase版本2.x和> = 9。 –

+0

@FrankvanPuffelen你是对的。回答编辑。 – Nirel

而不是通过修改这个代码, 你sh应该更新Android Studio版本。可能是你的问题会解决。