Para quem olha o código-fonte do Android pela primeira vez, acha estranho um arquivo se chamar R.java, pois esse nome não é nada esclarecedor. Esse arquivo é responsável por fazer a ligação entre o arquivo XML e o código-fonte da aplicação. Sem esse arquivo, o projeto não é compilado nem executado. Com relação à classe R, assinale a alternativa correta.
A organização de pastas e arquivos é essencial para a criação de um aplicativo com uma compatibilidade ideal, a partir disso, o trabalho com os recursos envolve acesso. Ao compilar a aplicação, a IDE gera a classe R para os recursos ( resources ) que se localizam na PASTA RES, assim como SUBCLASSES para a variedade de recursos. O ID de um recurso é formado pelo TIPO e NOME do recurso. Diante disso assinale a alternativa correta em relação à organização de pastas e arquivos.
O banco de dados de um aplicativo organiza informações relacionadas a ele e as armazena de forma segura para posteriores consultas. As informações variam passando por documentos, endereços, serviços, clientes, dentre outros. Comumente, para criar um banco de dados no Android, existem três maneiras citadas a seguir. Com relação às formas de criação de um banco de dados, observe as afirmativas a seguir, e as correlacione adequadamente aos termos a que se referem. 1 - Usando ferramentas externas auxiliares. 2 - Usando o terminal do AndroidStudio. 3 - Usando a API Android para SQLite. I - SQLite Expert Personal. II - sqlite3. III - android.database.sqlite.
Os elementos presentes em um banco de dados podem ser lidos por meio do método query() , que envia uma consulta ao banco e responsabiliza o programador pela triagem dos valores passados no método, pois critérios de seleção e colunas desejadas devem ser informados para o método que une itens de insert() e update() . A lista de colunas então estabelece as informações a serem buscadas e o resultado dessa consulta é devolvido em um determinado objeto. Diante disso assinale a alternativa correta que indique o objeto que é o meio pelo qual os resultados da consulta são retornados.
O SQLiteOpenHelper é uma classe prática que tem a finalidade de realizar manutenções do SQLite. Para criar um banco de dados com o SQL Helper, se pode criar uma classe que herda de android.database.sqlite.SQLiteOpenHelper cuja função será a de criar o banco no momento da instalação da aplicação (com o onCreate ) e de atualizar novas versões (com o onUpdgrade ). Após análise sobre a criação do BD com SQL Helper, observe as asserções a seguir e a relação entre elas. I. O Android mantém as informações constantes no banco de dados, armazenando-o em uma pasta específica do aplicativo. PORQUE II. Nesse modelo, na área onde permanecem tais dados, não há a possibilidade de que ela seja acessada pelo usuário nem por outros aplicativos. Analisando as asserções anteriores, assinale a alternativa correta.
O objeto ContentValues é uma forma organizada de chave (compreende uma coluna) e valor (registro a ser inserido na coluna) com a finalidade de manter valores. A inserção de informações no banco de dados é possível mediante a passagem desse um objeto para o método insert() . Em relação aos argumentos para inserção de dados no banco de dados, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir. I. ( ) O nome da tabela envolve o primeiro argumento de insert() que coloca informações em uma tabela que já tenha sido criada. II. ( ) Quando ContentValues estiver repleto, é necessário informar as ações ao framework e isso ocorre no segundo argumento. III. ( ) Selection e selectionArgs abrangem o terceiro e quarto argumentos com o objetivo de serem conciliados para gerar uma cláusula HAVING. IV. ( ) O ID da linha criada é retornado pelo método insert() , devolvendo -1 na ocorrência de erro durante a inserção.
Arquivos do tipo XML são utilizados como metadados, ou seja, são arquivos que contêm informações que explicam o que eles são. Cada arquivo é composto por diversas tags , e, dentro delas, existe um conteúdo específico. A seguir, é apresentado um documento XML com um conteúdo informando as capitais de alguns países. Esses códigos foram criados utilizando a IDE Android Studio Dolphin na versão 2021.3.1 Patch 1 e a SDK do Android na versão Tiramisu – API Level 33 Fonte: Elaborado pelo autor, 2023. Com base no arquivo XML descrito anteriormente, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir. I. Para saber se o nome do país é Brasil ou Argentina, devemos usar o método getText() após ter identificado a tag “nome” pelo comando getName(). II. Para exibir qual é a capital da Argentina, é necessário que o método getText() retorne “capital”. III. Para exibir o nome do primeiro país do arquivo XML, é necessário que o método getName() retorne “Brasil”. Assinale a alternativa que apresenta a sequência correta.
Após a efetivação e o sucesso da conexão, é possível receber dados por meio do BufferedReader (que usa um Reader para leitura dos dados de entrada para criar um buffer de entrada de tamanho padrão) junto com um método que possibilita a leitura da sequência de dados a ser enviada pelo servidor. E para que seja compreensível, a sequência de entrada deve passar por um local para que seja armazenada em buffer por meio de um objeto. Avalie as alternativas a seguir e indique a que representa o método, o local e o objeto citados no enunciado.
A classe AsyncTask possui como tarefa principal a execução do código que requer maior poder de processamento em uma thread que não é a responsável pela interface do aplicativo. Essa classe atualiza as informações da interface e ajuda no processamento em background . Considerando os métodos internos dessa classe, avalie as afirmações a seguir e as correlacione adequadamente aos termos a que se referem. 1 - onPreExecute(). 2 - dolnBackground(). 3 - onProgressUpdate(). I - Exibe alguma forma de progresso na interface durante o tempo em que o processamento em segundo plano é executado. II - Permite a demonstração de uma barra de progresso ou uma mensagem que informa a ação de ter que aguardar. III - Responsabiliza-se pela parte pesada do processamento com a possibilidade de retornar um objeto qualquer. Assinale a alternativa que correlaciona adequadamente os dois grupos de informação.
InputStream é uma biblioteca bastante conhecida dos programadores Java e é também utilizada no desenvolvimento Android. Essa biblioteca é composta por um conjunto de dados do tipo Byte, e que representa um conteúdo passado pela internet para o aplicativo. Os seres humanos não conseguem ler Bytes, e, por isso, essa classe está preparada para realizar a conversão de um conjunto de Bytes em texto (tipo String). Com relação a esse tema, assinale a alternativa que demonstre como é feita essa conversão de Byte para String. Esses códigos foram criados utilizando a IDE Android Studio Dolphin na versão 2021.3.1 Patch 1 e a SDK do Android na versão Tiramisu – API Level 33.
Um aplicativo responsivo se adapta prontamente ao dispositivo móvel pelo qual está sendo executado, dispensando a avaliação de suas particularidades e de seus sistemas operacionais com a finalidade de prover ao indivíduo que o manipula uma confortável experiência. Após análise do conceito apresentado em relação a um aplicativo responsivo, avalie as asserções a seguir e a relação entre elas. I. Identificando alguma operação demorada no aplicativo, para resolver, é aconselhável atuar na linha de execução da Interface de Usuário (UI). PORQUE II. É preciso executar os aplicativos Android de forma integral em uma única linha de execução, na thread principal. Analisando as asserções anteriores, assinale a alternativa correta.
Quando estamos utilizando um aplicativo em Android, algo pode acontecer, e isso impedirá o usuário de interagir com a parte gráfica (tela). Quando isso acontece, uma mensagem é apresentada informando que “o app não está respondendo” e são oferecidas duas opções para resolver esse problema: fechar o aplicativo ou continuar esperando. Essa tela é chamada de ANR (do inglês, Application Not Responding ) e é apresentada em diversas situações. Com relação à exibição de um ANR, avalie as afirmativas a seguir. É exibida quando o dispositivo está com baixa carga na bateria e precisa ser recarregado. É exibida quando o dispositivo está com sinal de internet fraco e impede algum acesso à internet. É exibida quando um aplicativo está levando mais tempo do que o normal para finalizar a criação de uma tela. É exibida quando um aplicativo está trocando de tela e carregando as informações lentamente da internet. Está correto o que se afirma em:
A RA (realidade aumentada) harmoniza elementos virtuais com um ambiente real, o que significa integrar informações virtuais com o mundo real. Uma de suas aplicações permite que médicos consigam visualizar, em tablets , órgãos na terceira dimensão. Outro exemplo de funcionamento da realidade aumentada é o jogo Pokémon GO. Após análise do conceito de RA apresentado, analise as asserções a seguir e a relação entre elas. I. A chegada das etiquetas 2D (QR Code) permitiu o armazenamento de maior quantidade de informação, incluindo aquelas necessárias para projetar imagens, dessa forma a RA possibilita olhar para um ambiente e enxergar elementos sobrepostos. PORQUE II. Isso acontece quando as imagens e os sons que permeiam um indivíduo são trocados pelo conteúdo virtual que foi produzido e dominado pelo computador. Analisando as asserções anteriores, conclui-se que:
Todo smartphone precisa de um software , chamado sistema operacional, para que as pessoas consigam interagir com o hardware , sendo que cada fabricante de smartphone costuma utilizar o seu sistema operacional personalizado. Com relação aos tipos de sistemas operacionais para smartphones , observe as afirmações a seguir. I. Symbian é o sistema operacional utilizado pela Apple, tanto no iPhone como no iPad. II. iOS é baseado no Linux, por isso é um sistema operacional seguro e estável. III. O Android utiliza as linguagens de programação C++ e Kotlin em seus aplicativos. IV. O Windows Phone foi descontinuado após não conseguir competir com o Android e iOS. Está correto que se afirma em:
Os dispositivos móveis abrangem aparelhos que têm se tornado essenciais para os indivíduos. Eles possibilitam a execução de tarefas que geralmente são realizadas em um computador comum, mas trazem a mobilidade e o acesso à internet por meio de tecnologias digitais. A respeito da mobilidade, assinale a alternativa correta.
O ano de 2017 foi marcado por um importante fato no mundo da tecnologia. Nesse ano, a quantidade de smartphones em uso no mundo ultrapassou a quantidade de computadores conectados à internet. Isso ocorreu devido a dois fatores: ampliação das redes de conexão móvel e mais aplicativos para uso diário das pessoas. Assinale a alternativa que apresenta corretamente uma afirmação sobre aplicativos em smartphones .
Um algoritmo de hash seguro (SHA) abrange algoritmos com funções matemáticas que sintetizam os dados em um tamanho fixo. Um dos algoritmos para criar hashes retorna um valor de 64 algarismos hexadecimais. Esse comprimento de resultado não muda. Considerando uma pequena frase ou um livro, a sequência continua contemplando 64 letras e números. Esse tipo de SHA foi criado, a fim de incorporar dados e obter um resumo da informação com medição fixa. O que o diferencia dos outros SHAs é a capacidade computacional dele junto a altos níveis de segurança, sendo utilizado para a mineração de bitcoins . Assinale a alternativa que exibe corretamente o SHA citado no enunciado.
Qualquer mecanismo de autenticação de mensagem ou assinatura digital possui dois níveis de funcionalidade (nível mais alto e nível mais baixo). Acerca das classes dos tipos de funções que podem ser usadas para produzir um autenticador, julgue as afirmações a seguir: O MAC é uma função da mensagem e uma chave secreta que produz um valor de tamanho fixo, que serve como autenticador. A função de hash relaciona uma mensagem de tamanho qualquer a um valor de hash de tamanho variável, que serve como autenticador. A função de nível mais alto é usada como uma primitiva em um protocolo de autenticação de nível mais baixo. Encriptação da mensagem: o texto cifrado da mensagem inteira serve como seu autenticador. Das afirmativas listadas acima, estão corretas:
Números binários aleatórios são utilizados por algoritmos de segurança da rede baseados em criptografia. A sequência desses números deve considerar um sentido estatístico definido. Isso é possível por meio de alguns critérios, como aquele que verifica a constância de 0s e 1s, que deve ser equilibrada. Assinale a alternativa que exibe o critério citado no enunciado, o qual valida a aleatoriedade de uma sequência de números.
Dentre as medidas para lidar com os ataques a segurança computacional entre dois nós, temos: Para a divulgação e análise de tráfego as medidas para lidar com ambos estão no âmbito da confidencialidade da mensagem. Medidas para lidar com máscara, modificação de conteúdo, modificação de sequência e modificação de tempo envolvem autenticação de mensagens. Para tratar do não reconhecimento no destino deve ser utilizado assinaturas digitais. Para tratar do não reconhecimento na origem pode ser exigir a combinação do uso de assinaturas digitais e um protocolo projetado para impedir esse ataque. Das afirmações listadas acima, as que estão corretas são:
A autenticação de mensagem é um processo que emprega a função hash para garantir a integridade e autenticidade de uma mensagem transmitida entre duas partes. Nesse processo, a mensagem original é submetida à função hash , que gera um valor de resumo, ou hash , que, por sua vez, é transmitido com a mensagem. O destinatário pode recalcular o hash do remetente e compará-la com o original para verificar se a mensagem não foi alterada durante a transmissão. Com relação à principal vantagem da função hash para autenticar mensagens, leia as afirmativas a seguir: I. Possibilitar a recuperação da mensagem original a partir do valor de resumo gerado. II. Gerar um valor resumido fixo para as mensagens, independentemente da mensagem original. III. Impossibilitar falsificar uma mensagem sem alterar o valor de resumo gerado. IV. Permitir a autenticação de mensagens apenas em sistemas operacionais específicos. Está correto o que se afirma em:
O MAC é o código de autenticação de mensagem oferecido pela criptografia simétrica. Ele é utilizado como um mecanismo para assegurar a autenticidade das mensagens, evitando que elas sejam adulteradas. Trata-se de um algoritmo que atua no recebimento da mensagem mais a chave secreta, a fim de gerar um autenticador (número de tamanho fixo). Considerando o MAC, analise as afirmativas a seguir e assinale (V) para a(s) Verdadeira(s) e (F) para a(s) Falsa(s). I. O autenticador é gerado por MAC = C(K,M), em que K é a chave, e M é a mensagem. II. Uma chave é compartilhada entre quem envia e quem recebe a mensagem. III. Códigos MAC não podem ser gerados com base em funções hash . Assinale a alternativa que apresenta a sequência correta.
O HMAC é um tipo específico de código de autenticação de mensagem que envolve uma função hash criptográfica e uma chave criptográfica secreta. Acerca do projeto HMAC, julgue as afirmações a seguir: Dentre os objetivos do projeto HMAC podemos listar o uso e tratamento das chaves de uma forma mais simples e usar sem modificações, as funções de hash disponíveis, em particular cujos códigos sejam disponíveis e de forma gratuita. A segurança de qualquer função MAC baseada em uma função de hash não depende da força criptográfica da função hash. É incomum um ataque de força bruta contra HMACs. A força criptográfica do HMAC depende do tamanho da chave secreta utilizada. O HMAC utiliza duas passagens de computação de hash. Primeiro a chave secreta é utilizada para derivar duas chaves (uma interna e outra externa). A primeira passagem produz um hash interno derivado da mensagem e da chave interna. A segunda passagem produz o código HMAC final que deriva do resultado do hash interno e da chave externa. Das afirmações listadas acima, as que estão corretas são:
A assinatura digital é um método criptográfico empregado para garantir a autenticidade e integridade de um documento digital. Funciona como uma assinatura manuscrita em um documento físico, mas é realizada digitalmente por criptografia assimétrica. A assinatura digital é única para cada e vinculada ao conteúdo, tornando-o impossível de ser alterado, e não perde a validade no documento. Dessa forma, permite ao destinatário verificar a autenticidade do documento e confiar na origem e conteúdo, garantindo a segurança das transações eletrônicas. Com relação à garantia da assinatura digital, autenticidade e integridade de um documento digital, avalie as afirmações a seguir: I. Utiliza criptografia simétrica para criar uma assinatura vinculada ao documento digital. II. Usa criptografia assimétrica para criar uma assinatura única e vinculada ao documento. III. O processo de assinatura digital não garante a autenticidade e integridade do documento digital. IV. Cria uma cópia do documento digital, que é assinada e enviada com o original. Está correto o que se afirma em:
O Modo de Feedback de Cifra (CFB) é um dos modos de operação de cifragem em criptografia. O CFB é amplamente utilizado em sistemas de criptografia para proteger a privacidade e a segurança dos dados transmitidos. A principal característica do CFB é permitir a cifragem de blocos de tamanho variável, em vez de exigir que todos os blocos tenham o mesmo tamanho, como em outros modos de operação. Com relação ao modo de feedback de cifra, leia as afirmativas a seguir: I. A saída do algoritmo de cifragem é alimentada de volta como entrada para o próximo bloco de texto claro a ser cifrado. II. A chave de cifragem é alterada a cada bloco de texto claro a ser cifrado. III. O algoritmo de cifragem é aplicado a cada bit de texto claro individualmente. IV. O texto cifrado é dividido em blocos menores para facilitar a transmissão. Está correto o que se afirma em:
O fluxo de cifras é um método de criptografia simétrica que consiste em cifrar uma mensagem bit a bit, em vez de blocos de dados, como o fazem outros algoritmos de criptografia. O fluxo de chaves é um elemento essencial em fluxos de cifras, para garantir a confidencialidade dos dados e prevenir ataques criptográficos. Com relação à função do fluxo de chaves em fluxos de cifras, leia as afirmativas a seguir: I. Gerar uma série de chaves únicas e aleatórias para cifrar. II. Decifrar a informação criptografada. III. Garantir a integridade dos dados cifrados. IV. Quebrar a criptografia da informação. Está correto o que se afirma em:
As técnicas de criptografia mais comuns são as de chave ou cifra simétrica e as de chave assimétricas. Os nomes se referem a se a mesma chave é usada ou não para criptografia e descriptografia . No contexto das cifras simétricas é verdadeiro afirmar que: