Buscar

Portfolio I Programação para Dispositivos Móveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

...............................................................................................................................
análise e desenvolvimento de sistemas
programação para dispositivos móveis
priscila vieira dantas - 980309
portfolio i 
...............................................................................................................................
Guarulhos
2017
priscila vieira dantas
portfólio i
Trabalho apresentado ao Curso Análise e Desenvolvimento de Sistemas da Faculdade ENIAC para a disciplina Programação para Dispositivos Móveis.
Prof. Lúcio Luzetti.
Guarulhos
2017
Respostas
.............................................................................................................
APLICAÇÃO 
1) Explique e de exemplos de cada uma das formas de Layout abaixo: 
AbsolutePosition 
Absolute Position ou Absolut Layout Este tipo de Layout já foi muito usado, atualmente os desenvolvedores optam por não usar já que nele todas as coordenadas devem ser explicitamente determinadas, isso faz com que o aplicativo seja projetado para apenas um tamanho de tela.
 Apesar desse layout estar depreciado para uso no Android, ainda pode ser aquela carta debaixo da manga quando para constuir layouts complexos e diferenciados. Sempre que tiver outra alternativa ante ao uso do AbsoluteLayout e fortemente recomendado que se utilize essa alternativa, pois como dito acima, o AbsoluteLayout está depreciado e é bem capaz que em versões futuras da API Android ele não mais seja aceito.
Este tipo de layout organiza seus componentes de forma a implementar um plano cartesiano, no qual as suas posições x e y devem ser definidas para que estes possam ser posicionados de forma absoluta, sendo que os valores da coordenadas de x crescem da esquerda para direito e da coordenada y, de cima para baixo.
Este tipo de layout deve ser utilizado com cautela, pois seus objetos são sobrepostos e caso suas posições sejam informadas incorretamente, o layout da sua aplicação não se comportará da forma desejada caso ela seja desenvolvida para rodar em dispositivos com resoluções diferentes.
Exemplo:
FrameLayout 
Este tipo de layout é um dos mais simples e mais utilizados pelos desenvolvedores do Android. Um dos fatores por ele ser bastante utilizado é por exibir um único ponto de vista, seu tamanho é definido pelo seu maior filho, mais o espaçamento e todos os componentes são agrupados no canto superior  esquerdo do layout. 
LinearLayout
Este é um layout padrão criado automaticamente quando construímos um projeto, ele é utilizado para mover seus componentes em uma única direção: vertical ou horizontal.
Este tipo de Layout respeita as margens e alinhamento (ao centro, a esquerda ou a direita. Em Android chamados esse atributo de gravity).
É possível atribuir pesos, individualmente para que os componentes possam ocupar o restante do espaço do layout, evitando que pequenos objetos deixem espaço desnecessários no layout.
Os componentes podem ser  ajustados para preencher todo o espaço da tela, variando assim a necessidade de cada projeto.
TableLayout 
O TabletLayout comporta seus filhos em linha e colunas. Cada filho é representado pelo componente TableRow (que uma espécie de LinearLayout restrito na direção horizontal) que permite que uma ou mais células sejam adicionadas horizontalmente, sendo que cada celula pode conter apenas um único View.
O número de colunas é definido pela linha que tiver mais células. Este tipo de layout não mostra as linhas utilizadas para dividir TableRow, colunas ou células (que são mostradas em linhas tracejadas vermelhas).
Conforme uma TableRow for sendo adicionada , o próximo será adicionado abaixo da anterior e assim sucessivamente. As células podem ser vazias, e as colunas podem ser ocultadas ou marcadas para preencher os espaços restantes da tela ou para que sejam compressíveis para forçar que estas sejam ajustadas até que complete todo o espaço restante da tela.
RelativeLayout 
O RelativeLayout é um layout que organiza seus componentes de forma relativa e é um dos Layout mais utilizados pelos desenvolvedores Android. A posição de cada um dos componentes pode ser especificada de acordo com a relação do elemento irmão (tal como para a esquerda, de ou abaixo de outro ponto de vista).
��
GridView 
GridView é um ViewGroup que exibe itens em uma grade bidimensional, rolável. Os itens de grade são automaticamente inseridos no layout usando um ListAdapter.
 2) Explique o que é evento. De exemplos do cotidiano. 
A programação para Android, semelhantemente a outros ambientes, linguagens e ferramentas gráficas, é orientada a eventos, neste caso, aos cliques e toques na tela.
Cada vez que um usuário clica em um botão, seleciona um item em uma lista, ou pressiona uma tecla, o sistema operacional gera um evento 
Se uma aplicação está interessada em um evento específico (por exemplo, clique em um botão), deve solicitar ao sistema para “escutar” o evento. Se a aplicação não está interessada, seu processamento continua de forma normal. 
É importante observar que a aplicação não espera pela ocorrência de eventos isso é controlado pelo sistema.
Para que um componente ou container possa “escutar” eventos, é preciso instalar um listener. Listeners são classes criadas especificamente para o tratamento de eventos.
Um event listener é uma interface da classe View que contém um método simples de chamada. Esse método pode ser chamado pela framework Android quando a View a qual o listener está registrado é chamado por uma interação de usuário com um item da interface, ou seja, quando a ação correspondente ocorre no objeto. 
Por exemplo, quando um botão é clicado, o método onClick() é chamado no objeto.  
3) Explique a função de cada elemento a seguir:
 a) Manifest 
