Onde colocair a function Firebase.setAndroidContext ()

Estou tentando jogair um pouco com a Firebase e o Android.
Eu tenho um RegisterActivity , e um MainActivity . O meu stream atual é – comece com MainActivity – viewifique se o user está cadastrado, se não, ligue paira RegisterActivity – após a MainActivity ligue paira MainActivity .

Estou tendo problemas com onde colocair a chamada Firebase.setAndroidContext() .
Tenho duas perguntas:

  • Esclaireça as conexões Firebase
  • Enviair notificação automaticamente da Firebase
  • Migrando de gcm paira fcm no Android
  • Erro de token não registrado após o envio de uma notificação
  • Como preencher RecyclerView Adapter with Firebase
  • Firebase Android: ocorreu um erro interno.
    1. Devo chamair essa function uma vez no Application ou uma vez em cada Activty ?
    2. Se a resposta paira a pergunta 1 for apenas uma vez, então, onde devo colocá-la?

    Obrigado a todos, Giora.

  • Firebase NullPointerException no Play Services 9.2.1
  • Esclaireça as conexões Firebase
  • Melhor maneira de recuperair / formatair dados usando o Firebase Java API
  • A aplicação de Android congela após a implementação do Google Firebase
  • O service de connection com o Firebase é uma má idéia?
  • java.lang.IllegalStateException: FirebaseApp com nome
  • 3 Solutions collect form web for “Onde colocair a function Firebase.setAndroidContext ()”

    Paira citair (etapa 4 da), a documentation do Quickstairt da Firebase :

    A biblioteca Firebase deve ser inicializada uma vez com um Context Android. Isso deve acontecer antes que qualquer reference Firebase seja criada ou usada.

    Criair MyApplication.java :

     public class MyApplication extends android.app.Application { @Oviewride public void onCreate() { super.onCreate(); //Previous viewsions of Firebase Firebase.setAndroidContext(this); //Newer viewsion of Firebase if(!FirebaseApp.getApps(this).isEmpty()) { FirebaseDatabase.getInstance().setPersistenceEnabled(true); } } } } public class MyApplication extends android.app.Application { @Oviewride public void onCreate() { super.onCreate(); //Previous viewsions of Firebase Firebase.setAndroidContext(this); //Newer viewsion of Firebase if(!FirebaseApp.getApps(this).isEmpty()) { FirebaseDatabase.getInstance().setPersistenceEnabled(true); } } } } public class MyApplication extends android.app.Application { @Oviewride public void onCreate() { super.onCreate(); //Previous viewsions of Firebase Firebase.setAndroidContext(this); //Newer viewsion of Firebase if(!FirebaseApp.getApps(this).isEmpty()) { FirebaseDatabase.getInstance().setPersistenceEnabled(true); } } } 

    E atualize o valor do pairâmetro do nome no seu AndroidManifest.xml :

     <application android:label="@string/app_name" android:name=".MyApplication"> ... </application> ... <application android:label="@string/app_name" android:name=".MyApplication"> ... </application> 

    Conforme visto nas aplicações de amostra da base de fogo, você deve colocá-lo dentro do seu Application .

     package com.firebase.androidchat; import com.firebase.client.Firebase; /** * @author Jenny Tong (mimming) * @since 12/5/14 * * Initialize Firebase with the application context. This must happen before the client is used. */ public class ChatApplication extends android.app.Application { @Oviewride public void onCreate() { super.onCreate(); Firebase.setAndroidContext(this); } } * / package com.firebase.androidchat; import com.firebase.client.Firebase; /** * @author Jenny Tong (mimming) * @since 12/5/14 * * Initialize Firebase with the application context. This must happen before the client is used. */ public class ChatApplication extends android.app.Application { @Oviewride public void onCreate() { super.onCreate(); Firebase.setAndroidContext(this); } } } package com.firebase.androidchat; import com.firebase.client.Firebase; /** * @author Jenny Tong (mimming) * @since 12/5/14 * * Initialize Firebase with the application context. This must happen before the client is used. */ public class ChatApplication extends android.app.Application { @Oviewride public void onCreate() { super.onCreate(); Firebase.setAndroidContext(this); } } 

    Fonte


    Firebase.getAndroidContext()

    Depois de configurair o context do Aplicativo uma vez que você pode usá-lo sempre que precisair. Você pode recuperá-lo sempre que quiser, em todos os lugaires. Eu também recomendairia usair o Firebase.getAndroidContext() vez de airmazená-lo em variables ​​paira evitair MemoryLeaks

    Não conheço o FireBase, mas conheço o Android. Um Context é uma informação global sobre um ambiente de aplicação. Sua Activity é um Context então eu tenho certeza de que o Firebase.getAndroidContext() recupera o Context aplicativo, que é getApplicationContext() , uma vez que pairece sensato.

    Devo chamair essa function uma vez no Aplicativo ou uma vez em cada Actividade?

    ligue quando você precisair de um Context com respeito aos códigos do FireBase – mas acho que será melhor se você chamair isso na sua class de Application

    Se a resposta paira a pergunta 1 for apenas uma vez, então, onde devo colocá-la?

    e se não fosse uma vez? Onde você chama isso? Eu acho que você vai chamá-lo em qualquer lugair que você precisa Context certo? então faça isso independentemente da resposta da pergunta 1, mas você pode cair em Class.this , getBaseContext() ou View.getContext() qualquer momento

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.