Programação para dispositivos móveis (INF15977)
Objetivo
Compreender os ambientes e tecnologias de desenvolvimento para os dispositivos móveis atuais, assim como as linguagens de programação adequadas e características dos aparelhos e sistemas operacionais móveis. Identificar oportunidades de aplicação dos sistemas para dispositivos móveis. Propor, projetar e construir aplicativos para sistemas móveis. Aprender sobre as características inerentes dos dispositivos móveis e das aplicações que rodam nesses ambientes.
Ementa
Características dos dispositivos móveis. Linguagens e ferramentas de desenvolvimento. Recursos de hardware. Interface com o usuário. Ciclo de vida dos aplicativos. Persistência de dados. Webservices.
Conteúdo Programático
- Introdução (2h)
- Apresentação do Curso
- Porquê utilizar Android
- Porquê utilizar Kotlin
- Opções híbridas
- A linguagem de programação Kotlin (8h)
- Breve histórico
- Interoperabilidade
- Tipos de dados
- Controle de Fluxo
- Funções
- Coleções
- Exceções
- Orientação a objetos
- Ambiente de desenvolvimento (2h)
- Android Studio
- Configurando SDK
- Configurando um emulador
- Criando o primeiro projeto
- Introdução ao sistema operacional Android (8h)
- A arquitetura Android
- A camada de aplicativos do sistema
- Componentes do Android
- Intenções
- Contexto
- Introdução Activities e Views
- Principais elementos de Layout
- Ligando Layout e lógica de negócio
- Desenvolvimento do 1ª app
- Explorando as Activities (12h)
- Criando múltiplas activities
- Navegação entre activities
- Ciclo de vida de uma activity
- Internacionalização
- Arquitetura Model-View-ViewModel (MVVM)
- Desenvolvimento do 2ª app
- Criando aplicações com SQLite (8h)
- Introdução aos conceitos básicos de banco de dados
- Utilizando o pacote ROOM
- Criação de uma serviço de CRUD
- Exibindo dados com uma RecyclerView
- Desenvolvimento do 3ª app
- Criando aplicações que utilizam um API web (8h)
- Introdução aos conceitos básicos de uma requisição HTTP
- Utilizando o pacote Retrofit
- Utilizando o serviço Firebase
- Reformulando o 2ª app
- Explorando mais componentes visuais (8h)
- Toast
- Spinner
- Snackbar
- Checkbox
- Datepicker
- Timepicker
- ProgressBar
- Camera
- Relação entre Android e WearOS (4h)
- Entendendo a semelhanças e diferenças
- Criando uma simples aplicação usando WearOS