quinta-feira, agosto 23, 2012

Desenvolvendo para Android: Introdução

Nas últimas semanas desenvolvi o meu primeiro aplicativo para o Android e estou abrindo esta nova série de posts curtos para compartilhar esta experiência (leia-se choras as mágoas). Como diz um amigo meu: parece difícil, mas, se a gente olhar bem, percebe que não é fácil não.

A minha "experiência prévia" é bastante diversa. Cito, como experiências que poderiam ser úteis, ter desenvolvido para o PalmOS, Windows CE / Mobile e para Windows usando Windows Forms. Isto ajudou um pouco, mas bem menos que eu esperava.

No final, a minha metodologia de desenvolvimento acabou sendo:
  • Surgir uma necessidade aparentemente simples e corriqueira.
  • Olhar a documentação e não achar nada que pareça relacionado.
  • Procurar no google e encontrar um monte de gente perguntando a mesma coisa.
  • Ler as respostas que parecem mais sensatas (normalmente no Stack Overflow).
  • Chegar a uma conclusão
    • Tem um jeito simples mas nada óbvio
    • Tem um jeito complexo mas que funciona quase sempre
    • Não dá para fazer o que eu quero
É claro que parte da coisa se deve à minha inexperiência com Android e Java (inclusive comecei a avançar bem mais rápido depois das primeiras semanas). E aparentemente estou longe de ser o único com estas dificuldades.

E aí você vê uma coisa como esta. Você resolve (precisa!) limitar o número de caracteres que podem ser digitados em um campo. Algo básico, Consistência 101, etc. Você procura uma método do tipo setMaxLength ou coisa parecida. Não acha. Vai no google e encontra a solução oficial:

        InputFilter[] FilterArray = new InputFilter[1];
    FilterArray[0] = new InputFilter.LengthFilter(Operador.tamLogin);
    TextView cpo = (TextView) findViewById(R.id.campoOperador);
    cpo.setFilters(FilterArray);


É mole?

3 comentários:

Sony Santos disse...

Olá, esses artigos serão interessantes para mim, também. Já desenvolvi para PalmOS em C, e pretendo desenvolver para Android, mas para isso precisarei aprender Java.

BCS disse...

Daniel,

você pelo jeito passa pela mesma sensação toda vez que tenho que dar manutenção em um código Java aqui da empresa, coisas estupidamente simples em outras APIs, especialmente GUIs são um inferno, ainda mais depois de conviver com winforms por um bom tempo.

Daniel Quadros disse...

Não creio que tenha a ver com o Java em si, apenas que as coisas são "esquisitas" no Android.