Capítulo 07: Câmera e Arquivos



Documentos relacionados
Definições de Projeto

Capítulo 06: Trabalhando com Intents

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

Capítulo 05: Menus de Contexto

Capítulo 04: Persistência com SQLite

Android Básico Hello World!

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

Interfaces Gráficas parte 3

ESPECIFICAÇÃO TÉCNICA CIELO MOBILE CAIXA RÁPIDO. Julho de 2015

Capítulo 02: Cadastro de Alunos

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Como criar um formulário de pesquisa usando o Google Drive

ESPECIFICAÇÃO TÉCNICA CIELO MOBILE CHAMADA EXTERNA. Maio de 2015

Manual do usuário. Softcall Java. versão 1.0.5

Prof. Jhonatan Fernando

PROJETO PEDAGÓGICO DE CURSOS

Sistemas - Kz_AcessoNv Manual do Usuário Manual do usuário XPVisitante

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Desenvolvimento de um aplicativo básico usando o Google Android

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage

1. Plataforma Sage Primeiro Acesso Configurações Relacionamento Folha de Pagamento esocial...

Microsoft Access XP Módulo Um

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Como colocar uma notícia no site internet da UMMSP?

Aula Au 3 la 9 Windows-Internet

Software Cartão Fidelidade

Como Gerar documento em PDF com várias Imagens

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Módulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Introdução ao Android

GERAÇÃO DE NOTA FISCAL PAULISTA BEMATECH RESTEQ RESOLVE TECNOLOGIA BEMATECH 1

Sistema Click Principais Comandos

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez

MENUS TELA INICIAL. Movimento de Ferramentaria. Alternar entre casas do grupo. Cadastro de Ferramentas. Não Implementado. Cadastro de Funcionários

Google Drive. Passos. Configurando o Google Drive

Manual Xerox capture EMBRATEL

Sistema de Recursos Humanos

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE: SÃO CAETANO DO SUL - SP - CEP

SSE 3.0 Servidor de Notificação por . Cadastrando

Google Android. Intents

Sistemas Operacionais

Especificação do Trabalho

OSMobile Força de Vendas

Prática em Laboratório N.01 Criando um Serviço Web via Console

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI

Programação para Android. Aula 06: Activity, menus e action bar

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

TUTORIAL DE ADMINISTRAÇÃO DO SITE

1. NOVIDADES DO NÚMERO ÚNICO DE PROCESSO. 1.1 Resolução nº 65 do CNJ. 1.2 Conversão do Número do Processo. 1.3 Novos ícones

SPA Sistema de Gestão de Processos Eletrônicos

Controle de Estoque. Configuração e personalização do módulo

Boletim Técnico. Criação de formulário dinâmico para o módulo WEB. Produto : TOTVS Web,

Como atualizar os preços da ABCFarma.

BAIXA E INSTALAÇÃO DE CERTIFICADO A1. Versão 1.0r0 de 29 de Janeiro Classificação: Ostensivo

PASSO A PASSO MOVIE MAKER

Visualizando relatórios pelo NeoNews Player. Documentação para Usuário Final

Manual do Usuário CFCWeb BA

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

Manual Simulador de Loja

Manual de uso do aplicativo Filho Sem Fila

Android e Bancos de Dados

O PaperPort 12 Special Edition (SE) possui uma grande variedade de novos e valiosos recursos que ajudam a gerenciar seus documentos.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1

Como fazer busca de imagem no Google?

Cadastrar Categorias e Produtos

Modo Estrutura é o ambiente de definição e estruturação dos campos, tipos de dados, descrição e propriedades do campo.

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão Copyright Nextel

Oficina de Inclusão Tecnológica Windows Live Skydrive

Manual de Utilização do Zimbra

GESTOR SMS Como enviar SMS Primeiramente click em Mensagens Aparecera o seguinte menu Click em Nova Mensagem

