04 Lucas - Desenvolvimento na Plataforma Android 2 Turma II

Data da Publicação: 11/10/2022


Os conteúdos que foram criados e ministrados no módulo intermediário de Desenvolvimento na Plataforma Android 2 (DPA2): Conceito e aplicação de Shared Preferences, gravação e recuperação de dados em arquivo de preferência, desenvolvimento de uma aplicação que armazena anotações do usuário em arquivo de preferências, componentes de listagem: ListView e RecyclerView, Persistência de Dados com SQLite, Explicação do funcionamento da API de acesso e as principais classes: SQLiteOpenHelper, SLiteDatabase, ContentValues e Cursor, desenvolvimento da aplicação lista de contatos para aplicação dos conceitos sobre persistência de dados, Broadcast Receivers, tipos de broadcast, configurando um receiver, disparando mensagens broadcast, mensagens broadcast do sistema, desenvolvimento de aplicações para interceptar SMS e chamadas telefônicas, Aprendendo sobre Geolocalização por meio da API Google Maps, desenvolvimento de aplicação para localização atual do usuário, aprendendo sobre tipos de sensores, desenvolvimento de uma bússola utilizando os sensores acelerômetro e campo magnético, Visão geral sobre Threads, Uso e aplicação da classe AsyncTask, Consumindo serviços da web utilizando Threads, Consumindo serviços da web utilizando a API Retrofit.

A aula inicial foi realizada no dia 26 de agosto: Durante a aula foram abordados os conceitos referentes à persistência de dados e sua importância para as aplicações. Desse modo, foi apresentada a classe do Android Shared Preferences e desenvolvido um aplicativo que mostrava o funcionamento de leitura e gravação em um arquivo de preferências. Foi demonstrado que esse tipo de objeto é utilizado quando o intuito é armazenar uma pequena quantidade de informações. No segundo momento da aula, foi enviado para os alunos dois aplicativos que mostravam o funcionamento dos componentes de listagem: ListView e RecyclerView. Foi enfatizado que a utilização do RecyclerView é mais recomendada devido à sua característica de melhorar o desempenho do dispositivo.

A aula apresentada no dia 31 de agosto foi continuidade do tópico sobre persistência de dados. O enfoque da aula foi apresentar o funcionamento do banco de dados relacional nativo da plataforma Android, o SQLite. Foi enfatizado que o uso desse banco de dados fornece às aplicações o armazenamento de um volume maior de informações, diferente do Shared Preferences. Durante a aula, foi desenvolvido um aplicativo chamado Lista de Contatos que permitia o usuário adicionar, remover, atualizar e listar as informações adicionadas. Desse modo, foram utilizados os componentes RecyclerView, construção de menu suspenso, FloatingActionButton e foi ensinado como realizar a passagem de objetos entre Activities utilizando Intents.

Na aula realizada no dia 01 de setembro foi abordado o tópico sobre Broadcast Receivers, uma classe do Android que permite interceptar eventos do sistema operacional. Durante a aula, foram apresentados os tipos de eventos que podem ser interceptados e quais as configurações necessárias devem ser feitas na aplicação. Para exemplificar, foi apresentada uma aplicação que verifica o boot completo do sistema operacional. Em seguida, os alunos desenvolveram duas aplicações, uma para interceptar mensagens de SMS recebidas pelo usuário e outra para salvar e exibir numa lista as chamadas recebidas.

A aula ministrada no dia 02 de setembro foi abordada o tópico sobre Geolocalização e Sensores. Sobre Geolocalização, foi mostrada a API Google Maps e como obter a chave de acesso para configurar o aplicativo para que ele gere, de forma automática, um mapa conforme mostrado nos aplicativos da google. Como exemplo, foi desenvolvido um aplicativo que fornece a localização do usuário a partir dos dados de latitude e longitude e pelo endereço informado, utilizando a classe Geocoder. Para a aplicação, foi apresentado aos alunos a maneira utilizada para solicitar permissão de acesso à recursos do dispositivo ao usuário por meio de interação via interface gráfica. Sobre sensores, foi mostrado aos alunos como identificar os tipos de sensores disponíveis no dispositivo e como utilizá-los em suas aplicações. Como exemplo, foi desenvolvido o aplicativo Bússola que utilizava os sensores acelerômetro e campo magnético. A aplicação possuía na tela principal uma imagem da rosa dos ventos que mudava de direção conforme a movimentação do dispositivo.

No dia 08 de setembro, foi abordado os tópicos sobre threads e consumo de serviços da web. Em relação às Threads, foi ensinado aos discentes que sua utilização deve estar associada à tarefas que devem ser executadas em segundo plano para não interromper a interação do usuário com a aplicação. Como exemplo, desenvolvemos uma aplicação que usa a classe AsyncTask para criar uma Thread que consome serviços da web. Em seguida, foi apresentada a API Retrofit que permite reduzir a complexidade em configurar serviços que requerem dados de um servidor web. Para exemplificar, desenvolvemos uma aplicação que busca o endereço a partir de CEP, utilizando a API VIACEP (https://viacep.com.br/).

Com relação a questão pedagógica, foi desenvolvido um livro contendo algumas dicas, conceitos e exemplos sobre todos os assuntos abordados no módulo e disponibilizado para os discentes na plataforma moodle. Além disso, os slides foram desenvolvidos em formato de tutorial para permitir que os alunos executem os exemplos posteriormente. Esse modelo também permitiu que os discentes que estavam mais ao fundo da sala pudessem acompanhar a aula com mais facilidade, já que ficava difícil visualizar as informações projetadas no quadro devido à distância. Para auxiliar nesse problema, em alguns momentos foi criado uma sala no google meet para ser compartilhada durante as aulas para que os alunos pudessem acompanhar o desenvolvimento dos exemplos construídos na aula. Devido ao pouco tempo para execução das atividades, na maioria das vezes os aplicativos utilizados como exemplo eram enviados incompletos antecipadamente para que, durante as aulas, fosse possível focar na programação referente ao tópico da aula. Durante o início de cada aula, sempre solicitava aos alunos o feedback sobre a aula anterior para que fosse possível ajustar a metodologia de ensino e permitir que eles compreendessem melhor o que estava sendo ministrado. Em certos momentos, alguns discentes não conseguiram finalizar os exemplos apresentados em aula e, por isso, a parte ausente em seus projetos era enviada na plataforma. Também foi solicitada a ajuda dos colegas mais experientes em desenvolvimento de softwares para dar suporte aos alunos oriundos de outros cursos e/ou instituições, que eram os que apresentavam maiores dificuldades. O mentor técnico Drailton também foi forneceu suporte durante a execução das atividades práticas, facilitando ainda mais o processo de aprendizagem dos alunos.

Este site usa cookies para garantir que você obtenha a melhor experiência.