Milagre

Este blog deixou de ser mantido, mas o autor continua escrevendo aqui. Não deixe de assinar o novo feed!

sonyericsson-k300i.jpgHá um bom tempo uso um celular Sony Ericsson K300i. Embora ele esteja fora de linha - e já estava quando o comprei - ainda assim é um bom celular. Quer dizer, tirando a tela (que mais parece o visor de um relógio de pulso) o resto compensa, principalmente quando consideramos o preço do negócio.

Tá bom, eu sei que tem iPhone, iDon’tCare e outras coisas moderninhas, mas ainda não estou disposto a gastar dinheiro com tudo isso, uma vez que o meu modesto celular me atende bem. (sou um dos únicos que usam o celular para - pasme - atender e fazer ligações).

Enfim… apesar de tudo, o que mais me chateava é que o infeliz do celular não funcionava no Linux. Se eu precisasse transferir algum arquivo de/para o celular, eu precisava usar o Windows. Gastei meses e meses procurando alguém que soubesse como fazer para que o bendito funcionasse no Linux, mas não encontrei ninguém nem nada que pudesse dar jeito naquela situação. Cheguei até a trocar algumas vezes de distribuição para ver se conseguia alguma coisa. Obviamente, foi tudo uma grande perda de tempo e fiquei tão nervoso com isso que acabei deixando quieto. :(

Quando tudo parecia perdido…

Após alguns meses, agora que estou usando o novo Ubuntu, versão 7.0.4, resolvi tentar novamente, só para ver o que acontecia. Para minha surpresa, ao plugar o cabo - um DCU-11 USB-Serial que comprei no MercadoLivre - o sistema o reconheceu automaticamente, carregou os drivers e criou um device em /dev/ttyUSB0. Fiquei de cara!! Aquela era A chance de tentar fazer esse trem funcionar!

Depois de testar alguns programas, eis que finalmente consegui fazer com que o OpenOBEX (implementação open source do protocolo OBEX) - especificamente o obexftp - conversasse com o celular. Venho usando o obexftp com sucesso há alguns dias… quer dizer, existem alguns problemas, mas nada que realmente impeça seu uso.

Como sou um cara preguiçoso (no bom sentido, claro), acabei ficando enjoado de ter que abrir o terminal e digitar no braço os comandos necessários para a transferência de arquivos. Por isso, resolvi criar uma aplicação em Swing para atuar como front-end do obexftp (eu com saudades do Swing?). :P O trabalho ainda está no início, mas deixo aqui algumas screenshots para que você possa ver como está ficando:

Conectando… Conectado!
About JTree

Tá ficando legalzinho, não? Por isso que eu digo que Swing não é (mais) feio… dá pra montar telas impecáveis sem baixar nenhum Look and Feel mirabolante nem nada do tipo. Por exemplo, se você procura ícones para a sua aplicação, recomendo o site iconlet, que disponibiliza uma porrada de ícones gratuitos. (mas esse assunto de como criar aplicações “agradáveis” em Swing fica para um outro post…) :)

Embora este projeto ainda esteja no início, eu estou quase terminando de escrever as classes de comunicação com o obexftp e a janela de configuração (mostrada nas screenshots). Já consigo usar 80% das funcionalidades do obexftp através de chamadas aos métodos que escrevi… me resta agora trabalhar na interface com o usuário.

Obviamente eu disponibilizarei o código-fonte da aplicação, que é bastante interessante por mostrar, entre outras coisas, como funciona a comunicação inter-processos, processamento de arquivos XML com JDOM e técnicas de programação Swing em geral.

Aguarde novidades!

UPDATE 1: duas novas screenshots adicionadas;

UPDATE 2: a instalação de aplicações e jogos simplesmente funciona! :)

UPDATE 3: Veja este post para mais detalhes.

Foto por: Google Images.

Tags: , , , , , , , , , , ,