Ir para conteúdo

Recommended Posts

Olá,

 

Estou fazendo um aplicativo em android e me deparei com uma duvida na hora de salvar e exibir em uma lista, os usuários de um sistema.

 

Basicamente o app por enquanto adiciona qualquer um que voce coloque o email correto e click para executar a ação de adicionar a contato, até ai ok! tudo funcionando.

 

Agora estou precisando fazer com quem alguns usuários sejam adicionados a contatos logo que o usuário abre o app, fiz isso colocando esse método abaixo dentro do onCreate da activity principal, novamente tudo ok!

 

Por algum motivo ele não cadastra os 3 usuários que pre-defini na variável, imagino que seja algo relacionado ao EventListener ou o while não esta rodando e executando todos os trechos.

 

Obrigado desde já, fico no aguardo de uma solução!

 

*Se o processor for feito manualmente, trocando o valor do contador manualmente para 1 ou 2 ou 3 e o while for trocado para "contador == 1 ou 2 ou 3 " o código executa com perfeição e cadastra os 3 contatos.

 

    private void abrirCadastroContato() {

        String emailContato;

        emailContato = "email";

        int contador = 1;

        while (contador <=3) {

        if (contador == 1) {

            emailContato = "email1@email1.com.br";

        }

        if (contador == 2) {

            emailContato = "email1@email1.com.br";

        }


        if (contador == 3) {

            emailContato = "email1@email1.com.br";

        }

            identificadorContato = Base64Custom.codificarBase64(emailContato);

            firebase = ConfiguracaoFirebase.getFirebase().child("usuarios").child(identificadorContato);

            firebase.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    if (dataSnapshot.getValue() != null) {

                        //Recuperar dados do contato a ser adicionado
                        Usuario usuarioContato = dataSnapshot.getValue(Usuario.class);

                        //Recuperar identificador usuario logado (base64)
                        Preferencias preferencias = new Preferencias(MainActivity.this);
                        String identificadorUsuarioLogado = preferencias.getIdentificador();

                        firebase = ConfiguracaoFirebase.getFirebase();
                        firebase = firebase.child("contatos")
                                .child(identificadorUsuarioLogado)
                                .child(identificadorContato);

                        Contato contato = new Contato();
                        contato.setIdentificadorUsuario(identificadorContato);
                        contato.setEmail(usuarioContato.getEmail());
                        contato.setNome(usuarioContato.getNome());

                        firebase.setValue(contato);

                    } else {

                        Toast.makeText(MainActivity.this, "Usuário não possui cadastro.", Toast.LENGTH_LONG).show();

                    }


                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

            contador ++;

    }

    }

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por BryanSamuel
      Eu preciso somar a coluna SOMA onde a coluna A e a coluna B(ao outro registro, por exemplo A do registro 1 e A do registro 2 forem iguais) forem iguais, após isso dividir por 3 e em seguida inserir em outra tabela.
    • Por ayrtonmaia25
      Colegas, alguns anos atrás iniciei estudos no desenvolvimento web, porém com as circunstancias da vida, o tempo foi passando e a web foi ficando de lado, consequentemente, meus conhecimentos ficaram ultrapassados e me desliguei da área. Estou retornando agora e novamente estudando, em busca de me atualizar e já desenvolvendo um sistema, o cliente me enviou a estrutura do banco de dados dele, porém um arquivo extenso e estou tentando subir para o servidor ainda, porém há uma dificuldade, aparentemente a estrutura foi salva em php e não estou conseguindo achar uma forma para inseri-la no bd do jeito que está, alguém poderia me dar uma luz?
       
      Segue um exemplo de como está a estrutura:
      IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[apostas]') AND type IN ('U')) DROP TABLE [dbo].[apostas] GO $sql = "CREATE TABLE [dbo].[apostas] ( [idaposta] int IDENTITY(1,1) NOT NULL, [idconcurso] int NULL, [datahora] datetime NULL, [telefone] varchar(20) COLLATE Latin1_General_CI_AS NULL, [nome] varchar(30) COLLATE Latin1_General_CI_AS NULL, [numeros] varchar(150) COLLATE Latin1_General_CI_AS NULL, [cotacao] int NULL, [valor] money NULL, [premio] money NULL, [idcliente] int NULL, [acertou] bit DEFAULT ((0)) NULL, [COMISSAO] money NULL, [CODIGO] char(7) COLLATE Latin1_General_CI_AS NULL, [bilhete] char(10) COLLATE Latin1_General_CI_AS NULL, [PG] char(1) COLLATE Latin1_General_CI_AS DEFAULT ('N') NULL, [nomecolab] varchar(30) COLLATE Latin1_General_CI_AS NULL, [dataconcurso] varchar(10) COLLATE Latin1_General_CI_AS NULL, [confirmado] bit NULL, [bilhete2] uniqueidentifier NULL, [idterminal] varchar(11) COLLATE Latin1_General_CI_AS NULL, [tipo] char(1) COLLATE Latin1_General_CI_AS DEFAULT ('S') NULL ) GO ALTER TABLE [dbo].[apostas] SET (LOCK_ESCALATION = TABLE) GO Quebrei a cabeça durante o dia quase todo, estou no meio dos estudos também, atualizando sobre PDO e Frameworks, etc... Se alguém puder dar uma luz do que fazer, agradeço
    • Por Rondii
      Meus caros colegas
      Estou tentando implementar uma função que selecione todas as imagens que o laço for gera e faça alguma função com elas (ex: setar a borda, deixar desativado), porém quando executo minha aplicação ela seleciona apenas os últimos botões com imagens, mas não os primeiros. Peço desculpas pelo código um tanto quanto primário pois sou novo nesta área, apesar da idade da linguagem.
      Segue o cod.
       
      import java.awt.BorderLayout; import java.awt.Component; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import static javax.swing.JFrame.EXIT_ON_CLOSE; import javax.swing.JPanel; public class Selecionar extends JFrame { private JPanel jpanel; private JButton btnselecionar; private JPanel jpanelFixo; public Selecionar() { super("Selecionando Imagens"); setDefaultCloseOperation(EXIT_ON_CLOSE); //setLayout(null); setSize(800, 600); /*********************************************/ int qtdLoop = 2; jpanelFixo = new JPanel(); for (int x=0;x<qtdLoop;x++){//2 GIROS jpanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 11,20)); btnselecionar = new JButton("Marcar"); for (int i = 0; i < 3; i++) { jpanel.add(new JButton(new ImageIcon("img/iconecadastro2.png"))); } jpanelFixo.add(btnselecionar, BorderLayout.SOUTH); jpanelFixo.add(jpanel); }//FIM DO LAÇO add(jpanelFixo, BorderLayout.CENTER); btnselecionar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Component componentes[] = jpanel.getComponents(); for (Component c : componentes) { if (c instanceof JButton) { if(((JButton) c).isEnabled() == true){ ((JButton) c).setEnabled(false); }else{ ((JButton) c).setEnabled(true); } } } } }); } public static void main(String[] args) { new Selecionar().setVisible(true); } }  
    • Por Good
      Boa noite, então... eu criei funções manuais para adicionar e remover contatos da agenda do google, tudo ok..
      O problema é o access_token que fica expirando. A minha dúvida é como evitar isto?
       
      A duração do token tem validade de 3600, e como uso algumas vezes durante o dia, o token fica expirando, e quando vou renovar aparece: stdClass Object ( [error] => invalid_grant [error_description] => Token has been expired or revoked. ) 
       
      Tentei criar uma função para renovar quando estiver perto de expirar fazer a renovação. É o resultado da mensagem acima!
       
      Aí pra atualizar o token, tenho que "fazer login" novamente e aí vou obter um token novo. Mas isso é incômodo demais pro sistema, e meus clientes não vão gostar, com certeza. E já vi um OUTRO serviço que o uso é frequente e não há necessidade de mandar o usuário para a página do google fazer "login novamente".
       
      Deu para entender? Quero continuar acessando a API do google, sem necessidade de ficar mandando o usuário para a página de login do google.
    • Por dimas.malheiros
      Bom dia amigos, Gostaria de saber se algum dos colegas sabe me informar se existe uma maneira de escolher numa tabela os dados que preencherão meu relatorio IReport. ex: eu tenho uma tabela que é preenchida com valores do banco de dados, onde tenho varios clientes,cada cliente com nome, idade, endereço, e email. eu gostaria de escolher somente um cliente na tabela e imprimir o relatorio com os dados dele. pode ser clicando diretamente na linha escolhida da tabela, como escolhendo a linha e clicando em um botao gerar. se alguem puder ajudar com um exemplo, agradeço.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.