-
Notifications
You must be signed in to change notification settings - Fork 0
Sumarios
fmcarvalho edited this page Sep 23, 2019
·
34 revisions
Aulas:
- 09-09-2019 - Aula 01 - Apresentação
- 11-09-2019 - Aula 02 - Kotlin
- 16-09-2019 - Aula 03 - Kotlin - laboratório
- 16-09-2019 - Aula 04 - Kotlin - laboratório
- 23-09-2019 - Aula 05 - Android Intro
09-09-2019
- Apresentação.
- Âmbito da disciplina.
- Avaliação teórica e prática (3 entregas).
- Introdução ao ambiente de programação em Kotlin
- Compilador Kotlin de linha de comando (
kotlinc
) - Modelo de execução sobre a JVM
- Exercícios: Kotlin Koans
- Caracterização geral da linguagem Kotlin:
- Tipificação estática com inferência de tipos
- Object-Oriented com suporte para os estilos imperativo e funcional
- Funções:
fun [<parametros de tipo>] <nome> ([parametros formais]) : [tipo retorno] {...}
- Tipo Função -- notação especial correspondente à assinatura, i.e.
(Tipo de Parametros)
->
Tipo Retorno
- Tipo Função e.g.
(Int) -> String
,() -> Unit
, entre outros. -
Typealias e.g.
Predicate<T> = (T) -> Boolean
-
lambdas:
{ param1, param2, ... -> block }
or{ block }
-
it
-- implicit lambda parameter -
Function references -
::
like Java - SAM (Single Abstract Method) compatível com lambda
-
read-only (e.g.
listOf()
,setOf
)<vs>
mutable collections (e.g.mutableListOf
,mutableSetOf
)
-
?
for Nullable --val variable: Type? = value
-
?.
-- safe call -- access member only if notnull
. Otherwise returns null.
- Resolução do TPC 2
- Basic parts: Manifest, Main Activity e Gradle build;
-
Activity
: UI Component (subclasse deContext
) -
Activity
:- visual + comportamento
- visual (
src/main/res/layout/...xml
) + comportamento (src/main/java
) - Analogia ao front-end Web: visual (HTML e CSS) + comportamento (Javascript)
-
Activity
-- ciclo de vida, i.e.Created
,Started
(visível),Resumed
(primeiro plano),Paused
,Stopped
, etc; -
Activity
-- métodos "gancho", i.e.onCreated()
,onStarted()
, etc
-
Actvities sao iniciadas por instâncias de
Intent
-
Intent
:- mensagem assíncrona;
- ligação entre componentes (e.g. Activities)
-
Main Activity
<--
intent.action.MAIN
- UI = Layouts + Widgets:
-
Layouts =
ViewGroup
objects = widget containers -
Widgets =
View objects
= UI components e.g. botões, caixas de texto, etc
-
Layouts =
ConstraintLayout
-
Android Studio Layout Editor
--->
activity_...xml
-
R
- classe gerada dinamicamente com constantes dos identificadores (e.g.R.id.buttonSend
) - Eventos e Listeners