EA998/MC933 Guido Araujo e Sandro Rigo

Documentos relacionados
API's e Aplicações para Android

Programação para Dispositivos Móveis

EA998/MC933 Guido Araujo e Sandro Rigo

Programação para Dispositivos Móveis. Activities

Capítulo 04: Persistência com SQLite

Processo de Instalação Limpa do Windows 8.1 em Computadores Philco

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Prof. Jhonatan Fernando

Computação II Orientação a Objetos

Atualização de computadores CCE para Windows 8.1 ATUALIZAÇÃO LIMPA

PROJETO INFORMÁTICA NA ESCOLA

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

Usar o Office 365 em seu telefone Android

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

CURSOS ANDROID. Prof: Igor Portela

Manual de Instruções. Touchlight Smart

CONTEÚDO 1- INTRODUÇÃO 2- INTERFACE E FUNCIONAMENTO 3- INTRODUÇÃO AOS APLICATIVOS 4- CONFIGURAÇÕES 5- OUTROS

Como obter Ajuda. Mensagens do sistema. Acessar. Ícones do painel de controle

MANUAL DO USUÁRIO. AssetView FDT. AssetView FDT

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

Android: Ciclo de vida da Activity

Obrigado por comprar este tablet. Por favor, leia e guarde todas as instruções de operação antes de utilizar o aparelho.

MANUAL DO USUÁRIO. para tv TV101

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

Android Básico Hello World!

Manual. Roteador - 3G Portátil

Minicurso - Android Fábio Silva / João Paulo Ribeiro

MANUAL MIKOGO 1. VISÃO GERAL

O que é o Android? O que é o Android

Manual de Riverside Digital - IOS

Manual do Sistema "Fala Comigo - Sistema de Atendimento On-Line" Editorial Brazil Informatica

Como configurar s nos celulares. Ebook. Como configurar s no seu celular. W3alpha - Desenvolvimento e hospedagem na internet

Software de gerenciamento de impressoras

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

MÓDULO 8. Urubu Mobile

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP

Manual de Riverside Digital - Androiddedispositivos e

Universidade Federal da Fronteira Sul Campus Chapecó Sistema Operacional

Guia de Configuração Rápida de Conexão da Rede

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Tutorial Ouvidoria. Acesso, Utilização, Visualização das Manifestações e Resposta ao Manifestante

Conhecendo seu telefone

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

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

Aula 1 Introdução, e conhecendo a Área de Trabalho

Sistemas Operacionais

Seu Android está lento? tente as nossas dicas

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Atualização de computadores para Windows 10 INSTALAÇÃO LIMPA. Windows10. Disponível para os seguintes modelos: CCE AIO A41, A45 e D4030TV.

ÍNDICE. GUIa DE UtIlIzaÇÃo

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

Manual do usuário. Intelbras isic5 Tablet - Android

Manual Backup Online. Manual do Usuário. Backup Online. Versão Copyright GVT

Capture Pro Software. Guia de referência. A-61640_pt-br

Manual de instalação e utilização para o celular

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

App Inventor 2 - programação divertida para Android

Gerenciador de Conteúdo Magellan 2.0

EAI Manual do Administrador

Imóvel Mix SGI. 1. Acesso ao Sistema 2. Aspectos Gerais 3. Configuração da Empresa 4. Cadastro de Usuários

Lotus Notes 8.5 para o Office 365 para empresas

Roteador Load-Balance / Mikrotik RB750

PTT (Push to talk) Definir um ponto de acesso para PTT. Configurações do PTT. PTT (Push to talk)

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

MANUAL DE UTILIZAÇÃO

A licença é vinculada ao HD (Hard Disk) da máquina, esta não podendo ser substituída em caso de formatação ou perda de qualquer espécie do hardware.

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Índice. * Recursos a partir da IOS 4.1. Telefone (11) sac@iphonebest.com.br.

CONFIGURAÇÃO DO BIOS E CARACTERÍSTICAS DE SEGURANÇA

1. Introdução. 2. Conteúdo da embalagem

Conectar diferentes pesquisas na internet por um menu

Manual Software Controle de Jukebox. Manual. Software Controle de Jukebox

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

GUIA INTEGRA SERVICES E STATUS MONITOR

MicroWork TOUCH CRM. Considerações Gerais

Gerenciamento de Processos

Atualização do seu computador com Windows 8 da Philco para o Windows 8.1

AULA 2. Minicurso PET-EE UFRN

Manual do Instar Mail v2.0

Manual de Instalação ( Client / Server ) Versão 1.0

