Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
Uma vez obtida aprovação na disciplina, o aluno deverá demonstrar capacidades para conceber e desenvolver Apps:
- Na plataforma e ferramentas adotadas;
- Que minimizam a probabilidade de situações de ANR (Application Not Responding) e de excepções de runtime.
- Caracterizadas por multilinguismo, retro compatibilidade e suporte a recursos alternativos; - Fazendo uso de recursos multimédia e de sensores; - Integrando funcionalidades externas, nomeadamente APIs terceiras e online;
Conteúdos programáticos
A. Modelação e recursos
"Custom classes" como tipos de dados especializados
Recursos alternativos
Suporte a múltiplas linguagens
Suporte a diferentes dispositivos
B. Dados
Objetos simples do sistema
Ficheiros
Bases de dados nativas, com SQLite
C. Interface
Layouts, "inflaters"
Views, Activities, Fragments
D. Imagens
-Camera, camera intents
Operações sobre e com as imagens
E. Tarefas Assíncronas
AsyncTask
F. Interações externas
HTTP(S)
Aplicações
Geolocalização
Procuras
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular
Os tópicos permitem ao estudante fazer uma segunda iteração, por conceitos introduzidos na UC anterior a esta, e também avançar no sentido de aplicações mais ricas.
A abordagem com separação entre dados específicos da app, a sua interface, os seus recursos e a integração disciplinada de todas as partes, deverá fortalecer práticas MVC e padrões de criação que facilitam a internacionalização e a robustez do software.
A utilização de "custom classes", sempre que apropriado, convida os estudantes a serem objetivamente originais, e a pensarem em soluções de software únicas.
As interações assíncronas com recursos externos, tipicamente servidos por http(s), deverá alargar o espectro de utilidade das Apps, sem comprometer as boas práticas exigidas na plataforma.
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico
A. Metodologia:
Apresentações, exemplos e casos de estudo
Desenvolvimento prático de soluções com as soluções adotadas.
B. Avaliação:
Nota final = 50% * (trabalho de grupo) + 50% * (teste individual)
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular
As apresentações, os exemplos e os casos de estudo introduzem,
ilustram e concretizam os conceitos, promovendo a consolidação das aprendizagens de forma gradual e com a participação ativa dos alunos.
O desenvolvimento na prática
expõe os estudantes à realidade das soluções adotadas, devendo
traduzir-se em aptidões para a criação de apps móveis.
Bibliografia de consulta (existência obrigatória)
Murphy, M. (2020). The Busy Coder's Guide to Android Development: https://commonsware.com/Android/.
Android Developers - Training. (2020). from https://developer.android.com/training/index.html
Bill Phillips, C. S., Brian Hardy. (2018). Android Programming: The Big Nerd Ranch Guide: Big Nerd Ranch Guides.
Joseph Annuzzi Jr., L. D., Shane Conder. (2015). Introduction to Android Application Development: Addison Wesley.