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

Android Training Program - Portugal, Aula 11

ATP Portugal
December 16, 2020

Android Training Program - Portugal, Aula 11

Aula #11 Resumo 📚

Feito! Durante o curso desenvolveste uma aplicação Android com recurso às últimas bibliotecas e frameworks disponíveis. Vamos fazer um resumo de tudo o que aprendeste e mostrar-te como podes publicar a tua aplicação.

ATP Portugal

December 16, 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. Andres-Leonardo Martinez-Ortiz Google Carlos Mota Formador Renato Almeida Formador @davilagrau

    @cafonsomota @tallnato Equipa Daniela Ferreira Gestora de comunidades
  3. • 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
  4. #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 ✅ ✅ ✅ ✅ ✅
  5. Sumário Photo by Mika Baumeister on Unsplash • Resumo do

    programa • Convidados • Notas finais
  6. Photo by Mollie Sivaram on Unsplash ‍ ~5000 participantes ~2900

    subscrições no YouTube ~25000 visualizações Obrigado! ‍♀
  7. versões Android 11 Android 10 Apple Pie 1.0 Cupcake 1.5

    Donut 1.6 Eclair 2.0/2.1 Froyo 2.2 Gingerbread 2.3.x Honeycomb 3.x Ice Cream Sandwich 4.0 Jelly Bean 4.1-4.3 KitKat 4.4 Lollipop 5.0 Marshmallow 6.0 Nougat 7.0 Oreo 8.0 Pie 9.0 Android 9. 10. 7. 8. 5. 6. 3. 4. 2. 1. 0.
  8. *í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 9. 10. 7. 8. 5. 6. 3. 4. 2. 1. 0.
  9. Android Server side Native em todo o lado Kotlin Web

    9. 10. 7. 8. 5. 6. 3. 4. 2. 1. 0.
  10. Activity Resources Notification Telephony Camera2 SMSManager InCallService ... (API’s) OpenGL

    ES ... Bibliotecas nativas ART ... Runtime ICameraDevice ... HAL Camera Drivers ... Linux Kernel
  11. 1. 2. AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="pt.atp.bobi"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name"

    android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Bobi"> ... </application> </manifest> 0. 9. 10. 7. 8. 5. 6. 3. 4.
  12. Resolução medium resolution (mdpi) HTC Wildfire S high resolution (hdpi)

    Samsung Galaxy S2 extra extra extra high resolution (xxxhdpi) Pixel 5 2. 3. 1. 0. 9. 10. 7. 8. 5. 6. 4.
  13. • Service • Threads • IntentService • AsyncTasks • WorkManager

    • JobScheduler • DownloadManager • AlarmManager • Coroutines Operações assíncronas Soluções 3. 4. 2. 1. 0. 9. 10. 7. 8. 5. 6.
  14. atualizar atualizar desenha o ecrã desenha o ecrã desenha o

    ecrã objetivo: 60fps operação pesada atualizar atualizar thread secundária Operações assíncronas thread de UI 3. 4. 2. 1. 0. 9. 10. 7. 8. 5. 6.
  15. Allow Snapchat to access this device’s location? Ao instalar todas

    as permissões requisitadas são dadas Funcionalidades do sistemas precisam de autorização explícita do utilizador As permissões vão sendo cada vez mais restritivas: - Apenas enquanto estamos a utilizar a aplicação - Permitir apenas uma única vez Android ... Android 6.0 … Android 10 Android 11
  16. 4. 5. RecyclerView Activity RecyclerView LayoutManager Adapter ViewHolder data RecyclerView

    LayoutManager Adapter ViewHolder data Adapter ViewHolder data 3. 2. 1. 0. 9. 10. 7. 8. 6.
  17. Room Room Resto da aplicação Data Access Object Entidades Obter

    os DAOs Obter as entidades da BD Persistir os dados para a BD get / set valores 5. 6. 4. 3. 2. 1. 0. 9. 10. 7. 8.
  18. CameraXβ Sistema de add-ons Consistência em todos os diapositivos Funciona

    com 94% dos Android 5.0+ 5. 6. 4. 3. 2. 1. 0. 9. 10. 7. 8.
  19. @Composable fun Example() { Row { Image( asset = vectorResource(id

    = R.drawable.ic_paw), modifier = Modifier.width(32.dp).height(32.dp) ) Column { Text( text = "Olá mundo! ", style = TextStyle( fontSize = 19.sp, fontWeight = FontWeight.Normal, color = colorResource(id = R.color.white) ), modifier = Modifier.padding(start = 16.dp) ) Text( text = "Bem-vindos ao ATP!", style = TextStyle( fontSize = 19.sp, fontWeight = FontWeight.Normal, color = colorRsource(id = R.color.grey) ), modifier = Modifier.padding(start = 16.dp) ) } } } Como utilizar? Example.kt Compose
  20. Constrói melhores aplicações Cloud Firestore Armazena e sincroniza dados a

    uma escala global Firebase ML Machine learning para programadores Cloud Functions Corre código de servidor sem gerir servidores Authentication Autentica utilizadores de forma simples e segura Hosting Distribui recursos web rapidamente e com segurança Cloud Storage Armazena e distribui ficheiros à escala da Google Realtime Database Armazena e sincroniza dados da aplicação em segundos 6. 7. 8. 5. 4. 3. 2. 1. 0. 9. 10.
  21. Melhora a qualidade da aplicação Crashlytics Prioritiza e resolve problemas

    com relatórios poderosos e em tempo real Performance Monitoring Obtém informações sobre o desempenho da aplicação Test Lab Testa a tua aplicação em dispositivos alojados pela Google App Distribution Distribuí versões de pré-lançamento da aplicação a utilizadores específicos 6. 7. 8. 5. 4. 3. 2. 1. 0. 9. 10.
  22. Cresce o teu negócio In-App Messaging Envolve os utilizadores activos

    com mensagens contextuais Google Analytics Obtém métricas gratuitas e ilimitadas Predictions Segmentação inteligente de utilizadores baseada no comportamento previsto A/B Testing Optimiza a experiência da aplicação através de experimentação Cloud Messaging Envia mensagens e notificações direcionadas Remote Config Modifica a tua aplicação sem lançar uma nova versão Dynamic Links Impulsiona o crescimento utilizado links directos 6. 7. 8. 5. 4. 3. 2. 1. 0. 9. 10.
  23. • Pode ser visto como uma forma de ajudar o

    software a realizar uma tarefa sem programar explicitamente ou criar regras • Na programação tradicional, um programador especifica as regras que o computador deve usar • Focado mais em análise de dados do que em programação • São disponibilizados um conjunto de exemplos e o computador aprende a partir destes dados • Podemos ver o machine learning como “programar com dados” Machine learning
  24. • Extrapolar dados • Evitar fraudes • Identificar oportunidades de

    investimento • Auxiliar os investidores a decidir quando negociar • Identificar clientes com perfis de alto risco Banca e finanças Onde é aplicado? Photo by Micheile Henderson https://www.sas.com/en_us/insights/analytics/machine-learning.html
  25. • Através da análise dos dados de wearables e outros

    tipos de sensores, permite avaliar o paciente em tempo real • Identificar tendências ou sinais de alerta de forma a melhorar os diagnósticos e tratamentos • Serve de complemento para os diagnósticos médicos Saúde Onde é aplicado? Photo by Online Marketing
  26. Exemplo • Nariz ◦ (505.149811, 221.201797), (506.987122, 313.285919) • Olho

    esquerdo ◦ (404.642029, 232.854431), (408.527283, 231.366623), (413.565796, 229.427856), (421.378296, 226.967682), (432.598755, 225.434143), (442.953064, 226.089508), (453.899811, 228.594818), (461.516418, 232.650467), (465.069580, 235.600845), (462.170410, 236.316147), (456.233643, 236.891602), (446.363922, 237.966888), (435.698914, 238.149323), (424.320740, 237.235168), (416.037720, 236.012115), (409.983459, 234.870300) • Parte de cima do lábio ◦ (421.662048, 354.520813), (428.103882, 349.694061), (440.847595, 348.048737), (456.549988, 346.295532), (480.526489, 346.089294), (503.375702, 349.470459), (525.624634, 347.352783), (547.371155, 349.091980), (560.082031, 351.693268), (570.226685, 354.210175), (575.305420, 359.257751) Contorno da cara 7. 8. 9. 6. 5. 4. 3. 2. 1. 0. 10.
  27. Exemplo Classificação de imagens Texto Confiança Estádio 0.9205354 Desporto 0.7531109

    Evento 0.66905296 Lazer 0.59904146 Futebol 0.56384534 Rede 0.54679185 Planta 0.524364 7. 8. 9. 6. 5. 4. 3. 2. 1. 0. 10.
  28. Resumo Como funciona? Treinado Modelo de TensorFlow Convertido (para o

    formato do TensorFlow lite) Android App (Java/C++ API) iOS App (C++ API) Linux (ex. Pi) (Python/Java/C++ API)
  29. • Utilizando um modelo pré-treinado, permite desenhar um retângulo com

    a respectiva descrição de mais de 1000 objetos Deteção de objectos https://github.com/tensorflow/examples/blob/master/lite/examples/object_detection/android/
  30. • Este exemplo deteta continuamente as partes do corpo que

    estão visíveis pela câmera do dispositivo Deteção de pose https://github.com/tensorflow/examples/blob/master/lite/examples/posenet/android/
  31. Nuno Loureiro Pixels Camp forever Head Of Design & Innovation

    at Trojan Horse was a Unicorn @nloureiro
  32. Isabel Costa Como e porquê começar a contribuir para OSS?

    Software Engineer @Globality @isabelcmdcosta
  33. VS

  34. Aula #0 Edições passadas do ATP Aula #1 Comunidades Aula

    #2 Programas e emprego na Google Aula #3 Inclusão Aula #4 Percurso até à Google Aula #5 Google Summer of Code Aula #6 UX em mobile Aula #7 Firebase KTX Aula #8 Firebase Storage Aula #9 Machine learning Aula #10 Federated learning Aula #11
  35. Aula #0 Edições passadas do ATP Aula #1 Comunidades Aula

    #2 Programas e emprego na Google Aula #3 Inclusão Aula #4 Percurso até à Google Aula #5 Google Summer of Code Aula #6 UX em mobile Aula #7 Firebase KTX Aula #8 Firebase Storage Aula #9 Machine learning Aula #10 Federated learning Aula #11 ‍ ‍ Aula #11 Obrigado! ‍♀