java - remove - leer datos firebase android
ConfiguraciĆ³n de una clave personalizada al enviar datos nuevos a la base de datos de firebase (6)
Llamar a push()
generará una clave para usted.
Si en su lugar usas child()
, puedes determinar tú mismo / key.
ref.child("Victor").setValue("setting custom key when pushing new data to firebase database");
Bueno, soy nuevo en Firebase y quiero tener mis propias claves mientras envío datos nuevos a la base de datos.
Problema:
FireBase.push().setValue(mapped_values);
Esto le da estructura como a continuación:
¿Cómo puedo crear mi propia clave personalizada allí? Como nombre de usuario o algo.
Puede crear una clave personalizada utilizando setValue () incluso si la raíz contiene muchos elementos secundarios, por ejemplo, si ''Usuarios'' es la raíz y desea agregar usuarios con correo electrónico como clave, será así.
firebase.child("firebase url").child("Users").child("user_1 email").setValue(...)
firebase.child("firebase url").child("Users").child("user_2 email").setValue(...)
etc
Espero que esto ayude.
Si está utilizando FirebaseUI :
private static final CollectionReference usersCollection = FirebaseFirestore.getInstance().collection("users");
User user = new User("MyUsername", "MyPictureUrl");
String userKey = "1234567sdfsf8";
usersCollection.document(userKey).set(user); //MAGIC LINE
Simple y rápido
Map<String,Object> taskMap = new HashMap<>();
taskMap.put("Name", name.getText().toString());
taskMap.put("km", km.getText().toString());
// taskMap.put("age", "45");
taskMap.put("Day", day.getText().toString());
mDatabaseReference.push().setValue(taskMap);
Solo por compartir el conocimiento.
Si está utilizando un enfoque de fuego, puede crear la clave personalizada de la siguiente manera
IFirebaseConfig config = new FirebaseConfig
{
AuthSecret = "SecretKey",
BasePath = "https://abc.firebaseio.com/",
Host = "abc.firebaseio.com/"
};
IFirebaseClient client = new FirebaseClient(config);
var obj = new Users
{
FirstName = "test",
MiddleName = "user",
LastName = "xyz"
};
SetResponse response = client.SetAsync("Profile", "YourID");//you can use Set() as well
response = client.SetAsync("Profile/YourID", obj);//you can use Set() as well
String key="1234567sdfsf8";
//custom object
User user=new User();
DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("Users").child(key).setValue(user);