O desenvolvimento de apps nativas para Android utiliza o ambiente de desenvolvimento Android Studio, a linguagem Java, o Android SDK, bem como um conjunto de bibliotecas específicas.
Este curso tem como objetivo dotar os formandos dos conhecimentos teóricos e práticos necessários para criar apps nativas para Android.
Destinatários
Destina-se a programadores interessados em adquirir e/ou aprofundar conhecimentos de desenvolvimento de apps para Android.
Pré-Requisitos
Este curso apresenta como pré-requisito gosto e apetência pelo desenvolvimento de apps para equipamentos móveis. Conhecimentos de algoritmia e experiência em linguagens de programação.
Metodologia
Presencial ou live training.
Programa
- Introdução
- Activities
- Listeners
- View e Layouts
- Fragmentos
- Intent
- Adapters
- BroadcastReceivers
- Operações em background
- Persistência local de Dados
Introdução
- Ferramentas – Android Studio e Emuladores
- Framework
- Versões da plataforma
- Processo de desenvolvimento
- Visão geral dos componentes principais
Activities
- Classes Activity e Context
- Ciclo de vida da Activity
- Android Monitor (logcat e Monitors)
- Interface gráfica – Layout
- Associar um Layout a uma Activity
- Ficheiro Manifesto
- Deploy da aplicação para o dispositivo
Listeners
- Ligação entre a Activity e os componentes do Layout
- Introdução à biblioteca ButterKnife
- Introdução às dependências (gradle e maven)
- Toast
- OnClickListener, addTextChangeListener, entre outros
- Recriação da Activity
- Bundle
View e Layouts
- View e ViewGroup
- Propriedades das Views
- LinearLayout e RelativeLayout
- Orientação do ecrã (portrait vs landscape)
- Tipos de medidas (px, dp, dpi, sp)
- Views customizadas
- Drawables e colors
- Styles
Fragmentos
- Classe Fragment
- Ciclo de vida do Fragmento
- Fragment Manager
- Adicionar e remover Fragmentos a uma Activity
- Fragment Transactions
- Comunicação entre um Fragmento e Activity
- Diálogos – DialogFragment
Intent
- Iniciar componentes Android
- Tipos de Intent (explicítos vs implícitos)
- Passagem de informação entre componentes Android
- Intent Filters
- Interface Parcelable
- Tratamento das Runtime Permissions
Adapters
- ArrayAdapter
- ListView
- Padrão View Holder
- RecyclerView
BroadcastReceivers
- Subscrição estática vs Subscrição dinâmica
- Recepção e envio de broadcasts
- LocalBroadcastManager
Operações em background
- AsyncTask
- UIThread vs Background Threads
- IntentService
- AsyncTask vs IntentService
Persistência local de Dados
- Shared Preferences
- Internal Storage vs External Storage
- Classe Application
- Base de dados SQLite