Baixe o app para aproveitar ainda mais
Prévia do material em texto
2020 - Dante Souza e Souza - dante.s@uni9.pro.br Computação Móvel 2020 - Dante Souza e Souza - dante.s@uni9.pro.br OLÁ! Eu sou Dante Souza e Souza Hoje nós iniciaremos nosso módulo! Contato: dante.souza.prof@gmail.com 2 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Regras de Convivência ● Estamos trabalhando em um novo formato, um desafio para todos; ● Durante as aulas deixar desligado o Microfone; ● Nossas interações ocorrerão pelo chat do Hangouts Meet. Se precisar falar, envie mensagem solicitando permissão; ● Temos tempo suficiente para as aulas; ● Mantenha a regularidade de horário: nossas aulas serão nos horários previstos do seu curso; ● Utilize o material disponível no AVA para estudo, sempre. 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Orientações Gerais: ● Todos os slides e materiais de apoio serão disponibilizados na nossa sala no Google Sala de Aula (Classroom); ● Novas atividades serão entregues também via Google Classroom, exceto quando exigida outra forma de entrega; ● Se houver códigos-fonte, ele serão disponibilizados no repositório do Github abaixo: ○ https://github.com/DanteSouzaeSouza/ComputacaoMovel ● E-mail de contato: dante.s@uni9.pro.br https://github.com/DanteSouzaeSouza/ComputacaoMovel 2020 - Dante Souza e Souza - dante.s@uni9.pro.br 5 Ementa: - MERCADO DE APLICAÇÕES MÓVEIS - PLATAFORMAS DE DESENVOLVIMENTO PARA APLICAÇÕES MÓVEIS - APRESENTAÇÃO DAS PRINCIPAIS APIS PRESENTES NA ESTRUTURA DO ANDROID - PROTOCOLOS DE REDES SEM FIO, DISPOSITIVOS, COMPONENTES E ACESSÓRIOS DE EQUIPAMENTOS MÓVEIS - ARQUITETURA DO SISTEMA OPERACIONAL ANDROID, FRAMEWORKS E BIBLIOTECAS - AMBIENTE DE PROGRAMAÇÃO, FERRAMENTAS E TESTES DO APLICATIVO MÓVEL 2020 - Dante Souza e Souza - dante.s@uni9.pro.br 6 Ementa: - COMPONENTES DO ANDROID: ATIVIDADES, SERVIÇOS, REPOSITÓRIOS DE CONTEÚDO, MENSAGENS E ARQUIVO DE MANIFESTO - RECURSOS DE IMAGENS E STRINGS NO ANDROID, LOCALIZAÇÃO DA APLICAÇÃO - COMPONENTES DO ANDROID: FILTROS DE MENSAGENS, PROCESSOS E THREADS, CICLO DE VIDA - INTERFACE COM USUÁRIO ANDROID, NOTIFICAÇÕES, ESTILO, TEMAS, VISUALIZAÇÃO - MENSAGENS EM ANDROID, FILTROS DE MENSAGENS NO ANDROID, ARMAZENAMENTO DE DADOS 2020 - Dante Souza e Souza - dante.s@uni9.pro.br 7 Ementa: - PROVEDORES DE CONTEÚDO - MÍDIAS EM ANDROID: GRÁFICOS, ÁUDIO, VÍDEO E MAPAS - COMPATIBILIDADE ANDROID COM DISPOSITIVOS E TELAS - APLICAÇÕES PARA WEB E ANDROID - ASSINATURA E PUBLICAÇÃO DE APLICAÇÕES ANDROID 2020 - Dante Souza e Souza - dante.s@uni9.pro.br 8 Como vai ser? Pesquisas, atividades e mini-projetos. Atividades poderão ser individuais ou em grupo. 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Mercado Mobile ▰ Desde o surgimento do primeiro iPhone até hoje se passaram 13 anos. ▰ O android surgiu um ano depois e lançou sua 10ª edição em 2019. ▰ O mercado, que antes tinha vários competidores, hoje se divide entre os dois gigantes. De quais outros sistemas mobile vocês se lembram? 9 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Mercado Mobile Sistemas deprecados: ▰ Symbian OS, da Nokia. ▰ Blackberry OS, da Research in Motion (RIM). ▰ Windows Phone, da Microsoft. ▰ WebOS da HP. 10 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Mercado Mobile O cenário atual: ▰ Dispositivos embarcados e IoT ▰ PWA (Progressive Web Apps) e Android Instant Apps ▰ Realidade aumentada ▰ Wearables ▰ IA e Machine Learning (CoreML, entre outros) ▰ Chatbots 11 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Computação Ubíqua Pesquisa! Pesquisem o termo e digam: No que a Computação Ubíqua influi em nossas vidas? 12 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Interface Homem-Máquina Os celulares talvez sejam os dispositivos onde está presente o maior nível de interação homem-máquina. Por quais meios essa interação ocorre? 13 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Como funciona o desenvolvimento mobile? ▰ Ambos iOS e Android têm uma base Unix/Linux. ▰ O iOS é derivado do macOS. ▰ O android tem uma base Linux com suas APIs rodando por cima. Com o passar dos anos surgiram diversas soluções e frameworks para desenvolvimento de apps, tanto para Android quanto para iOS. 14 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Desenvolvimento nativo: ▰ Em iOS, a ferramenta principal de desenvolvimento é o XCode, disponível somente para macOS. ▰ Em Android, a ferramenta principal de desenvolvimento é o Android Studio, disponível para Windows, macOS e Linux. Ferramentas alternativas podem ser usadas para desenvolvimento de apps para android em ambientes diferentes. Eclipse usando o plugin ADT, VSCode, Intellij IDEA, e outros. 15 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Desenvolvimento nativo: ▰ Em iOS, a linguagem nativa é o Swift (substituto do Objective-C). ▰ Em Android, as linguagens nativas são o Java (limitado à JDK 8), C++ e Kotlin. 16 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Desenvolvimento híbrido: ▰ Existem frameworks capazes de gerar apps para ambas plataformas, alguns deles usando WebViews e o modelo PWA, outros, compilando de forma nativa os executáveis de cada plataforma. Exemplos: 17 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Quais componentes de hardware podemos encontrar em dispositivos móveis? 18 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Quais componentes de hardware podemos encontrar em dispositivos móveis? ▰ Câmeras ▰ GPS ▰ NFC ▰ Modem ▰ Placa wi-fi ▰ Dispositivos de armazenamento... 19 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Atividade: Usando os conhecimentos adquiridos e pesquisa na internet: 1. Qual o pacote de programas necessário no computador para início no desenvolvimento android? 2. O que é “build”? 3. Quais configurações precisamos adicionar às variáveis de ambiente do sistema para que possamos fazer build de nosso projeto? 20 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Overview de um app Android: Como dito anteriormente, os apps para Android podem ser escritos em Java, Kotilin e C++. As ferramentas do Android SDK compilam o código em conjunto com todos os arquivos de dados e recursos em um APK, um pacote Android, que é um arquivo de sufixo .apk 21 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Overview de um app Android: Os arquivos de APK contêm todo o conteúdo de um app Android e são os arquivos que os dispositivos desenvolvidos para Android usam para instalar o aplicativo. 22 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Overview de um app Android: Cada app Android é ativado na própria sandbox de segurança, protegido pelos seguintes recursos de segurança: ▰ O sistema operacional Android é um sistema Linux multiusuário em que cada aplicativo é um usuário diferente. ▰ Por padrão, o sistema atribui a cada aplicativo um código de usuário do Linux exclusivo (o código é usado somente pelo sistema e é desconhecido para o aplicativo). O sistema define permissões para todos os arquivos em um aplicativo, de modo que somente o código de usuário atribuído àquele aplicativo pode acessá-los. 23 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Overview de um app Android: ▰ Cada processo tem a própria máquina virtual (VM), portanto, o código de um aplicativo é executado isoladamente de outros aplicativos. ▰ Por padrão, cada aplicativo é executado no próprio processo do Linux. O Android inicia o processo quando é preciso executar algum componente do aplicativo. Em seguida, encerra-o quando não mais é necessário ou quando o sistema precisa recuperar memória para outros aplicativos. 24 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Overview de um app Android: O Android implementa o princípio do privilégio mínimo: ▰ Cada aplicativo tem acesso somente aos componentes necessários para a execução do seu trabalho e nada mais. ▰ Isso cria um ambiente seguro onde um aplicativo não pode acessar partes do sistema a que não tem permissão. Entretanto, é possível permitira um aplicativo compartilhar dados com outros aplicativos e acessar serviços do sistema. 25 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Componentes de aplicativo: ▰ Atividades: ○ São pontos de entrada para a interação com o usuário ▰ Serviços: ○ São pontos de entrada para manter um aplicativo em execução no segundo plano, seja qual for o motivo. ▰ Broadcast receivers: ○ São componentes que fazem o sistema entregar eventos ao aplicativo fora de fluxo de usuários comum. ▰ Provedores de conteúdo: ○ Gerenciam um conjunto compartilhado de dados do aplicativo que você pode armazenar. 26 2020 - Dante Souza e Souza - dante.s@uni9.pro.br Projeto a ser desenvolvido ao longo das nossas aulas: ▰ Criação de um APP de “Lugares favoritos” ▰ O App terá: ○ Uso do Google maps para captação de localização e tagging ○ Uso de consulta à API dos Correios para captura de endereço via CEP ○ Permissão para cadastro manual de algum local ○ Exibição das tags de localização salvas no mapa ○ Outros detalhes de Quality Of Life (QOL). 27 2020 - Dante Souza e Souza - dante.s@uni9.pro.br 2828 Obrigado e até semana que vem!
Compartilhar