Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] tratar campo nulo do banco de dados.

sim é o correto mesmo.

Olha só me diga se estou errado ou faço certo, no salvar, eu checo alguns campos se estão preenchido, eu faço o seguinte:

        if (campoRazaoSocial.getText().toString().equals("")) {
            Toast.makeText(this, "A Razão Social deve ser informada!", Toast.LENGTH_SHORT).show();
            valida = false;
        }

Outra dúvida que acredito não ter a melhor solução é em relação aos Spinner.
Quando se tem o valor sendo buscado na base de dados eu faço de um jeito, mas quando é fixa os valores eu fiz assim:
    String[] tipoPessoas = {"FISICA", "JURIDICA"};
        campoSpinnerTipoPessoa = (Spinner) findViewById(R.id.cli_e_tipopessoa);
        ArrayAdapter<String> arrayAdapterTipoPessoa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, tipoPessoas);
        campoSpinnerTipoPessoa.setAdapter(arrayAdapterTipoPessoa);
        posicaoSpinner = arrayAdapterTipoPessoa.getPosition("JURIDICA");
        campoSpinnerTipoPessoa.setSelection(posicaoSpinner);

Até aqui tranquilo, porém ao salvar no banco de dados eu faço desta forma para que pegue um caracter especial e não o texto completo.
        switch(campoSpinnerTipoPessoa.getSelectedItemPosition()) {
            case 0: tipoPessoa = "F"; break;
            case 1: tipoPessoa = "J"; break;
        }

O problema é que possuo outro spinner com mais de 2 opções, alguns passando de 10 opções. dai qual existiria alguma forma mais correta de se fazer isto?

Obrigado pelas Dicas

Evandro Choma



Em 23 de julho de 2012 15:19, Guilherme Sjlender <guisjlender@gmail.com> escreveu:
Não só melhor como a correta! ;)
Usar == em vez de equals com strings não é correto. Veja porque abaixo:

Até mais
Att.
Guilherme Sjlender
------------------------------------------------------------
Desenvolvedor Web - Flex3.6/Flex4.5/JavaEE
Desenvolvedor Desktop - AIR/JavaSE
Desenvolvedor Mobile - Android/JavaME/Flex4.5
------------------------------------------------------------



Em 23 de julho de 2012 15:00, Evandro Choma <evandrochoma@gmail.com> escreveu:

Olhigado Guilherme
esta solução aparentemente é melhor do que o c.motivoSuspensao == "F".



--
[]´s
Evandro Choma
Engenheiro da Computação


Em 23 de julho de 2012 14:57, Guilherme Sjlender <guisjlender@gmail.com> escreveu:

Na verdade você não pode fazer equals de algum atributo null, por isso do erro!

O que eu costumo fazer é o inverso. 
Em vez de fazer:
c.motivoSuspensao.equals("F")
eu faria:
"F".equals(c.motivoSuspensao)

Dessa forma você não precisa verificar se o c.motivoSuspensao não está null
;)

Att.
Guilherme Sjlender
------------------------------------------------------------
Desenvolvedor Web - Flex3.6/Flex4.5/JavaEE
Desenvolvedor Desktop - AIR/JavaSE
Desenvolvedor Mobile - Android/JavaME/Flex4.5
------------------------------------------------------------



Em 23 de julho de 2012 11:54, Evandro Choma <evandrochoma@gmail.com> escreveu:

Obrigado Bernardo Deu certo.

--
[]´s
Evandro Choma
Engenheiro da Computação



Em 23 de julho de 2012 11:43, Bernardo Ferreira e Souza <bernardobfs@gmail.com> escreveu:

Só trocar o equals null por ==..
Deve resolver..

On Jul 23, 2012 11:41 AM, "Evandro Choma" <evandrochoma@gmail.com> wrote:
Tenho um campo na tabela que seria o motivo de suspensão, ele pode ser preenchido com F - Fiscal, N - Financeiro ou nulo.
Dai para apresentar o campo de tela estou fazendo a seguinte rotina

            if (c.motivoSuspensao.equals("F")) {
                Log.i("AFV","Suspensão: FISCAL");
                campoMotivoSuspensao.setText("FISCAL");
            } else {
                if (c.motivoSuspensao.equals("N")) {
                    Log.i("AFV","Suspensão: FINANCEIRA");
                    campoMotivoSuspensao.setText("FINANCEIRO");
                } else {
                    Log.i("AFV","Suspensão: nullo");
                    campoMotivoSuspensao.setText("");
                }
            }


Modifiquei a rotina para começar assim, if (c.motivoSuspensao.equals(null)) { mas o erro continua o mesmo:
Mas está dando erro nos registros onde o campo está preenchido como null, nos outros passa normalmente. o erro do log cat está em anexo





  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário