Enviando 2 dados para o Firebase?

Pesquisei, achei este link video:

mas, só envia um dado por vez por mais que o titulo seja multiple. Eu preciso que seja enviado de uma vez só 2 dados, tem essa possibilidade?

1 curtida

Estes dados não podem estar em um objeto?

public class Foo {
    private String xoo;
    private int boo;
    //Métodos e outros itens importantes
}

Certo, pensei nisso, mas o problema é que, quando eu crio o nó, é um atributo string. e o value é uma string também.

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

eu quero ao invés de setValue, que seja um sendObject, como você sugeriu.

O firebase consegue converter (serializar) objetos em String, formando uma estrutura JSON para o(s) dado(s) enviado(s).
Exemplo
Não esquecendo que, ao recuperar os dados, você terá os mesmos já deserializados, mas, em um objeto de DataSnapshot, que precisa de conversão (cast) para o tipo de dado que você enviou (Pessoa p = (Pessoa) dataSnapshot.getValue()); algo assim, não lembro de cabeça).

eu vi essa pagina como referencia, mas não entendi nada.

tentei ja ler mas nao vejo nexo do que acontece.

link!

entendi! vlw man vou testar aqui pra ver se resolve, dai eu passo aqui o resultado.

vlw

seria isso aqui?

String titulo = etTitulo.getText().toString();
String mensagem = etMensagem.getText().toString();

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("messageTeste");
Mensagem mensagemObj = new Mensagem(titulo,mensagem);

Gson gson = new Gson();
Mensagem mensagemTratada = gson.fromJson(mensagemObj, Mensagem.class);

myRef.setValue(mensagemTratada);

esta dando problema nessa linha

Mensagem mensagemTratada = gson.fromJson(mensagemObj, Mensagem.class);

no gradle baixei essa versao

compile 'com.google.code.gson:gson:2.5'

Erro quando passo o mouse em cima de mensagemObj, Mensagem.class
"Cannot resolve method 'fromJson(…pacote…,javalang.class.model.Mensagem)

Cara, to sem o meu código aqui e sem android studio e sem acesso ao firebase.
Massss, sei que não precisa do Gson.
Bota o objeto direto ali no setValue

myRef.setValue(mensagemObj);

Deve funcionar. A noite vejo o código e posto como eu fiz.

blz, vou testar assim, achei outra referencia

String titulo = etTitulo.getText().toString();
String mensagem = etMensagem.getText().toString();

            FirebaseDatabase database = FirebaseDatabase.getInstance();
            DatabaseReference myRef = database.getReference("messageTeste");
            Mensagem mensagemObj = new Mensagem(titulo,mensagem);

            Gson gson = new Gson();
            String json = gson.toJson(mensagemObj);
            myRef.setValue(json);

quando eu faço esse setValue(json) ja era pra enviar o dado para o banco de dados?

porque nao esta cadastrando.

Sim, já deveria adicionar.

esta é a resposta, colocar o objeto ja no setvalue(obj).
ou .push().setValue(obj);