Disciplina:
DCCxxx: Programação para Dispositivos Móveis
Professores responsáveis: Fernando Magno Quintão Pereira ou Luiz Felipe Menezes Vieira
Carga Horária: 30 horas
Créditos: 2
Pré-Requisitos: Conhecimentos básicos de programação orientada por objetos
Tipo: Optativa
Objetivos
Essa disciplina cumpre dois objetivos. Em primeiro lugar, ela introduz o aluno às noções básicas de programação para dispositivos móveis, em particular tablets e
smartphones.
Em segundo lugar, a disciplina permite que o aluno exercite os conceitos de programação orientada a objetos e
engenharia de software que foram obtidos ao longo do
Curso de Especialização em Informática.
Ementa
- Interfaces gráficas para dispositivos móveis.
- Tratamento de eventos.
- Aplicações multimídia.
- Comunicação entre processos.
- Comunicação com servidores.
- Persistência de dados.
- Provedores de conteúdo.
- Geolocalização.
- Mapas.
- Extreme Programming.
Programa
1 Interfaces gráficas para dispositivos móveis.
1.1 Criação e organização de Janelas gráficas.
1.2 Estruturação de ambientes gráficos via descrição textual.
1.3 Programação modular de ambientes gráficos.
1.4 O padrão de projetos composite.
1.5 Os componentes gráficos mais comuns.
2. Tratamento de eventos.
2.1 Padrões de projetos mais comuns para tratamento de eventos.
2.2 Componentes gráficos, eventos relacionados, e formas de tratamento.
2.3 O padrão de projetos Command.
3. Aplicações multimídia.
3.1 Armazenamento e processamento de dados multimídia.
3.2 Tratamento de eventos relacionados a imagens e sons.
4. Comunicação entre processos.
4.1 Programação multi-threading.
4.2 Técnicas modulares de desenvolvimento de escutadores de eventos.
4.3 Organização e tratamento de serviços.
5. Comunicação com servidores.
5.1 O modelo cliente-servidor.
5.2 Envio de dados em canais de baixa banda.
5.3 O padrão de projetos Decorator.
5.4 Programação orientada a fluxo de dados.
6. Persistência de dados.
6.1Formatos de dados para armazenamento em dispositivos restritos.
6.2 Eventos de bancos de dados.
6.3 Armazenamento de informação em sistemas de arquivos.
6.4 Bancos de dados mais comuns para dispositivos móveis.
7. Provedores de conteúdo.
7.1 Programação orientada à tarefas.
7.2 Centralização de serviços.
7.3 Reutilização de processos em ambientes móveis.
8. Geolocalização.
8.1 Sistemas de coordenadas geográficas.
8.2 Provedores de localização mais comuns.
8.3 Eventos de localização.
9. Mapas.
9.1 Sobreposição de informações geográficas em mapas.
9.2 Decoradores aplicados à mapas.
9.3 Lidando com eventos de mapas.
9.4 Obtendo coordenadas geográficas a partir de mapas.
9.5 Obtendo endereços reais a partir de mapas.
10. Extreme Programming.
10.1 Formas de programação ágil.
10.2 O método scrum.
10.3 Desenvolvimento de software em ciclos curtos.
Bibliografia
1. Hello, Android: Introducing Google's Mobile Development Platform. Ed Burnette, isbn: 978-1934356173.
2. Android Application Development. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike, isbn: 978-0596521479.
(MASB-17/07/2012)
|