SS3078 - Programando o Android

O curso de Android tem como foco os principais conceitos e boas práticas para o desenvolvimento mobile na plataforma Android da Google. Mostrando seus principais Widgets nativos e até mesmo algumas bibliotecas que auxiliam no desenvolvimento.

As aplicações desenvolvidas neste curso poderão consumir dados de WebServices e/ou persistir tanto localmente quanto em nuvem através dos bancos de dados SQLite(nativo) / Firebase(Google).

Com base neste treinamento você estará apto para desenvolver qualquer aplicativo na plataforma Android de forma nativa.

Datas: 21 ago - 01 set
N Noite - 19h às 23h
Datas: 21 ago - 01 set
N Noite - 19h às 23h
O Online - Ambiente digital
Datas: 21 out - 18 nov
S Sábado - 8h30min às 12h30min e 13h30min às 17h30min
Datas: 21 out - 18 nov
S Sábado - 8h30min às 12h30min e 13h30min às 17h30min
O Online - Ambiente digital

Carga Horária

40 h

Conteúdo

Módulo 1 – Introdução ao Android

O Android no mercado
História do Android + História dos aparelhos
Dispositivos Android
SDK Android
Configurando Ambiente de desenvolvimento
Emulador nativo (AVD nativo) x Emuladores (Genymotion, Memu, Blue Stacks)
Criando uma aplicação
Conhecendo a estrutura de arquivos
O que é uma Activity
Gerenciador de dependências Gradle
A Classe R

Módulo 2 - Estrutura Projeto Android

main.xml
strings.xml, styles.xml, colors.xml, dimens.xml,
Ícone da aplicação (Iconograph)
Internacionalizando uma aplicação
AndroidManifest.xml (Começando a entender o manifest)


Módulo 3 – Layouts, Gerenciadores e suas propriedades

Atributos Widgets
@+id, hint, labelFor
layout_width
layout_height
layout_weight
Explicando wrap_content, match_parent (antigo fill_parent)
Trabalhando com medidas dp, sp, px, pt, ....
Gerenciadores de Layouts
            Layouts aninhados x Constraint Layouts.

            Linear Layout (Horizontal e vertical)
            Scroll Layout
            Frame Layout
            Table Layout, Table Row
            Relative Layout

            Constraint Layout
TextView, EditText, Button, ImageButton, ImageView, Checkbox, RadioButton

Módulo 4 – Enviando msgs para o usuário

Entendendo Toast, Alert e SnackBar.
Utilização da bibilioteca Material Dialog.

Módulo 5 – Entrada de dados

Método findViewById()
O que são eventos
Tipos de eventos (OnClick, OnLongClick, ...)
Criando eventos
Associando eventos aos botões.
Criando campos para entrada de dados a partir do usuário.

Módulo 6 – Intent implícita x explícita

Intent básica
Abrindo outra Activity
Intent trafegando String entre janelas
Intent trafegando objeto entre janelas
Intent retornando String de uma janela para outra

Módulo 7 – Compreendendo permissões

Uses permission x Dangerous permissions
Entendendo como funcionam as permissões habilitadas individualmente a partir da API 19.
CheckSelfPermissions

Módulo 8 – Entendendo ciclo de vida das Activitys e LogCat

Ciclo de vida de uma Activity
onCreate, onPause, onResume, onStop, onRestart, onDestroy.
classe LogCat
Filtrando por categoria
Tipos de Log(v, d, i w)

Módulo 9 – Widgets, RadioButton, CheckBox e Spinner

Utilizando RadioButton, CheckBox e Spinner no Android.
Introdução do String-array
Utilização do evento OnItemSelected

Módulo 10 – ListView, GridView, CardView e Adapters

Spinner com ArrayAdapter
ListView x GridView
Utilização de ambas através de ArrayAdapter, Base Adapter e RecyclerView.

Criando CardView

Módulo 11 – Banco de dados nativo SQLite*

Design Patterns DAO
Implementando DAO

Criando banco de dados
Criando tabelas
Inserindo e visualizando Informações
A classe SQLite Database
Persistindo informações
Retornar informações

*Dicas sobre bibliotecas para Banco SQLite.

Módulo 12 – Introdução ao desenvolvimento a partir de Fragments

Criação de um fragment
Ciclo de vida de um fragment
Gerenciador de fragments
Transações com fragments

Módulo 13 – Menu em Android

Trabalhando com o menu Material Drawer (lib utilizada pelo menu do Google)

Módulo 14 – Consumindo API Web

Uso de Web-Service REST através de HTTP JSON ()

Módulo 15 - Explorando base NoSQL do Firebase

Desenvolvimento de aplicativos Android acessando API RESTful do Firebase.

*Dicas sobre outros bancos atuais no padrão NoSQL.

Módulo 16 - Localização e mapeamento

Serviços baseados em localização
Mapeamento
A atividade do Google Maps
Trabalhando com MapViews
Inicialização de MapView e MyLocationOverlay
Controle do mapa com botões de menu
Controle do mapa com o teclado numérico

Módulo 17 – Google Play

Como funciona a conta de desenvolvedor
Certificado digital
Publicando aplicação

Pré-requisitos

- Conhecimentos básicos de linguagem SQL
- Lógica de Programação (SSWLPR)
- Desenvolvimento Orientado a Objeto – OOP (SS2904) ou conhecimento equivalentes.