Procedimento para instalação do OMNE-Smartweb em Raio-X

Windows Phone: Acesse Configurações > Rede celular + SIM > Ativada/Desativada. Android: Deslize a tela para baixo e desmarque a opção de dados.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Estruturando um aplicativo

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

EssentialPIM: Organize sua vida sem gastar nada! 01. Start menu program group Desktop icon Quick launch icon 02.

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

Programa Intel Educar Tutorial: Ferramenta de Classificação Visual

Brainloop Secure Dataroom versão 8.30 App QR Code Scanner para ios e Android Guia rápido

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

MANUAL DO USUÁRIO Plataforma Web de 1ª VIA

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Introdução ao Tableau Server 7.0

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

Módulo Contact Solution

Atualização de computadores CCE para Windows 8.1 ATUALIZAÇÃO SIMPLES

Transcrição:

EA998/MC933 Guido Araujo e Sandro Rigo 1

Hoje Ch1: Android Overview Ch2: The Stack Ch3: Quick Start Ch4: Main Building Blocks Ch5: Yamba Project Overview Ch6: Android User Interface Ch7: Preferences, Project Overview, Filesystems, Menus and Intents Ch8: Services Ch9: Database Ch10: List Adapters Ch11: Broadcast receivers 2

Hoje Ch1: Android Overview Ch2: The Stack Ch3: Quick Start Ch4: Main Building Blocks Ch5: Yamba Project Overview Ch6: Android User Interface Ch7: Preferences, Project Overview, Filesystems, Menus and Intents Ch8: Services Ch9: Database Ch10: List Adapters Ch11: Broadcast receivers 3

Main Building Blocks Componentes de projeto Android Activities Intents Services Broadcast Receivers Content Providers Objetivo da aula Entender os componentes principais de projeto usando do Android Compreender quando usar estes componentes Entender relação destes componentes com o ambiente 4

Um Exemplo Real Estratégia de projeto Top-down Pensar nas telas que o usuário irá ver Quais as caracterísiticas e funcionalidades de cada tela Como as tela interagem entre si. Twitter (Yamba) Tela 1: usuário informa suas atualizações Tela 2: usuário é capaz de ver o que os seus amigos estão fazendo Tela 3: usuário precisa entrar nome de usuário de senha 5

Principais Requisitos Precisa ser rápido e independente da rede no ar Usar uma cache local que permita trazer dados remotos Demanda um banco de dados Requer um serviço executando em background Serviço em background deve ser iniciado quando dispositivo ligar 6

Características Activities Activity: uma única tela que o usuário ver por vez Equivalente a uma página web Possui também uma main activity semelhante a uma homepage Navegação semelhante à Web Exemplo Está dentro da app Contact e escolhe um amigo para enviar texto Laça uma nova activity para compor uma mensagem de texto na app Messaging 7

Lançando uma activity Muito custoso Cria um processo Linux Aloca memória para objetos do usuário da UI Gera objetos a partir dos seus layouts XML Prepara e ajusta toda a tela 8

Activity Manager (AM) Funções principais Gerenciador de cache de atividades Criar, destruir e gerenciar activities Projetista tem pouco controle dos recursos (CPU e bateria) No início cria a atividade e coloca-a na tela Quando o usuário troca de activity move a anterior para estado de espera Quando o usuário retornar a atividade pode ser mostrada mais rapidamente Activities mais antigas são destruídas a medida que vão ficando velhas 9

AM: Máquina de Estados (Life Cycle) 10

AM: Starting Cria e inicializa uma atividade Muito custosa em energia Métodos usados para transição oncreate() onstart() onresume() 11

AM: Running Activity na tela e interagindo Activity em foco Somente uma exec. por vez Gerencia tarefas como: Digitação Toque de telas Clique de botões Prioridade máxima de recursos 12

AM: Pause Entra quando onpause() executa Na tela, mas não interagindo Exemplo: dialog box na frente de uma activity Podem mover-se para estados: Sttoped: via onstop() Running: via onresume() Prioridade máxima de recursos 13

AM: Stopped Activity não visível Ainda na memória Na tela, mas não interagindo Mesmo assim pode estar exec. Podem mover-se para estados: Destroy: via ondestroy() Running: via oncreate() onstart() onresume() 14

AM: Destroyed Activity não é mais necessária Antes de destruída pode realizar algumas tarefas como salvar dados, etc. Em alguns casos pode ser destruída em Paused Melhor deixar para salvar dados antes de entrar em Paused vindo de Running 15

