Firebase - Comment écrire / lire des données par utilisateur après authentification
J'ai essayé de comprendre, mais pas en mesure de voir comment et où peut-être les données que je suis le stockage après la connexion est en cours.
public static final String BASE_URL = "https://xyz.firebaseio.com";
Firebase ref = new Firebase(FirebaseUtils.BASE_URL);
ref.authWithPassword("[email protected]", "some_password", new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_SHORT).show();
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}
@Override
public void onAuthenticationError(FirebaseError firebaseError) {
}
}
À ce point, je suis authentifié avec succès et a atterri sur MainActivity
. Suivant en onCreate
de MainActivity
. J'initialise Firebase
firebase = new Firebase(FirebaseUtils.BASE_URL).child("box");
//adapter below is an ArrayAdapter feeding ListView
firebase.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.getValue(Box.class) instanceof Box)
adapter.add(dataSnapshot.getValue(Box.class).getName());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
adapter.remove(dataSnapshot.getValue(Box.class).getName());
}
//other callbacks
}
Il y a un bouton ajouter que j'ai utilisé pour pousser de nouveaux enregistrements à partir d'Android Firebase
.
final Button button = (Button) findViewById(R.id.addButton);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Box box = new Box("Box " + System.currentTimeMillis(), "Location " + System.currentTimeMillis());
Firebase fbBox = firebase.child("" + System.currentTimeMillis());
fbBox.setValue(box);
}
});
Mais le code ci-dessus, ne pas ajouter d'enregistrement (évidentes de ListView
qui n'est pas mis à jour) ou au moins de ne pas savoir où chercher les données. J'ai vérifié l'ouverture Firebase
dans le navigateur, mais je ne suis pas sûr de la façon de vérifier les utilisateurs de données spécifique?
J'ai modifié mon Firebase Rules
comme
{
"rules": {
"users": {
"$uid": {
".write": "auth != null && auth.uid == $uid",
".read": "auth != null && auth.uid == $uid"
}
}
}
}
J'ai essayé d'ouvrir les Url comme https://xyz.firebaseio.com/xxxxxx-xxxxx-xxxx-xxxxx-xxxxxxxxxxxx mais il ne serait pas afficher les données.
Je voudrais avoir quelques informations sur:
- Comment ajouter un utilisateur spécifique des données après l'authentification. Ne peut-il pas être transparente comme quand nous n'avons pas de restriction de lecture/écriture sur la base d'utilisateur, parce que je pourrais facilement lire/écrire des données.
- Est-il
Firebase
web pour visualiser la base de données ou de voir les données JSON, où je peux voir/modifier les données vers/depuis un appareil Android?
source d'informationauteur Mithun | 2016-03-06
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, modifier la Firstbase règles:
Ensuite, dans le Code Java:
En fin de compte, les données ressemblerait à quelque chose comme ceci:
Pour le web fin
Code Javascript:
Lire https://firebase.google.com/docs/auth/web/manage-users#get_the_currently_signed-in_user
pour plus d'informations.