ALBUM DE FOTOGRAFIAS NO POWER POINT

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Introdução a Java. Hélder Nunes

Gravando uma Áudio Conferência

1º No módulo de Gestão Contábil é possível acessar o relatório através do menu Relatórios Razão.

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Exercícios de Java Aula 20 - Matrizes

Orientação a Objetos

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

TUTORIAL COMO CRIAR E EDITAR UM VÍDEO NO WINDOWS MOVIE MAKER*

Exemplo de Aplicaça o Facebook

TUTORIAL PARA ATUALIZAÇÃO DO PORTAL DO TJRN

Manual do Visualizador NF e KEY BEST

Book Flash CS6.indb 8 10/01/ :37:42

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

INSTRUMENTO NORMATIVO 004 IN004

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

Guia de Demonstração MeusPets

CA SERVICE DESK MANAGER

Aula Au 3 la 3 Windows-Internet

SIGESC AVA - Ambiente Virtual de Aprendizagem Cooperativa Manual de utilização Versão SIGESC AVA Ambiente Virtual de Aprendizagem Cooperativa

Sistema de Gerenciamento Remoto

Apostila de Windows Movie Maker

Transcrição:

Capítulo 07: Câmera e Arquivos

Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio palheta

Agenda Arquivos Usar Intent implícita da Câmera do Device Passagem de parâmetros para a Câmera Captura de imagens da câmera Recuperar resultados de uma Activity Carregar imagens de arquivos salvos no device A imagem é perdida quando giramos a tela. E agora? 3/41

Agora queremos completar o cadastro Para completar o cadastro do aluno, queremos usar a câmera do device para capturar sua foto; O arquivo.jpeg da foto ficará armazenado no device No SQLite, guardaremos apenas o caminho para o arquivo físico Na hora de carregar a foto, pegamos o caminho armazenado no SQLite, acessamos o device e carregamos a imagem na tela. 4/41

Android e o sistema de Arquivos No Android, temos as classes tradicionais de arquivos: FileInputStream e FileOutputStream; A Activity tem métodos para gerar esses objetos: FileInputStream stream = openfileinput("arquivo.txt"); E se você precisar trabalhar com memória externa? File diretorio = Enviroment.getExternalStorageDirectory() Devolve um diretório externo, provavelmente, um sdcard 5/41

Câmera O android nos oferece duas formas de manipular câmera, assim como ocorreu com a Chamada Telefônica Na 1a, podemos usar e controlar todo o ciclo de vida e opções do uso da câmera, como, por exemplo, habilitar flash e controlar a entrada de luz Na 2a, podemos chamar uma Activity especialista no tratamento da câmera. Essa Activity recebe como parâmetro, o local para salvar a foto capturada. Bom, acho uma boa optarmos pela 2a alternativa. E vamos aos códigos... 6/41

Exercício 01: Carregar jpeg com a foto Crie o método FormularioHelper.carregarFoto() 7/41

Exercício 01: Carregar jpeg com a foto Crie o método carregarfoto() Crie o método FormularioHelper.carregarFoto() 8/41

Exercício 01: Carregar jpeg com a foto Converte um Arquivo em um Objeto JAVA Crie o método carregarfoto() Crie o método FormularioHelper.carregarFoto() 9/41

Exercício 01: Carregar jpeg com a foto Converte um Arquivo em um Objeto JAVA Crie o método carregarfoto() Crie o método FormularioHelper.carregarFoto() Definição de uma Imagem reduzida 10/41

Exercício 01: Carregar jpeg com a foto Converte um Arquivo em um Objeto JAVA Crie o método carregarfoto() Crie o método FormularioHelper.carregarFoto() Definição de uma Imagem reduzida Atualiza o atributo foto do Aluno 11/41

Exercício 01: Carregar jpeg com a foto Converte um Arquivo em um Objeto JAVA Crie o método carregarfoto() Crie o método FormularioHelper.carregarFoto() Definição de uma Imagem reduzida Atualiza o atributo foto do Aluno Atualiza a imagem na Tela 12/41

