Ir ao conteúdo
  • Cadastre-se

Javax

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

  1. Olá, Felipe! Primeiramente, muito obrigado por comentar esse meu post. O problema estava mais precisamente no trecho abaixo, como você indicou: contratos.add(new Contrato()); //Aqui está adicionando à lista um novo objeto da classe Contrato, zerado. pagamentos.add(new Pagamento());//Idem, porém da classe Pagamento. Ocorre que eu inseri um objeto da classe Contrato e a de Pagamento zerados. Quando eu declarei novo construtor funcionou, conforme abaixo: contratos.add(new Contrato("contrato exemplo", 1000)); //Aqui está adicionando à lista um novo objeto da classe Contrato, zerado. pagamentos.add(new Pagamento(100));//Idem, porém da classe Pagamento. Realmente, eu esqueci de instanciar o objeto cliente1: Cliente cliente1 = new Cliente(); Os métodos getters e setters das classes Cliente, Contrato e Pagamento, foram abstraídos, assim como também os construtores, mas eu deveria ter especificado eles mesmo, você tem razão. Poderia ter, também, instanciado as listas via construtor e não no método main. Em suma, o meu propósito é realmente inserir um objeto pronto, e isso funcionou corrigindo o detalhe exposto acima. Valeu! Um abraço!
  2. Olá pessoal! Considerem as seguintes classes: public class Pagamento { } public class Contrato { private ArrayList<Pagamento> pagamentos; } public class Cliente { private ArrayList<Contrato> contratos; } Com base nessas classes, temos uma situação de aninhamento da seguinte forma: [code] > Cliente > Contrato >Pagamento [/code] Ocorre que, quando tento gravar o objeto cliente no Realtime Database do Firebase, o terceiro nível não está sendo armazenado. Vejam: public class BancoDAO { public void gravar(ArrayList<Cliente> clientes) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference().child("clientes"); Map<String, Object> users = new HashMap<>(); for(Cliente cliente : clientes) { String idCliente1 = UUID.randomUUID().toString(); cliente.setIdCliente(idCliente1); users.put(idCliente1, cliente); } myRef.setValueAsync(users); } } Main.java public class Main { public static void main(String args[]) { ArrayList<Cliente> clientes = new ArrayList<Cliente>(); ArrayList<Contrato> contratos = new ArrayList<Contrato>(); ArrayList<Pagamento> pagamentos = new ArrayList<Pagamento>(); contratos.add(new Contrato()); pagamentos.add(new Pagamento()); cliente1.setContratos(contratos); cliente1.getContratos().get(0).setPagamentos(pagamentos); clientes.add(cliente1); BancoDAO bancoDAO = new BancoDAO(); bancoDAO.gravar(clientes); } } [code] > clientes > 1393a1 > contratos > 0 > valor: 0 [/code] Ou seja, ele gravou o cliente 1393a1, entendeu que tem uma lista de contratos dentro desse cliente, mas não gravou nenhum contrato, e por conseguinte, nenhum pagamento que estaria dentro de contrato. Alguém saberia me orientar o que estou fazendo de errado? Porque na verdade, eu quero armazenar um objeto cliente, que contém uma lista de contratos, onde cada contrato tem uma lista de pagamentos.
  3. RESOLVIDO! Utilizei a função =INDIRETO("'C:\diretório\[arquivo.xlsx]planilha'!A1").
  4. Olá, pessoal! Tenho um diretório, que contém 12 arquivos .xlsx, dos quais comunicam-se entre si. As comunicações, entre os arquivos .xlsx, têm sido feitas através da seguinte sintaxe: 'C:\caminhoCompleto\[arquivo.xlsx]planilha'!A1. Entretanto, estou obtendo o caminho informado acima de maneira dinâmica, de modo que, tal caminho tem vindo como um texto: "'C:\caminhoCompleto\[arquivo.xlsx]planilha'!A1". Como faço para executar um comando que está na forma textual, como, "'C:\caminhoCompleto\[arquivo.xlsx]planilha'!A1"?
  5. Olá, pessoal! Sei que o título deste tópico foge um pouco do contexto do fórum. Entretanto, gostaria de saber se alguém tem conhecimento em Projeto de Software. Tenho dúvidas a respeito desse assunto e não encontrei nenhuma área específica na internet para tratar disso. Abraço!
  6. Boa noite! Alguém sabe dizer se o TouchPad do Notebook HP ENVY 17T J178 possui a funcionalidade de rolagem? Quanto ao teclado, este modelo não possui cedilha. É possível trocá-lo? Aguardo respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...