300x250 AD TOP

adv1

Formulário de contato

3 de dezembro de 2012

Tags: , , , , ,

Curso Básico de JDBC na Devmedia [Online]


Olá galera, há um tempo sem postar...

Há um tempo, estou trabalhando para a DevMedia como consultor e professor, e dessa parceria nasceram alguns cursos online com vídeo aulas interessantes sobre alguns temas pertinentes à área.


O primeiro curso é o de Introdução ao JDBC, que está em desenvolvimento e se encontra disponível no endereço: http://www.devmedia.com.br/curso/curso-basico-de-jdbc/378

À medida que novos cursos forem nascendo, irei atualizar este post.

Espero que gostem! o/

22 de julho de 2012

Tags: , ,

Como remover arquivos de um diretório em Java

Olá galera, post rápido sobre como remover vários arquivos dentro de determinado diretório.

Em meio a uma necessidade recente, necessitei remover arquivos com terminações ".xxx" que não conheço (ou não quero controlar) e achei interessante postar aqui a solução.

Quando conhecemos o nome do arquivo a ser removido, bem como em qual diretório o mesmo se encontra, tudo fica mais fácil:
String nome = "C:/pasta_de_teste/teste.html";  
File f = new File(nome);  
f.delete();
Mas o problema reside quando não conhecemos este caminho, ou mais ainda, quando ps arquivos são inseridos no diretório com nomes/terminações não identificadas pelo desenvolvedor.
Para tanto, podemos implementar o seguinte código (comentado):
public void removerArquivos(File f) {
        // Se o arquivo passado for um diretório
        if (f.isDirectory()) {
                /* Lista todos os arquivos do diretório em um array 
                   de objetos File */
                File[] files = f.listFiles();
                // Identa a lista (foreach) e deleta um por um
                for (File file : files) {
                        file.delete();
                }
        }
}

Se desejar deletar todos os arquivos inclusive o próprio diretório raiz, pode utilizar o exemplo abaixo (recursivo):

public void removerArquivos(File f) {
     if (f.isDirectory()) {
         File[] files = f.listFiles();
         for (File file : files) {
             removerArquivos(file);
         }
     }
     f.delete();
  }

É isso! =)

-->

4 de junho de 2012

Tags: , , , ,

Maven + Eclipse + Android ( + RoboGuice)

E aí galera, mais um post sobre Android. A pedido de umas pessoas (aqui mesmo no blog) vou mostrar neste post como integrar o maven aos seus projetos android usando o Eclipse (Versão Indigo) como IDE, e de cara ver como o mesmo funciona adiciona as dependências do framework que falei há pouco tempo: o Roboguice.


Trabalhar com o maven é bem simples, e conforme venho pregando sobre as "coisas" do Google, trabalhar com o maven para android é mais simples ainda.

Tudo que precisa fazer é instalar os plugins corretos, uma vez que vamos estar trabalhando com o eclipse (ou pelo menos deveríamos, hehe), e criar os projetos usando os recursos dos mesmos. Também é suposto que esteja usando as versões mais recentes das referidas ferramentas.

Então vamos lá! Primeiro faça o download dos seguintes softwares necessários:
  1. Eclipse IDE, versão superior a Helios;
  2. Plugin ADT para o eclipse (caso ainda não o tenha);
  3. O plugin do Maven para o eclipse (caso ainda não o tenha);
  4. E por fim o plugin Maven Integration for Android Development Tools. Update site aqui!
Todos seguem a sequencia padrão de instalação de plugins do eclipse:
Help -> Install New Software -> Add ...

Lembrando que estes plugins também podem ser instalados via Eclipse Market Place.

Nota: Como faço para verificar se um plugin já está instalado no meu eclipse? Simples: Help -> About eclipse SDK -> Installation Details -> Installed Software

Agora o processo é mais simples ainda. Temos duas vertentes de projetos android-maven para seguir: os que já existem e precisam ser migrados, e os que ainda vão ser criados.
  • Os que já existem