Exercício 02: Altere o FormularioHelper 13/41

Exercício 02: Altere o FormularioHelper Carregar a foto do Aluno 14/41

Exercício 02: Altere o FormularioHelper Carregar a foto do Aluno Crie o método getfoto() 15/41

Hora de chamar a câmera Para acessar a câmera, vamos seguir a estratégia de chamar uma Intent implícita, especialista em câmera: Intent irparacamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Podemos informar o local para salvar a foto: irparacamera.putextra(mediastore.extra_output, localfoto); E esperar o retorno, com nome do arquivo gerado. Para isso, informamos um código para a requisição (requestcode), comumente associado a uma constante: startactivityforresult(irparacamera, FAZER_FOTO); 16/41

Hora de chamar a câmera (continuação) O retorno do método startactivityforresult() vem no callback method onactivityresult() @Override protected void onactivityresult( int requestcode, int resultcode, Intent data) { } O requestcode == FAZER_FOTO Já o resultcode pode ser: RESULT_OK: ocorreu tudo bem. :-) RESULT_CANCELED: em caso de problemas ou cancelamento :-( 17/41

Exercício 03: Mudanças no Formulário Na classe FormularioActivity, inclua novos atributos para lidar com a câmera: 18/41

Exercício 03: Mudanças no Formulário Na classe FormularioActivity, inclua novos atributos para lidar com a câmera: 19/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: 20/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Controle do click da Foto do Aluno 21/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Devolve o ImageView da foto Controle do click da Foto do Aluno 22/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Devolve o ImageView da foto Controle do click da Foto do Aluno 23/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: 24/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Local em que a Foto será armazenada 25/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Local em que a Foto será armazenada Referência para o Local de armazenamento 26/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Local em que a Foto será armazenada Referência para o Local de armazenamento Intent Implícita para uso da câmera 27/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Chamando a Câmera 28/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Parâmetro: local de armazenamento Chamando a Câmera 29/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Inicia a Activity da Câmera. A resposta é lançada no método de Callback onactivityresult() Parâmetro: local de armazenamento Chamando a Câmera 30/41

Exercício 04: Click da Imagem No método FormularioActivity.onCreate(), implemente o click da foto: Inicia a Activity da Câmera. A resposta é lançada no método de Callback onactivityresult() Parâmetro: local de armazenamento Chamando a Câmera Código M.Sc. da Márcio requisição Palheta (requestcode) 31/41

Exercício 05: Verificação do resultado Na ForumlarioActivity, crie o método onactivityresult(), para verificar o resultado retornado pela Intent da Câmera: 32/41

Exercício 05: Verificação do resultado Na ForumlarioActivity, crie o método onactivityresult(), para verificar o resultado retornado pela Intent da Câmera: Tratamento da resposta da Intent da câmera 33/41

Teste das atualizações Click na ImageView 34/41

Teste das atualizações Capture a imagem 35/41

Teste das atualizações Salve a imagem 36/41

Teste das atualizações Imagem Atualizada 37/41

Desafio Quando cadastramos um aluno, o formulário está vazio; Se você clicar na foto, a câmera é chamada; A foto é salva no device; E exibida na tela de formulário; Porém, se girarmos a tela, o que acontece? Isso mesmo, a foto é perdida. Resolva esse problema, recorrente em Android Apps Ideia fantástica: acho que você pode usar o Bundle. Só acho :-) 38/41

O que vem a seguir? LayoutInflater Serviços de background: Receber SMS e Tocar MP3 Integração via JSON Tarefas assíncronas e Barra de progresso Fragments Google Maps e GPS 39/41

Referências www.caelum.com.br d.android.com LECHETA, Ricardo. Google Android, 3a edição, Novatec, São Paulo, 2013 Código fonte completo: https://github.com/marciopalheta/cursosandroid 40/41

Capítulo 07: Câmera e Arquivos