DDM - Sem1 - A - 7 - Atividade
DDM - Sem1 - A - 7 - Atividade
DDM - Sem1 - A - 7 - Atividade
PERGUNTA 1
1. Assinale a alternativa que corresponde somente a testes funcionais realizado em aplicativos
para dispositivos móveis.
Teste para verificação de erros de inicialização de término, teste de carga de usuários,
teste de usabilidade.
Teste para verificação de erros de interface de usuário, teste de funções incorretas ou
ausentes, teste para verificação de erros de inicialização de término.
Teste de funções incorretas ou ausentes, teste de atualização, teste de privacidade.
PERGUNTA 2
1. Em dispositivos móveis a usabilidade está associada:
à vida útil de um dispositivo móvel.
PERGUNTA 3
1. Em relação aos testes realizados para verificação e validação de aplicativos para dispositivos
móveis, podemos afirmar que:
I. É preferível que seja realizado de forma manual, de maneira a se obter um melhor controle e
acompanhamento durante todo o processo de testagem.
II. Existem diversas categorias de testes para aplicativos móveis, tais como: testes funcionais,
testes de interrupção, testes de instalação, testes de usabilidade e testes de desempenho.
III. Uma das abordagens possíveis para realização de testes automatizados quando o código do
aplicativo apresenta alguma função muito específica é criar um programa para realização do
teste.
Somente a afirmação II está correta
1. Níquel híbrido.
2. Íon-Lítio.
3. Níquel-Cádmio.
I. Este tipo de bateria possui a vantagem de não ficar “viciada”, pois não apresenta o efeito de
memória. No entanto, é uma tecnologia sensível a altas temperaturas.
II. Possuem um custo baixo e uma vida útil relativamente longa. No entanto, além apresentam
o efeito de memória, levam na sua composição elementos tóxicos.
III. Foi a tecnologia utilizada nos primeiros aparelhos celulares, possui uma longa durabilidade,
no entanto eram grandes e pesadas.
PERGUNTA 5
1. Nos smartphones, a CPU se apresenta na forma de um SOC (System On a Chip), sendo o
processador composto por diversos componentes internos.
PERGUNTA 6
1. Quais dos itens abaixo estão associados à usabilidade de um aplicativo para dispositivos
móveis?
I. Acessibilidade.
II. Responsivo.
III. Utilização de contraste de cores na UI.
Somente o item I está associado à usabilidade de um aplicativo.
A ferramenta Android Studio utiliza qual linguagem padrão de arquivo para construção de layouts de tela?
HTML
Python
Perl
XML
C++
PERGUNTA 2
Quando nos referimos a ferramentas e ambientes de desenvolvimento para aplicativos, podemos afirmar que uma IDE é:
uma interface de desenvolvimento externa.
PERGUNTA 3
Para criarmos layouts de tela de um aplicativo na plataforma Android Studio, utilizamos basicamente dois tipos de elementos, _________ que correspondem aos componentes que normalmente
encontramos em ______ de aplicativo, e _________.
interfaces, uma tela, os métodos.
PERGUNTA 4
O tipo de layout em que para se estabelecer a posição de um elemento interno é necessário pelo menos um “constraint" vertical e um "constraint" horizontal é o:
ConstraintLayout.
LinearLayout.
FrameLayout.
RelativeLayout.
ProgressiveLayout.
PERGUNTA 5
II - O Gradle funciona de forma independente do Android Studio, ou seja, é possível compilar os aplicativos via linha de comando em um computador em que o Android Studio não esteja instalado.
III - O Gradle tem seu uso limitado ao desenvolvimento de aplicativos híbridos e multiplataforma.
Somente as afirmações I e II estão corretas.
PERGUNTA 6
Em relação aos emuladores e o seu uso para o desenvolvimento de aplicativos, podemos afirmar que:
I - Emulador é um software executado em uma plataforma, sendo que este deve disponibilizar um ambiente emulado do sistema desejado.
II - O AVD é o dispositivo Android virtual utilizado pelo Android Emulator.
III- O GenyMotion é uma emulador Android que é executado por intermédio de um Virtual Box (software de virtualização de sistemas operacionais).
Somente a afirmação II está correta.
PERGUNTA 7
Considere o arquivo strings.xml dentro do diretório "values/" do Android Studio, que contém o código XML mostrado abaixo, que, por sua vez, contém recursos de Strings. Quais são os valores que
estão sendo atribuídos às Strings?
"hello", "submit_label"
"resources", "string"
Estado de Conclusão da Pergunta:
Fazer teste: Semana 4 - Atividade Avaliativa
Informações do teste
A classe de layout que permite organizar os componentes horizontalmente ou verticalmente à medida que vão sendo inseridos dentro do layout é o:
LinearLayout.
ConstraintLayout.
ProgressiveLayout.
RelativeLayout.
FrameLayout.
Para criarmos layouts de tela de um aplicativo na plataforma Android Studio, utilizamos basicamente dois tipos de elementos, _________ que correspondem aos componentes que normalmente
encontramos em ______ de aplicativo, e _________.
O tipo de layout em que para se estabelecer a posição de um elemento interno é necessário pelo menos um “constraint" vertical e um "constraint" horizontal é o:
RelativeLayout.
ProgressiveLayout.
FrameLayout.
LinearLayout.
ConstraintLayout.
A ferramenta Android Studio utiliza qual linguagem padrão de arquivo para construção de layouts de tela?
Perl
C++
HTML
Python
XML
Em relação aos emuladores e o seu uso para o desenvolvimento de aplicativos, podemos afirmar que:
I - Emulador é um software executado em uma plataforma, sendo que este deve disponibilizar um ambiente emulado do sistema desejado.
II - O AVD é o dispositivo Android virtual utilizado pelo Android Emulator.
III- O GenyMotion é uma emulador Android que é executado por intermédio de um Virtual Box (software de virtualização de sistemas operacionais).
Considere o arquivo strings.xml dentro do diretório "values/" do Android Studio, que contém o código XML mostrado abaixo, que, por sua vez, contém recursos de Strings. Quais são os valores que estão
sendo atribuídos às Strings?
"hello", "submit_label"
"Hello!", "Enviar"
"resources", "string"
II - O Gradle funciona de forma independente do Android Studio, ou seja, é possível compilar os aplicativos via linha de comando em um computador em que o Android Studio não esteja instalado.
III - O Gradle tem seu uso limitado ao desenvolvimento de aplicativos híbridos e multiplataforma.
Clique em Salvar e Enviar para salvar e enviar. Clique em Salvar todas as respostas para salvar todas as respostas. Salvar todas as respostas Salvar e Enviar
PERGUNTA 1
1. Podemos associar a palavra Activity à palavra:
ação.
solicitação.
CallBack.
filtro.
tela.
1,25 pontos
PERGUNTA 2
1. A ________ é sempre enviada ao sistema operacional em um mecanismo de _______, e dependendo do seu
conteúdo pode ser interceptada por qualquer _______.
classe R, broadcast, mecanismos de call-back.
Activity, broadcast, interface de usuário.
Intent, broadcast, aplicação.
Activity, recursão, aplicação.
intent, recursão, objeto.
1,25 pontos
PERGUNTA 3
1. Toda Activity deve estar obrigatoriamente declarada no arquivo:
AndroidManisfest.xml
R.java
string.xml
drawable.xml
Res.java
1,25 pontos
PERGUNTA 4
1. O método da Activity em que ocorre a execução da lógica básica de inicialização do aplicativo é o método:
onDestroy()
onStop()
onCreate()
onResume()
onStart()
1,25 pontos
PERGUNTA 5
1. O método ________ permite enviar dados através de uma Intent, utilizando um mecanismo de _______ e
_______
getExtras(), chave, valor.
putExtras(), chave, valor.
putExtras(), transmissão, verificação.
getExtras(), envio, retorno.
putExtras(), senha, contrassenha.
1,25 pontos
PERGUNTA 6
1. Em relação às utilizações possíveis de uma Intent, podemos afirmar que um Intent pode ser utilizado para
enviar uma mensagem de solicitação para:
1,25 pontos
PERGUNTA 7
1. No trecho de código abaixo, identifique qual tipo de Intent está sendo utilizado.
1,25 pontos
PERGUNTA 8
1. Considere o identificador provido pela classe R no código abaixo. A partir da análise do identificador,
podemos afirmar que o arquivo, o tipo de recurso, e a pasta em que ele se encontra é:
R.layout.activity_main
activity_main.xls, layout, layout
activity_main.java, Java, java
R.xls, xls, activity_main
layout.xls, xls, R
R_layout_activity_main.xls, layout, res
Atividade Avaliativa
PERGUNTA 1
1. Uma AsyncTask especifica três argumentos genéricos, que são:
PERGUNTA 2
1. 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:
openConnection()
onPreExecute()
onPostExecute()
publishProgress()
onCreate()
PERGUNTA 3
1. A classe Log permite que você exiba mensagens em tempo real no Logcat, durante o
funcionamento do aplicativo no AVD.
PERGUNTA 4
1. As afirmações abaixo, que dizem respeito aos métodos da classe AsyncTask, se
referem a quais métodos, respectivamente?
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.
publishProgress(),onProgressUpdate(), doInBackground()
doInBackground(), onPreExecute(), onProgressUpdate()
onPostExecute(), onPreExecute(), onProgressUpdate()
onPostExecute(), doInBackground(), onProgressUpdate()
onPostExecute(),publishProgress(), onProgressUpdate()
PERGUNTA 5
1. A classe HttpURLConnection pode ser usada para enviar e receber dados de
streaming cujo comprimento não é conhecido.
PERGUNTA 6
1. 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.
PERGUNTA 7
1. 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?
setRequestMethod( )
setReadTimeout()
setConnectTimeout()
getResponseCode()
setDoInput()
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
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ão da 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.
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().
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.