Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Training Program - Portugal, Aula 1

ATP Portugal
October 21, 2020

Android Training Program - Portugal, Aula 1

Aula #1: Bem-vindos ao Android 👋

Vamos a isto!

Durante as próximas semanas vais desenvolver uma aplicação Android utilizando as diferentes funcionalidades que a plataforma te fornece e irás ainda integrar com Firebase e TensorFlow:
- Introdução ao Android
- Diferentes API’s
- Criar uma aplicação
- Estrutura do projeto

ATP Portugal

October 21, 2020
Tweet

More Decks by ATP Portugal

Other Decks in Education

Transcript

  1. • Sejam excelentes uns para os outros • Fale mais

    alto se vir ou ouvir alguma coisa • O assédio não é tolerado • Pratique "Sim e" um ao outro Código de conduta Mais informações: http://bit.ly/2IhF0l3
  2. • 12 aulas • 1h30 cada aula • ~1 aula

    por semana • 14 Outubro a 16 Dezembro • YouTube live • Suporte assíncrono contínuo via Discord/email • Todo o código disponível no GitHub Photo by Arif Riyanto on Unspla O programa
  3. #0 14 de Outubro Pronto para começar #1 21 de

    Outubro Bem-vindos ao Android #2 28 de Outubro Fundações I #3 04 de Novembro Fundações II #4 11 de Novembro Fundações III #5 18 de Novembro Listas, listas e mais listas #6 25 de Novembro Jetpack, Jetpack, Jetpack! #7 - #8 02 - 03 de Dezembro Firebase #9 - #10 09 - 10 de Dezembro MLKit & TensorFlow #11 16 de Dezembro Resumo Semana Semana Calendário ✅ Direto
  4. • Resumo da aula anterior • Plataforma Android • Passaporte

    para o Google • Uma pausa com Android 4.4 • Criar uma aplicação • Kotlin para principiantes • Doce ou travessura Sumário Photo by Mika Baumeister on Unsplash
  5. • Apresentação do programa • A evolução do Android •

    Introdução do Git e GitHub • Introdução ao Kotlin • Cria a tua aplicação Aula #0
  6. *ícones de flaticon.com Rabanadas 11 Queijadinha 10 Arroz Doce 1.0

    Cornucópia 1.5 Filhoses 2.2 Gargantas de Freira 2.3.x <chef_precisa-se> 3.x <chef_precisa-se> 4.0 Jesuítas 4.1-4.3 Molotoff 6.0 Nata 7.0 Ovos Moles 8.0 Pudim de Abade de Priscos 9.0 Leite Creme 5.0 Doce da Casa 1.6 Escarpiada 2.0/2.1 <chef_precisa-se> 4.4 versões Portuguesas Android
  7. Apple Pie Ice Cream Sandwich KitKat Lollipop Oreo Pie Android

    1.0 Android 4.0 Android 4.4 Android 5.0 Android 8.0 Android 9.0 evoluções da UI Android *adaptado a partir do tweet Luke Wroblewski, https://twitter.com/lukew/status/996461585693540352
  8. • Desenvolvimento nativo ◦ Java/ Kotlin ❤ ◦ Bibliotecas nativas

    escritas em C/C++ • Híbrido ◦ PhoneGap, Ionic, etc. • Cross platform ◦ Flutter, React Native, Xamarin, NativeScript, Ionic, Ruby Motion, etc. • Multiplatforma ◦ Kotlin (toda a lógica é partilhada por diferentes plataformas, e a UI desenvolvida nativamente) Android
  9. Activity Resources Notification Telephony Camera2 SMSManager InCallService ... (API’s) OpenGL

    ES ... Bibliotecas nativas ART ... Runtime ICameraDevice ... HAL
  10. Activity Resources Notification Telephony Camera2 SMSManager InCallService ... (API’s) OpenGL

    ES ... Bibliotecas nativas ART ... Runtime ICameraDevice ... HAL Camera Drivers ... Linux Kernel
  11. Bolsas https://buildyourfuture.withgoogle.com/ • Google Europe Students with Disabilities Scholarship Termina

    em: 04 de Dezembro Valor: 7000€ • Generation Google Scholarship Termina em: 04 de Dezembro Valor: 7000€ • Google Conference and Travel Scholarships Termina em: 01 de Agosto de 2021
  12. Notas • O curso vai ser leccionado utilizando Kotlin •

    Kotlin é a linguagem oficial de programação para Android desde 2019 ◦ Todas as aplicações/bibliotecas desenvolvidas nativamente são em Kotlin • A versão de Java que temos atualmente no Android é a 8 ◦ A última versão que foi lançada é a 15 • Não há qualquer problema na utilização de Java ◦ ambas as linguagens são interoperáveis (comunicam entre si) ◦ mas uma vez que Kotlin é a linguagem oficial, é esta que vamos utilizar durante o curso
  13. Kotlin • Consegues fazer o mesmo, escrevendo menos código •

    Mais erros apanhados antes de compilares o teu código ◦ O próprio Android Studio (IDE) avisa-te de possíveis problemas que o teu código possa dar • Inúmeras funcionalidades disponíveis na linguagem • Várias ferramentas que te permitem lidar melhor com concorrência • Integração com bibliotecas desenvolvidas em Kotlin mais fácil e directa ◦ Paging3, Room, Compose, etc.
  14. VS

  15. for (int i = 0; i <= 100; i++) {

    System.out.println(i); } for (i in 0..100) { println(i) } Ciclos for 0 1 2 3 4 5 ... 100
  16. for (Object item : list) { // Do something with

    this item } for(item in list) { // Do something with this item } Ciclos for
  17. list.forEach { item -> // Do something with this item

    } for (Object item : list) { // Do something with this item } Ciclos for
  18. for (i in list.indices) { val item = list[i] //

    Do something with item } for (int i = 0; i < list.size(); i++) { Object item = list.get(i); // Do something with item } Ciclos for
  19. class Dog(val name: String) public class Dog { private final

    String name; public Dog(String name) { this.name = name; } public String getName() { return name; } ... } Propriedades
  20. Dog dog = new Dog("Bobi"); Log.d("O meu cão é o

    " + dog.getName()); public class Dog { private final String name; public Dog(String name) { this.name = name; } public String getName() { return name; } ... } Propriedades
  21. val dog = Dog("Bobi") Log.d("O meu cão é o "

    + dog.name) Propriedades class Dog(val name: String)
  22. val dog = Dog("Bobi") Log.d("O meu cão é o ${dog.name}")

    Propriedades class Dog(val name: String)
  23. public String getName() { return "Olá Java"; } fun getName():

    String { return "Olá Kotlin" } Métodos
  24. Dog bobi = new Dog("Bobi"); Dog lacy = new Dog("Lacy");

    Log.d("O meu cão é o "+ bobi.getName()); List<Dog> dogs = new ArrayList<Dog>(); dogs.add(bobi); dogs.add(lacy); val bobi = Dog("Bobi") val lacy = Dog("Lacy") Log.d("O meu cão é o " + bobi.name) val dogs = ArrayList<Dog>() dogs.add(bobi) dogs.add(lacy)
  25. when(legs) { } TODO() 0 -> println("É melhor usar um

    ") in 1..3 -> println("Mete ") 4 -> println("✅") else -> ...
  26. when(legs) { 0 -> println("É melhor usar um ") in

    1..3 -> println("Mete ") 4 -> println("✅") else -> ... } TODO()
  27. when(legs) { 0 -> println("É melhor usar um ") in

    1..3 -> println("Mete ") 4 -> println("✅") else -> TODO() } TODO()
  28. when(legs) { 0 -> println("É melhor usar um ") in

    1..3 -> println("Mete ") 4 -> println("✅") else -> TODO("Implementar isto") } TODO() ⚠ kotlin.NotImplementedError: Implementar isto ⚠
  29. adb tcpip 5555 Debug via Wi-Fi 1. Liga o telemóvel

    ao computador 2. Introduz no terminal o comando: 3. Desliga o telemóvel do computador 4. Vai a: Definições > Sobre o telemóvel > Endereço IP 5. Com esse endereço executa o seguinte comando: adb connect <endereço_ip> 6. Feito.
  30. Trabalho para casa • Criar um novo projecto • Adicioná-lo

    ao Github • Línguas: e • Alterar as cores • Adicionar um novo icon • Explorar os diferentes componentes
  31. Trabalho para casa • Criar um novo projecto • Adicioná-lo

    ao Github • Línguas: e • Alterar as cores • Adicionar um novo icon • Explorar os diferentes componentes