Quando for escrever, publicar seus textos faça-o como um líder, que domina o assunto que aborda. Saiba compartilhar informações e elevar o nível de debates. Pesquisar e estudar têm que ser uma constante na sua atuação na internet.
Nunca se dê por satisfeito ou completo, nem feche debates ou finalize assuntos. Sempre aprofunde e promova, provoque as pessoas à sua volta e persista. Ler cada vez mais vai te ajudar a escrever cada vez melhor e melhorar as suas referências. Escrever em um blog é um aprendizado constante e só escreve bem quem lê bem.
As frustrações nascem quando nos damos por satisfeitos e acreditamos que já atingimos o topo. Não há limites para o conhecimento humano.

Post rápido do domingo: como colocar um background gradiente no Android. No diretório res/drawable de um projeto Android podemos colocar arquivos XML também. Esses arquivos devem fazer referências a imagens ou definir formas geométricas como círculos e retângulos. Vejam abaixo como definir um "quadrado" com bordas arredondadas e com cor gradiente.
O arquivo acima, como já dissemos, deve ser criado dentro da pasta res/drawable do seu projeto. Nós o nomeamos como meubg.xml, e nele estamos definindo um retângulo de cor gradiente, começando de azul para preto. O angulo do gradiente é de 90 graus do tipo linear. Determinamos um espaçamento das borda para o componente que utilizar esse arquivo como background. Por fim, determinamos uma borda arredeondada com raio de 30dp.
Estar à frente de uma sala de aula me propicia o benefício da "ensinagem" (ensino + apredizagem) onde ao mesmo tempo em que ensino, aprendo bastante com meu alunos. Esse post foi totalmente formado por dúvidas dos meu alunos do TECDAM, e que foram resolvidos por eles próprios. Bom para todos, que aprendemos juntos.
O Android tem um sistema de i18n (internacionalização) muito bacana, onde basta prover recursos através de notações pré-definidas pelo próprio Android em pastas do projeto. Inclusive falei disso nesse post. Os recursos são selecionados automaticamente de acordo com configurações do aparelho. Mas, e se eu quiser determinar o idioma da aplicação? Segue abaixo o código que força um idioma para nossa aplicação.
Nesse post, mostrei como limitar os caracteres utilizando expressões regulares. Porém, podemos fazer a mesma coisa utilizando a propriedade digits do componente EditText, basta colocar os caracteres que você quer permitir.
É comum colocarmos os identificadores dos componentes adicionados nos arquivos de layout utilizando @+id/idDoComponente. Entretanto, quando ficamos com muitas telas ou quando começamos a importar layouts pode haver uma confusão ou até um conflito com esses identificadores. Uma abordagem legal, seria substituir o "id" por algo mais inteligível como "cadpessoa". Por exemplo a definição do EditText abaixo seria perfeitamente válida:
Essa eu não arrumei uma justificativa plausível. Quando fui executar um arquivo MP3 no emulador o código abaixo funcionou perfeitamente.
Porém, quando coloquei no telefone não funcionou. O erro "Playing Audio - error: PVMFErrNotSupported (Prepare failed.: status=0x1)" era exibido. Após uma busca rápida no Google, a solução foi simples. Ao invés de passar a String diretamente, é passado um objeto FileDescriptor obtido através de um FileInputStream como abaixo.
Para gerar a chave para utilizar a API do Google Maps no Android é preciso usar a ferramenta keytool que vem no JDK (Java Development Kit). Porém, um problema que acontecia constantemente quando ia gerar essa chave era a mensagem "erro de keytool: java.lang.IllegalArgumentException: unknown format type at". Ou seja, erro sem explicação... Esse problema ocorre aparentemente por conta das configurações regionais. Quando elas estão em português, esse erro acontece, em inglês não.