Je suis confronté à ce problème et j'ai vu quelques réponses sur ce site mais je n'ai pas obtenu de solution appropriée.
J'ai utilisé la version précédente de Firebase
qui fonctionne bien mais lorsque j'essaie de mettre à jour en utilisant la mise à jour et de mettre à jour la classe Firebase
en DatabaseReference
cela affiche une erreur et ne fonctionne pas.
Je vais ajouter le code entier de mon fichier de manifeste alors veuillez m'aider à résoudre ce problème.
Voici mon manifeste
mon Module de l'application
est donné ci-dessous.
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "firebasechat.com.firebasechat"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/NOTICE'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.volley:volley:1.0.0'
compile "com.google.firebase:firebase-database:11.0.0"
compile 'com.google.android.gms:play-services:11.0.0'
compile 'com.android.support:recyclerview-v7:25.0.0'
testCompile 'junit:junit:4.12'
testCompile 'junit:junit:4.12'
}
et Project gradle
// Fichier de construction de niveau supérieur où vous pouvez ajouter des options de configuration communes à tous les sous-projets / modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:4.2.0'// Version mise à jour du service Google
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com" // Référentiel Maven de Google
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Voici mon Activity
.
public class RegisterActivity extends AppCompatActivity {
EditText username, password;
Button registerButton;
String user, pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
username = (EditText)findViewById(R.id.username);
password = (EditText)findViewById(R.id.password);
registerButton = (Button)findViewById(R.id.registerButton);
FirebaseApp.initializeApp(this);
registerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
user = username.getText().toString();
pass = password.getText().toString();
final ProgressDialog pd = new ProgressDialog(RegisterActivity.this);
pd.setMessage("Loading...");
pd.show();
String url = "https://pure-coda-174710.firebaseio.com/users.json";
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener(){
@Override
public void onResponse(String s) {
// Firebase reference = new Firebase("https://pure-coda-174710.firebaseio.com/users");
DatabaseReference reference = FirebaseDatabase.getInstance()
.getReferenceFromUrl("https://pure-coda-174710.firebaseio.com/users");
if(s.equals("null")) {
reference.child(user).child("password").setValue(pass);
Toast.makeText(RegisterActivity.this, "enregistrement réussi", Toast.LENGTH_LONG).show();
}
else {
try {
JSONObject obj = new JSONObject(s);
if (!obj.has(user)) {
reference.child(user).child("password").setValue(pass);
Toast.makeText(RegisterActivity.this, "enregistrement réussi", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(RegisterActivity.this, "le nom d'utilisateur existe déjà", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
pd.dismiss();
}
},new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError volleyError) {
System.out.println("" + volleyError );
pd.dismiss();
}
});
RequestQueue rQueue = Volley.newRequestQueue(RegisterActivity.this);
rQueue.add(request);
}
});
}
}
0 votes
Quelle est l'erreur ?
0 votes
@ Burhanuddin Rashid cette erreur se produit au moment de l'exécution comme java.lang.IllegalStateException: Default FirebaseApp n'est pas initialisé dans ce processus firebasechat.com.firebasechat. Assurez-vous d'appeler d'abord FirebaseApp.initializeApp(Context).
0 votes
Veuillez afficher votre code manifest, votre fichier build.gradle au niveau du module et votre fichier build.gradle au niveau du projet. Avez-vous également ajouté le fichier google-services.json dans votre projet ?
0 votes
@R.R.M J'ai mis à jour ma question en ajoutant
fichier gradle
donc veuillez vérifier et me faire savoir.2 votes
N'avez-vous pas ajouté cette ligne au bas de votre fichier gradle de niveau module : apply plugin: 'com.google.gms.google-services' ?
0 votes
J'ai obtenu la même erreur lorsque je n'ai pas inclus l'identifiant de mon application de projet Google.