Skip to content

Sumarios

fmcarvalho edited this page Sep 23, 2019 · 34 revisions

Aulas:


09-09-2019

  • Apresentação.
  • Âmbito da disciplina.
  • Avaliação teórica e prática (3 entregas).

  • 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 not null. Otherwise returns null.

  • Basic parts: Manifest, Main Activity e Gradle build;
  • Activity: UI Component (subclasse de Context)
  • 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
  • ConstraintLayout
  • Android Studio Layout Editor ---> activity_...xml
  • R - classe gerada dinamicamente com constantes dos identificadores (e.g. R.id.buttonSend)
  • Eventos e Listeners
Clone this wiki locally