Intents (IT) Características principais Mensagens enviadas entre os blocos da aplicação Disparam uma activity na inicialização Informam o serviço para começar ou terminar Intents são assíncronas, o código que as envia não precisa aguardar que elas concluam 16

Intents (IT) Podem ser explícitas ou implícitas Explícita: especifica que componente deve receber a msg. Implícita: qualquer aplicação que oferece o serviço pode receber Se implícita, o sistema lista e app escolhe. Pode definir uma default Permite baixar novas app e trocar serviços usados pela sua app 17

Intents (IT) 18

Services (SV) Características principais Executam em background Não possuem qualquer componente de UI Executam mesmas ações de activities, mas sem UI Úteis quando desejamos executar por algum tempo, independente do que está na tela NOTA: Não confundir com serviços de baixo nível do Linux Exemplo Um tocador de música quando usando outras apps 19

SV: Life Cycle Mais simples que o AM Inicia ou Finaliza: Starting Running Destroyed Projetista tem mais controle dos recursos (CPU e bateria) Precisa cuidar do uso adequado 20

Activities e Services Threads Services executam em background mas não necessariamente em uma tthread separada Default: Services e Activities executam na mesma thread principal da aplicação, chamada UI thread Dica importante: Usar thread separada para quaisquer operações potencialmente longas (ex. chamada de rede) De outra forma a UI vai ficar muito lenta 21

Content Providers (CP) Características principais Interfaces para partilhar dados entre aplicações Android usa modelo de sand-box isolando apps CP passa dados persistentes entre aplicações CP API obedece aos princípios de CRUD para uso de dados (Create, Read Update and Delete) Métodos bem simples: insert() update() delete() query() 22

Exemplos Content Providers (CP) Contacts Provider: expõe contatos do usuário a todas apps Settings Provider: expõe configuração do sistema a todas apps Media Store: armazena e expõe fotos, músicas para todas apps 23

Content Providers (CP) Separação de papéis entre Activity e CP Activity não possui contatos do usuário CP não possui qualquer interface com usuário Flexibiliza em muito o projeto Exemplos: Instalar nova app para livro de endereços, usando os mesmos dados do Contacts Provider Instalar novos widgets na tela principal que permite alterar os ajustes do Settings Provider (ex. WiFi on and off). Fabricantes usam muito isto para adicionar suas apps sobre o Android padrão 24

Broadcast Receivers (BR) Características principais Implementação Android do modelo Observer Pattern BR é um pedaço de código dormente que acorda quando ocorre um evento que ele assinou em um Broadcast Usado para iniciar activities, services, etc. Exemplos Muito usado pelo próprio sistema Chegada de um SMS, Bateria ficando baixa, sistema inicializado No caso do Yamba, iniciar o sistema de update quando do boot Subscrever o seu BR ao Broadcast que informa que o sistema completou o boot 25

Application Context (AC) Características principais Ambiente e processo da App Componentes anteriores executam dentro de um AC Permite que eles partilhem dados e recursos Criada quando o primeiro componente da App é iniciado Viva enquanto a App viver independente das activities Referência para AC Context.getApplicationContext(), ou Activity.getApplication() 26

Aulas Ch1: Android Overview Ch2: The Stack Ch3: Quick Start Ch4: Main Building Blocks Ch5: Yamba Project Overview Ch6: Android User Interface Ch7: Preferences, Project Overview, Filesystems, Menus and Intents Ch8: Services Ch9: Database Ch10: List Adapters Ch11: Broadcast receivers 27

Yamba Características Yet Another Micro Blogging App Semelhante ao Twitter App familiar à maioria dos alunos Permite conectar ao serviço, ver status dos amigos e atualizar o próprio status Cobre a maioria dos blocos vistos anteriormente 28

Friends Timeline 29

User Status Update 30

User Preferences 31

Incremental Yamba: Filosofia do Projeto Vamos acompanhando em lab. o desenvolvimento Gradualmente crescendo em funcionalidade e complexidade Sempre completo Projetando em pedaços (activities, services, broadcast receivers) App precisa sempre funcionar, mesmos em etapas intermediárias do projeto. Refatoração de código Enfatizar reuso sempre Livro usa refino do projeto de uma solução para outra melhor 32

Yamba Project Overview 33

Aulas Ch1: Android Overview Ch2: The Stack Ch3: Quick Start Ch4: Main Building Blocks Ch5: Yamba Project Overview Ch6: Android User Interface Ch7: Preferences, Project Overview, Filesystems, Menus and Intents Ch8: Services Ch9: Database Ch10: List Adapters Ch11: Broadcast receivers 34