I'm having trouble writing to the Firebase database in my simple Android application. I set my database rules to be public:
{ "rules": { ".read": true, ".write": true } }
Created a simple Message class:
import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; public class Message { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference dbRef = database.getReference(); public String sender; public String message; public Message(){} public Message(String sender, String message) { this.sender = sender; this.message = message; } }
And set the button to execute the onClick writeNewMessage method, since they are important lines of code:
int counter = 0; public void writeNewMessage(View view) { counter += 1; Message messageToWrite = new Message("John", "Simple message: " + counter); String messageId = String.valueOf(counter); dbRef.child("users").child(messageId).setValue(messageToWrite); }
When I start, I get an error message:
W/RepoOperation: setValue at /users/1 failed: DatabaseError: Permission denied
I know this question seems simple and probably repeated, but I have yet to find any question that poses this problem, preventing their error from being included in authentication or some other component. The simplicity of the problem is what confuses me more.
EDIT: I also found this error:
Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor"
source share