segunda-feira, 4 de julho de 2011

Google Cloud Print + Android

Olá povo,

O post de hoje tem todos os créditos do meu colega Felipe Vasconcelos, que precisou adicionar a funcionalidade de imprimir um documento através de um aparelho Android.
A solução utilizada por ele foi o Google Cloud Print (http://www.google.com/cloudprint), um serviço que permite com que você compartilhe a(s) impressora(s) conectadas à sua máquina através da sua conta do Google.


O serviço está disponível apenas para máquinas Windows, por enquanto. Para utiliza-lo, é necessário fazer o download do Chrome, em seguida, habilitar o serviço. Para tal, basta seguir esse tutorial (do próprio Google).

Após habilitar o serviço, basta entrar no site do cloud print e "automagicamente" as impressoras que estão conectadas à sua máquina estarão "nas núvens", prontas para receber impressões.

Para imprimir documentos a partir da sua aplicação Android, basta adicionar os arquivos print_dialog.xml e PrintDialog.Activity.java ao seu projeto Android (na pasta res/layout e src respectivamente). Não esqueça de declarar a Activity e adicionar a permissão android.permission.INTERNET ao AndroidManifest.xml. Esses arquivos são do próprio Google (veja aqui).

Agora, para imprimir um arquivo TXT que esteja no SDCard, por exemplo, basta utilizar o código abaixo:


Intent printIntent =
new Intent(this, PrintDialogActivity.class);

printIntent.setDataAndType(
Uri.parse("file:///mnt/sdcard/arquivo.txt"),
"text/plain");

// Job da impressora
printIntent.putExtra("title", "Meu arquivo");
startActivity(printIntent);
Como vc deve imaginar, se fosse imprimir outro tipo de arquivo, bastaria mudar o MIME type.
Será exibida a tela abaixo. Faça o login no aparelho Android, selecione uma impressora, clique em "Print" e pronto!





Parabéns Felipe! Grande dica. E qualquer dúvida, falem com ele :)

4br4ç05,
nglauber

Nenhum comentário: