Baixe o app para aproveitar ainda mais
Prévia do material em texto
Contents Atividades Semana 6 - com comentários (ChatGPT) 1 Atividade avaliativa - Semana 6 . . . . . . . . . . . . . . . . . . . . . . 1 Pergunta 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Pergunta 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Pergunta 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Pergunta 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Pergunta 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Pergunta 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Pergunta 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Quizzes - Semana 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Quiz - Videoaula 16 - AsyncTask e HttpURLConnection . . . . . 6 Quiz - Videoaula 17 - Projeto APP Parte2_1 . . . . . . . . . . . 7 Quiz - Videoaula 18 - Projeto APP Parte2_2 . . . . . . . . . . . 8 Quiz - Objeto Educacional - Semana 6 . . . . . . . . . . . . . . . 8 Atividades Semana 6 - com comentários (Chat- GPT) Atividade avaliativa - Semana 6 Pergunta 1 Uma AsyncTask especifica três argumentos genéricos, que são: Params, Progress, Result Uma AsyncTask especifica três argumentos genéricos que são: Params, Progress e Result. • Params: Esse argumento genérico é usado para especificar o tipo dos parâmetros que podem ser passados para o método doInBackground() ao executar a tarefa em segundo plano. Por exemplo, se você precisar passar algum dado para o método doInBackground(), pode especificar o tipo desse dado como o primeiro argumento genérico Params. • Progress: Esse argumento genérico é usado para especificar o tipo de informações de progresso que podem ser passadas para o método onProgressUpdate() durante a execução da tarefa em segundo plano. Por exemplo, se você estiver atualizando uma barra de progresso com base no progresso da tarefa em segundo plano, pode especificar o tipo de progresso como o segundo argumento genérico Progress. • Result: Esse argumento genérico é usado para especificar o tipo do resul- tado retornado pelo método doInBackground() e passado para o método onPostExecute() após a conclusão da tarefa em segundo plano. Por ex- emplo, se o resultado da tarefa em segundo plano for uma lista de strings, 1 você pode especificar o tipo List<String> como o terceiro argumento genérico Result. Comentário: Ao especificar esses três argumentos genéricos ao criar uma subclasse da AsyncTask, você está definindo os tipos de dados que serão utilizados em diferentes estágios do processamento em segundo plano. Isso permite que você forneça os parâmetros corretos, acompanhe o progresso da tarefa e receba o resultado esperado após a conclusão da tarefa. A utilização dos argumentos genéricos Params, Progress e Result ajuda a garantir um código mais seguro e legível, permitindo que você especifique os tipos de dados adequadamente e evite erros de tipo durante a execução da AsyncTask. Portanto, a resposta correta é Params, Progress e Result. Pergunta 2 Durante o processamento em segundo plano utilizando uma subclasse da classe AsyncTask, o progresso da execução é informado em background dentro do método doInBackground() através da chamada do método: publishProgress() Durante o processamento em segundo plano utilizando uma subclasse da classe AsyncTask, o progresso da execução é informado em background dentro do método doInBackground() através da chamada do método publishProgress(). O método publishProgress() é utilizado para notificar a thread da interface do usuário sobre o progresso atual da tarefa em segundo plano. Ele recebe os dados de progresso como argumento e os envia para o método onProgressUpdate(), que é executado na thread da interface do usuário. Dentro do método doInBackground(), você pode chamar o método publishProgress() em pontos específicos do processamento em segundo plano para relatar o progresso atual. Isso permite que você atualize a interface do usuário com informações relevantes durante a execução da tarefa em segundo plano. Comentário: O uso do método publishProgress() é útil quando você deseja fornecer feedback de progresso para o usuário enquanto uma tarefa em segundo plano está sendo executada. Por exemplo, você pode atualizar uma barra de progresso na interface do usuário ou exibir mensagens de status para indicar o andamento da tarefa. Ao chamar o método publishProgress() dentro do doInBackground(), você garante que a notificação de progresso seja entregue corretamente à thread da interface do usuário para atualizações visuais adequadas. 2 Portanto, a resposta correta é o método publishProgress(). Pergunta 3 Suponha que em um código Java escrito para conexão com a internet usando a classe HttpURLConnection deseje limitar o tempo máximo para aguardar o estabelecimento da conexão com um servidor web. Qual dos métodos abaixo deve ser utilizado fim? setConnectTimeout() Para limitar o tempo máximo de espera para o estabelecimento da conexão com um servidor web usando a classe HttpURLConnection, você deve utilizar o método setConnectTimeout(). O método setConnectTimeout() permite definir o tempo máximo, em milisse- gundos, que a conexão irá aguardar até estabelecer uma conexão com o servidor. Se o tempo limite for excedido, uma exceção de tempo limite será lançada. Comentário: Quando se trabalha com conexões de rede, é importante definir um tempo limite para evitar que o aplicativo fique bloqueado por muito tempo esperando por uma resposta do servidor. O método setConnectTimeout() permite especificar o tempo máximo que a conexão deve aguardar até que o servidor responda. Se o tempo limite for excedido, o aplicativo pode lidar com a situação de acordo com o seu fluxo de execução, como exibir uma mensagem de erro ao usuário ou tentar uma ação alternativa. Portanto, a resposta correta é o método setConnectTimeout(). Pergunta 4 As afirmações abaixo, que dizem respeito aos métodos da classe AsyncTask, se referem a quais métodos, respectivamente? I - O resultado do processamento em background é passado para este método como parâmetro. II - Método executado na thread da interface de usuário antes que a tarefa em segundo plano seja executada. Pode ser utilizado para exibir uma barra de progresso, ou uma mensagem de “aguarde”. III - Esse método é usado para exibir qualquer forma de progresso na interface do usuário enquanto o processamento em segundo plano ainda está em execução. onPostExecute(), onPreExecute(), onProgressUpdate() As afirmações se referem aos seguintes métodos da classe AsyncTask, respectiva- mente: 3 I - O resultado do processamento em background é passado para este método como parâmetro. • Método: onPostExecute() II - Método executado na thread da interface de usuário antes que a tarefa em segundo plano seja executada. Pode ser utilizado para exibir uma barra de progresso, ou uma mensagem de “aguarde”. • Método: onPreExecute() III - Esse método é usado para exibir qualquer forma de progresso na interface do usuário enquanto o processamento em segundo plano ainda está em execução. • Método: onProgressUpdate() Comentário: A classe AsyncTask é uma classe do Android que permite a execução de tarefas em segundo plano, fora da thread principal, enquanto atualiza a interface do usuário de forma assíncrona. Ela é amplamente utilizada para realizar operações demoradas, como acesso à rede, processamento de arquivos e outras tarefas que podem bloquear a interface do usuário se executadas na thread principal. O método doInBackground() é o método principal onde o processamento em segundo plano é realizado. É neste método que a tarefa principal é executada, e o resultado do processamento pode ser retornado. O método onPreExecute() é executado antes do início da tarefa em segundo plano. É comumente usado para configurar a interface do usuário antes do processamento em segundo plano começar, como exibir uma barra de progresso ou uma mensagem de “aguarde”. O método onPostExecute() é executado após a conclusãoda tarefa em segundo plano. É neste método que o resultado do processamento em segundo plano é recebido e pode ser utilizado para atualizar a interface do usuário com os dados resultantes. O método onProgressUpdate() é usado para atualizar a interface do usuário durante o processamento em segundo plano. É comumente usado para exibir o progresso da tarefa em andamento, seja por meio de uma barra de progresso ou qualquer outra forma de indicador visual de progresso. Portanto, a resposta correta é a opção: onPostExecute(), onPreExecute(), onProgressUpdate(). Pergunta 5 A classe _________ pode ser usada para enviar e receber dados de _______ cujo comprimento não é _______ HttpURLConnection, streaming, conhecido 4 Comentário: A classe HttpURLConnection é uma classe do Java que permite estabelecer conexões e realizar comunicação com servidores através do protocolo HTTP. Ela é comumente utilizada para enviar e receber dados de servidores web. Uma das vantagens da classe HttpURLConnection é a capacidade de lidar com streaming de dados. Isso significa que ela pode ser utilizada para receber dados em tempo real de um servidor, mesmo quando o comprimento total desses dados não é conhecido antecipadamente. Esse recurso é particularmente útil quando se lida com grandes volumes de dados ou quando a transmissão de dados é contínua, como em casos de streaming de áudio ou vídeo. Ao utilizar a classe HttpURLConnection para receber dados de streaming de servidores, não é necessário conhecer o comprimento total dos dados antes de iniciar a recepção. A classe lida automaticamente com a leitura dos dados à medida que são recebidos, permitindo assim uma transmissão contínua e eficiente. Dessa forma, a classe HttpURLConnection oferece uma solução flexível e poderosa para o envio e recebimento de dados de streaming de servidores, independente- mente do comprimento dos dados ser conhecido ou não. Pergunta 6 Em relação às linhas de execução dentro de um aplicativo, podemos afirmar que: I - a classe AsyncTask, permite a criação de uma linha de execução secundária para realização de processamento em segundo plano. II - uma execução convencional de uma Activity que gaste mais de 5 segundos para retornar, irá disparar uma mensagem “app não está respondendo” (ANR). III - processamentos mais pesados como uma consulta a um Web service, devem sempre ser realizados na linha de execução principal, que possui um maior poder de processamento que threads secundárias Somente as afirmações I e II estão corretas. Explicação: I - A classe AsyncTask permite a criação de uma linha de execução secundária (background) para realizar processamentos em segundo plano. Isso é útil para evitar bloqueios na linha de execução principal (UI thread) e manter a respon- sividade do aplicativo. II - Quando uma execução convencional de uma Activity leva mais de 5 segundos para retornar, o Android pode considerar o aplicativo como não responsivo e exibir uma mensagem de “app não está respondendo” (ANR). É importante evitar bloqueios na linha de execução principal para evitar essa situação. III - A afirmação III está incorreta. Processamentos mais pesados, como consultas a um Web service, devem ser realizados em uma linha de execução secundária 5 (background) para evitar bloqueios na linha de execução principal e manter a responsividade do aplicativo. A linha de execução principal (UI thread) é responsável por lidar com a interface do usuário e não deve ser sobrecarregada com processamentos demorados. Pergunta 7 A classe ________ permite que você exiba mensagens em tempo real _______, durante o funcionamento do aplicativo ________. Log, no Logcat, no AVD A classe que permite exibir mensagens em tempo real no Logcat durante o funcionamento do aplicativo é a classe Log, e não a classe Logcat mencionada na opção de resposta. O Logcat é uma ferramenta que exibe os registros de log do sistema Android, enquanto a classe Log é usada para registrar mensagens no log do aplicativo. Portanto, a opção correta seria: Log, no Logcat, no AVD Nessa opção, a classe Log é utilizada para exibir mensagens no log do aplicativo, o Logcat é o local onde as mensagens do log são exibidas e o AVD (Android Virtual Device) é o dispositivo virtual Android onde o aplicativo está sendo executado. Quizzes - Semana 6 Quiz - Videoaula 16 - AsyncTask e HttpURLConnection A classe que permite a criação de uma thread secundária para realização de processamento em segundo plano, é a classe: AsyncTask. Você acertou! Essa é a alternativa correta. A classe que nos permite a criação de uma thread secundária para processamento em segundo plano é a classe AsyncTask. A classe que permite a criação de uma thread secundária para realização de processamento em segundo plano é a classe AsyncTask. A classe AsyncTask é uma classe genérica que fornece métodos para executar operações em segundo plano e interagir com a interface do usuário. Ela é comumente usada em aplicativos Android para realizar tarefas assíncronas, como fazer download de dados da internet, executar cálculos pesados ou atualizar informações em segundo plano. As outras opções mencionadas não estão diretamente relacionadas à criação de threads secundárias. Aqui está uma breve descrição de cada uma delas: 6 • Activity: É uma classe base para todas as atividades em um aplicativo Android. Ela fornece métodos e callbacks para gerenciar o ciclo de vida de uma atividade. • HttpURLConnection: É uma classe que permite realizar conexões HTTP para enviar e receber dados de um servidor. Embora seja possível executar operações de rede em uma thread secundária usando essa classe, ela não é específica para a criação de threads secundárias. • ContentProvider: É uma classe usada para fornecer acesso a dados em um aplicativo Android. Ela permite que os aplicativos compartilhem dados com outros aplicativos de maneira controlada. Não é diretamente relacionada à criação de threads secundárias. • Intent: É uma classe que representa uma intenção de realizar uma ação. Ela é usada para iniciar componentes em um aplicativo Android, como atividades, serviços e receptores de transmissão. Embora seja possível iniciar uma thread secundária ao lidar com uma intenção, a classe Intent não é projetada especificamente para esse propósito. Quiz - Videoaula 17 - Projeto APP Parte2_1 Para abrirmos uma conexão com a internet usando a classe HttpURLConnection, utilizamos o método: openConnection() Você acertou! Essa é a alternativa correta. O método utilizado para abrir uma conexão internet neste caso é o método openConnection(). Para abrir uma conexão com a internet usando a classe HttpURLConnection, utilizamos o método openConnection(). O método openConnection() retorna um objeto HttpURLConnection que rep- resenta a conexão estabelecida com o recurso na Internet. A partir desse objeto, podemos realizar várias operações, como configurar os cabeçalhos da solicitação, definir o método HTTP a ser usado (por exemplo, GET, POST, etc.), obter a resposta do servidor e ler os dados recebidos. Aqui está um exemplo básico de como abrir uma conexão com a internet usando HttpURLConnection: URL url = new URL("https://www.example.com"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // Configurar a conexão (por exemplo, definir o método HTTP) connection.setRequestMethod("GET"); // Obter a resposta do servidor int responseCode = connection.getResponseCode(); 7 // Ler os dados recebidos InputStream inputStream = connection.getInputStream(); // ... faça algo com o inputStream // Fechar a conexão connection.disconnect(); Portanto, a opção correta é openConnection(). Quiz - Videoaula 18 - Projeto APP Parte2_2 O método next() utilizado em um analisador XML é responsável por fazer o analisador: avançar para o próximo evento dentro de um conteúdo XML. Você acertou! Essa é a alternativa correta. O método next() é responsável por avançar o analisador para o próximo evento dentro do conteúdo XML. O método next() utilizadoem um analisador XML é responsável por fazer o analisador avançar para o próximo evento dentro de um conteúdo XML. Um analisador XML é usado para percorrer um documento XML e extrair informações dos elementos e atributos. O método next() é usado para mover o analisador para o próximo evento XML. Esses eventos podem incluir elementos, atributos, texto, comentários, declarações de processamento, entre outros. Ao chamar o método next(), o analisador passará para o próximo evento XML disponível no documento. Isso permite percorrer o XML e processar cada evento conforme necessário. Portanto, a opção correta é “avançar para o próximo evento dentro de um conteúdo XML”. Quiz - Objeto Educacional - Semana 6 Questão referente ao texto-base Analisador de Dados XML | Cristhof Johann Roosen Runge A interface __________ oferece um conjunto de métodos que permitem analisar e extrair conteúdo XML de forma eficiente no Android. Assinale a alternativa que completa corretamente a lacuna no texto acima: XmlPullParser Você acertou! Essa é a alternativa correta. A interface que possui um conjunto de métodos que permitem analisar e extrair conteúdo XML de forma eficiente é a XmlPullParser. Essa interface faz parte do conjunto de APIs disponíveis no Android para análise e processamento de XML de forma eficiente. Ela fornece métodos que permitem 8 percorrer o conteúdo XML de forma sequencial, identificar os diferentes tipos de eventos e extrair os dados relevantes. Ao utilizar o XmlPullParser, é possível analisar documentos XML de maneira eficiente, evitando a necessidade de carregar todo o conteúdo XML na memória de uma vez. Isso é especialmente útil quando se trabalha com arquivos XML grandes ou quando é necessário processar apenas partes específicas do documento. 9 Atividades Semana 6 - com comentários (ChatGPT) Atividade avaliativa - Semana 6 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Quizzes - Semana 6 Quiz - Videoaula 16 - AsyncTask e HttpURLConnection Quiz - Videoaula 17 - Projeto APP Parte2_1 Quiz - Videoaula 18 - Projeto APP Parte2_2 Quiz - Objeto Educacional - Semana 6
Compartilhar