O arquivo AndroidManifest.xml é o arquivo principal do projeto, onde  ficam todas as configurações. Ele obrigatoriamente deve ficar na pasta raiz do projeto, contendo todas as configurações necessárias para executar a aplicação, como o nome do pacote utilizado, o nome das classes de cada activity e várias outras configurações.
Dentro da tag <manifest> é necessário declarar o pacote principal do projeto, utilizando a tag <package>. É obrigatório que cada activity do projeto esteja declarada no arquivo AndroidManifest.xml, caso contrario não é possível utiliza-la. Para declarar a activity é utilizada a tag <activity>, que recebe o nome da classe, e é sempre relativa ao pacote principal.
b) Activity 
 Activities são componentes independentes que representam as interfaces do seu aplicativo. Elas podem ser organizadas em blocos totalmente reutilizáveis para serem compartilhadas entre diferentes aplicativos.
Um aplicativo de e-mail, por exemplo, pode ter uma Activity especificamente para editar e enviar uma mensagem de e-mail. Um desenvolvedor pode estar desenvolvendo um aplicativo que também precisa enviar uma mensagem de e-mail. Em vez de desenvolver uma Activity de e-mail para o novo aplicativo, ele pode simplesmente usar a Activity do outro aplicativo de e-mail.
c) Intent 
Intents são mensagens assíncronas que permitem que um componentes solicite funcionalidade de outros componentes, em uma linguagem mais simples é a intenção de se realizar uma ação. Por exemplo, uma Activity pode iniciar uma outra Activity externa para tirar uma foto.
Com o uso dos intents é possível iniciar novas Activitys, fazer uma busca, selecionar um contato do telefone, abrir o mapas nativo, abrir o navegador, usar a câmera entre outras coisas.
Intents são objetos do tipo android.content.Intent. Um intent pode conter dados através de um Bundle. Estes dados podem ser usados ​​pelo componentereceptor.
O Android suporta dois tipos de Intents:
- Explicitas:
É definido explicitamente o componente que deve ser chamado pelo Android , usando a classe Java como identificador. Normalmente, dentro do intent, é utilizado classes criadas pelo próprio desenvolvedor.
Intent i = new Intent(this, ActivityDois.class); 
i.putExtra("Valor1", "Valor 1 para ActivityDois"); 
i.putExtra("Valor2", "Valor 2 para ActivityDois"); 
- Implícitas:
Um intents implícito procura por todos os componentes que são registrados para a ação específica e o tipo de dados adequado.
Se a intenção implícita é enviada para o Android , ele procura por todos os componentes que são registrados para a ação específica e o tipo de dados adequado.
Se apenas um componente for encontrado, Android começa diretamente por ele. Se várias são identificados, o usuário receberá um diálogo de seleção e pode decidir qual o componente deve ser utilizado para a ação.
Intenção i = new Intent ( Intent.ACTION_VIEW , URI.parse ( "http://www.vogella.com "));
startActivity ( i ) ;
d) Intent Filter 
Descrição estruturada dos valores de intenção a serem combinados. Um IntentFilter pode combinar com ações, categorias e dados (por meio de seu tipo, esquema e / ou caminho) em um Intent. Também inclui um valor de "prioridade" que é usado para ordenar vários filtros de correspondência. Objetos IntentFilter geralmente são criados em XML como parte do arquivo AndroidManifest.xml de um pacote, usando tags de filtro de intenção. Há três características de Intenção que você pode filtrar: a ação, dados e categorias. Para cada uma dessas características, você pode fornecer vários valores de correspondência possíveis (via.
 addAction(String), addDataType(String), addDataScheme(String), addDataSchemeSpecificPart(String, int),addDataAuthority(String, String), addDataPath(String, int), e addCategory(String), respectivamente)
e) BroadcastReceiver
Um BroadcastReceiver (receptor) é um componente Android que permite que você se registre para eventos de sistema ou aplicativo. Todos os receptores registrados para um evento são notificados pelo Android runtime uma vez que este evento acontece.
Por exemplo, os aplicativos podem se registrar para o evento do sistema ACTION_BOOT_COMPLETED que é disparado uma vez que o sistema Android concluiu o processo de inicialização
Service
Um dos principais componentes de uma aplicação Android são os Services.
Assim como as Activities, os Services são componentes fundamentais em uma aplicação, possuindo ciclo de vida próprio. Porém, são diferentes das Activities nos seguintes pontos:
Não possuem interface com o usuário.
Sua execução continua mesmo quando o usuário inicia outra aplicação.
Por conta dessas características, os Services são geralmente utilizados para realizar tarefas de sincronização (com um servidor, por exemplo) podendo ter sua execução agendada e não dependendo de nenhuma ação do usuário. Por isso, são chamados de componentes de background.
 Tipos de Serviços
Existem dois principais tipos de serviços:
Started (unbounded): são serviços iniciados através de outros componentes (activities, por exemplo) através do método startService(). Após o seu início, o serviço pode continuar sendo executado indefinidamente.
Bounded: são serviços iniciados através do método bindService(). Os Bound Services interagem com os outros componentes através de uma interface cliente-servidor, que inclusive podem ocorrer entre diferentes processos (IPC). Um Bound Service é executado enquanto possuir requisições a serem tratadas.
O ciclo de vida de um serviço é análogo ao de uma Activity, porém um pouco mais simples. O diagrama abaixo ilustra o fluxo de chamadas de métodos para ambos os tipos de serviço:

Outros materiais