При запуске приложения Firebase происходит сбой при инициализации - PullRequest
0 голосов
/ 06 февраля 2019

Когда я добавляю это

        demoRef = FirebaseDatabase.getInstance().getReference().child("txt");

Мой сбой приложения, и когда я удаляю его, работа приложения может кому-то помочь.

Я пробовал много способов, таких как изменение версии базы данных, но ничегоработать, и это займет у меня более 3 недель без какого-либо решения

Это моя основная деятельность

открытый класс MainActivity расширяет действие {

private HashMap <String,Object>map=new HashMap();
private Button send;
private EditText edit;
private DatabaseReference demoRef;

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

    FirebaseApp.initializeApp(this);
    demoRef = FirebaseDatabase.getInstance().getReference().child("txt");

    send=findViewById(R.id.mainButton1);
    edit=findViewById(R.id.mainEditText1);


}

}

Это моя сборка

dependencies {
    //compile 'com.google.firebase:firebase-database:+'

    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.google.firebase:firebase-database:16.0.1'
    compile 'com.google.firebase:firebase-core:16.0.1'



}
apply plugin: 'com.google.gms.google-services'

Это моя Logcat

FATAL EXCEPTION: main
Process: com.firebase, PID: 5291
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.firebase/com.firebase.MainActivity}: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.firebase. Make sure to call FirebaseApp.initializeApp(Context) first.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6251)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.firebase. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(SourceFile:218)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.firebase.MainActivity.onCreate(MainActivity.java:27)
at android.app.Activity.performCreate(Activity.java:6677)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
... 9 more
Shutting down VM
FATAL EXCEPTION: main
Process: com.firebase, PID: 8039
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.firebase/com.firebase.MainActivity}: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.firebase. Make sure to call FirebaseApp.initializeApp(Context) first.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6251)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.firebase. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(SourceFile:218)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.firebase.MainActivity.onCreate(MainActivity.java:27)
at android.app.Activity.performCreate(Activity.java:6677)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
... 9 more

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

удалите FirebaseApp.initializeApp(this); из MainActivity и включите его в класс Application вашего приложения. Смотрите здесь .

Кстати, какой уровень API вы тестируете?Начиная с Marshmallow и далее, вам нужно будет добавить разрешения времени выполнения в ваше приложение.и вам, вероятно, нужно WRITE_STORAGE разрешение для использования локальной базы данных.

Надеюсь, это поможет!

0 голосов
/ 06 февраля 2019

Удалите

FirebaseApp.initializeApp(this);

и просто дайте ссылку, подобную этой

private HashMap <String,Object>map=new HashMap();
private Button send;
private EditText edit;
private DatabaseReference demoRef;

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

    demoRef = FirebaseDatabase.getInstance().getReference().child("txt");

    send=findViewById(R.id.mainButton1);
    edit=findViewById(R.id.mainEditText1);


}

И убедитесь, что у вас есть разрешение ИНТЕРНЕТ в вашем манифесте

...