Se você já tem um projeto e deseja migrá-lo para o maven, siga os passos:
  1. Import -> Maven > Existing Maven Project;
  2. Busque o projeto no teu workspace e clique em Finish;
  3. Pronto, projeto pronto para usar o maven.
O próprio plugin se responsabiliza por gerenciar as dependências, porém é necessário add o seu arquivo pom.xml caso o mesmo não seja gerado automaticamente, como veremos abaixo.
  • Os que ainda não existem
Para novos projetos, o processo de criação é mais passível de não ter problemas, uma vez que toda a estrutura será zerada do zero.

Siga os passos:
  1. Crie um novo projeto em "File -> New -> Project...";
  2. Selecione "Maven -> Maven Project" e próximo duas vezes...;
  3. Clique em "Add Archetype..." e preencha a wizard com as informações presentes na Imagem 1;
  4. Vá clicando em Next, Finish, até o fim da criação do projeto.
Figura 1. Criando Archetype maven
Repare que um diretório chamado "Maven Dependencies" será criado automaticamente pelo plugin para gerenciar suas dependências de acordo com as especificações do arquivo pom.xml (Figura 2).

Figura 2. Dependências Maven
Basicamente, no teu arquivo pom.xml você terá as dependências do android e no nosso caso, do Roboguice. Ficará mais ou menos assim:
Figura 3. Dependências Android/Roboguice
Prontinho, espera o maven atualizar as libs e mãos à obra com estes camaradas! :)

Para maiores informações, veja o link do projeto maven-android-plugin:  http://code.google.com/p/maven-android-plugin/wiki/GettingStarted.


13 de maio de 2012

Tags: , , , ,

Evento JavaCE Community Conference - Eu palestrei!!

E aí galera, anotando mais uma anedota de minha vida conturbada (porém massa) de programador, agora emplaquei também como palestrante.


O evento JavaCE Conference foi organizado de forma a buscar atingir toda a galera de Java/afins.

No dia 11/05 (primeiro dia do evento) palestrei sobre o framework de injeção de dependência para Android Google Guice às 15:40.

Foi uma ótima experiência, marcada e gravada!

Conforme prometido, segue apresentação powerpoint da palestra.

28 de abril de 2012

Tags: , ,

Primeira impressão do curso de Android - Fanor

E aí galerinha!

Post apenas para compartilhar minha extrema satisfação em ministrar um curso de android.


As aulas começaram neste sábado (dia 28/04) na Fanor (através da Ganeo Tech) e pude ter um feedback inicial muito satisfatório tanto por parte dos alunos quanto da instituição. Além disso, é uma ótima oportunidade para aumentar meu know-how com o mundo mobile.

Obrigado a todos os alunos pela confiança e que esse seja o primeiro de muitos!! :)

25 de março de 2012

Tags: , , ,

"Content is not allowed in prolog" - Entendendo exceção no Seam

Recentemente tive um problema de edição em um arquivo .xhtml utilizando JBoss Seam, Richfaces e afins.

A princípio a mensagem de erro não dizia muito a respeito da causa do mesmo:

com.sun.facelets.FaceletException: Error Parsing /consulta.xhtml: Error Traced[line: 1] Content is not allowed in prolog.

"O conteúdo não é permitido no prólogo". Mas que conteúdo? Em qual prolog?

Depois de dar uma pesquisada descobri que o erro acontece em vista de terem sido colocados alguns caraceteres inválidos antes da declaração de documento xml na página xhtml.

Em outras palavras, a primeira coisa que deve constar em um documento xml (afins) deve ser:

<?xml version="1.0" encoding="utf-8"?>

Qualquer coisa antes disso, até mesmo um simples espaço em branco, pode gerar o erro em questão.

Por fim, lembre-se de que a declaração de documento xml segue o padrão de encoding definido. Logo temos:

<!-- Incorreto -->
<?xml version="1.0" encoding="UTF-8"?>

<!-- Correto -->
<?xml version="1.0" encoding="utf-8"?>

É importante ater a estes detalhes para evitar dores de cabeça e perda de tempo... :-)