Conforme Kalbach (2009, p. 375, grifos nossos), “Técnicas existentes de áreas tais como design de interação, a qual tem uma longa tradição no desenvolvimento de aplicativos de software , fornecem soluções em potencial. Mas criar aplicações interativas on-line não se trata simplesmente de projetar software desktop para a web . Os designers devem abraçar as restrições da web e oferecer suporte aos usuários, de uma maneira que faça sentido em ambientes on-line ”. KALBACH, J. Design de navegação web : otimizando a experiência do usuário. Porto Alegre: Bookman, 2009. Com relação ao exposto e aos seus conhecimentos sobre aplicações web e aplicações ricas para internet , analise as afirmativas a seguir. I. Rolar páginas web longas, baseadas em texto, é, geralmente, livre de problemas. II. Com aplicações web , entretanto, páginas mais longas se tornam problemáticas. III. Dado que as pessoas estão informando dados e manipulando elementos na tela, elas podem precisar do conteúdo e dos controles à vista ao mesmo tempo. IV. Aplicações conceituais e mentais estendem os tipos de interação possíveis. É correto que se afirma em:
A herança é uma forma de especificar e generalizar um objeto na Orientação a Objetos que ajuda a evitar a reescrita de código, ou seja, possibilita criar classes por meio de outras que já existem. Dessa forma, uma classe herda as características da outra. Com relação ao conceito de herança em Java, observe as afirmativas a seguir. I. Permite criar novas classes a partir de classes já existentes usando propriedades existentes. II. O comportamento de um objeto pode ser de diferentes formas que se baseiam em seu tipo de criação. III. Classes provenientes da mesma superclasse podem solicitar métodos com a mesma identificação. IV. A herança é única, isso significa que uma subclasse herda métodos somente de sua classe pai. Está correto o que se afirma em:
As exceções em um programa desenvolvido em Java compreendem erros que podem ocorrer durante a execução, como erros de lógica e erros de acesso a dispositivos ou arquivos que não estejam disponíveis. Seu tratamento tem como foco os locais do código que tenham a possibilidade de provocar essas exceções. Com relação às exceções em um programa Java, observe as asserções a seguir e a relação entre elas. I. Quando as exceções são tratadas, a tolerância a falhas de um programa é aperfeiçoada, como no caso de um usuário que insere uma entrada inválida em um sistema mais de uma vez. O tratamento, então, permite que o programa capture e trate a exceção. PORQUE II. Os comandos try e catch servem para tratar as exceções ocorridas. O catch permite introduzir todas as linhas de código que podem lançar uma exceção, e o try descreve a ação no momento em que a exceção é capturada. Analisando as asserções anteriores, conclui-se que:
A decisão de desenvolver determinado tipo de aplicativo envolve a análise de situações que ajudam nessa escolha. O baixo custo e as funcionalidades relacionadas ao hardware , além do desejo de ser um e-commerce , são características de um tipo de aplicativo. Outro tipo de aplicativo é recomendado se o software envolver uma situação que prejudica sua performance por ter sido inaugurado antes do tempo. Existem, ainda, aplicativos que devem ser escolhidos caso a intenção seja o uso da melhor tecnologia existente para criar suas funcionalidades. Assinale a alternativa que mostra, respectivamente, os tipos de aplicativo citados no enunciado.
Quando o iPhone e os smartphones que usam Android foram lançados, havia só uma maneira de criar aplicativos para esses hardwares , que é o chamado desenvolvimento nativo de aplicativos. Com o passar dos anos, novas técnicas foram desenvolvidas para suprir as desvantagens que existem nessa prática. Como exemplo, podemos citar as técnicas de web apps , aplicativos híbridos e PWA ( Progressive Web Apps ). Referente ao desenvolvimento nativo de aplicativos, assinale a alternativa CORRETA.
Existem aplicações que alcançam, de forma direta, recursos disponíveis no dispositivo em que se encontra, como o GPS, e, assim, garantem uma melhor performance, pois são desenvolvidas de forma exclusiva em um sistema operacional. Existem outras cujo funcionamento é possível tanto no iOS quanto no Android, por trabalharem com um elemento que permite a exibição de páginas da web como parte do layout de tarefas. Algumas aplicações utilizam esse elemento para a exibição de seus conteúdos. Diante disso, assinale a alternativa que contém, respectivamente, os tipos de aplicação e o elemento que foram citados no enunciado.
Os métodos utilizados na linguagem Java correspondem (considerando outras linguagens de programação) a funções, procedimentos ou sub-rotinas. Tais métodos devem, portanto, ser sempre definidos dentro de uma classe, pois Java não compreende o conceito de métodos globais. Com base nas informações apresentadas, analise as afirmativas a seguir e identifique se são verdadeiras (V) ou falsas (F). I. ( ) Public é uma palavra-chave que indica que o método se encontra disponível para o público. II. ( ) O tipo de retorno do método informa o tipo de dado retornado por ele após realizar sua tarefa. III. ( ) Void é um tipo de retorno que significa que após realizar a tarefa o método não retorna informação. IV. ( ) A(s) instrução(ões) do método se localiza(m) no cabeçalho do método e executa(m) a sua tarefa. Assinale a alternativa que apresenta a sequência CORRETA.
Para criar um código-fonte, é possível usar diversas estratégias e modelos de codificação. Esses modelos são chamados de paradigmas de programação e o mais utilizado atualmente é o paradigma da orientação a objetos. O correto uso desse paradigma irá tornar o código-fonte coeso, reutilizável e pouco acoplado. Além disso, a manutenção do código será facilitada, já que ele terá uma boa qualidade de escrita. Referente a esse tema, assinale a alternativa CORRETA.
Nos smartphones, a _______ se apresenta na forma de um __________, sendo ______ composto por diversos componentes internos. Ao ler a sentença acima, assinale a alternativa que preenche corretamente as lacunas.
A interface de usuário conta com a acessibilidade para ajudar a melhorar a interação de indivíduos que requerem uma assistência adicional para manuseá-la. É importante ajudá-los durante a navegação, chamando a atenção para frases que direcionem seu foco e apresentem o produto ou serviço oferecido. Para isso, o design deve levar em conta que nosso cérebro analisa o texto de forma acelerada e identifica frases ou vocábulos que considera importantes; tudo isso é abordado em um princípio. Outro aspecto importante que deve estar presente no aplicativo e é abordado no segundo princípio, é que, ao utilizá-lo, os usuários (por mais diversos que sejam) consigam as informações que buscam com eficiência, apenas reconhecendo frases. Um terceiro princípio abrange a grande importância de oferecer serviços e informações que oportunizem a participação de pessoas com necessidades especiais ou mobilidade reduzida no que diz respeito à funcionalidade, de forma a promover sua independência e autonomia. Diante disso, assinale a alternativa correta que apresenta, respectivamente, os três princípios citados no enunciado.
Em relação aos testes realizados para verificação e validação de aplicativos para dispositivos móveis, podemos afirmar que: É preferível que seja realizado de forma manual, de maneira a se obter um melhor controle e acompanhamento durante todo o processo de testagem. 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. 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.
Engana-se quem considera os dispositivos móveis como uma novidade tecnológica dos anos 2000. Data de 1993 o primeiro smartphone lançado comercialmente, uma novidade apresentada pela empresa IBM. Esse aparelho unia a funcionalidade de um telefone celular com um computador de mão, chamado PDA. Nessa época, os aparelhos eram pesados, com telas monocromáticas e bateria de curta duração. Isso foi sendo melhorado com o passar dos anos, até chegarmos ao smartphones nos modelos atuais. Sobre os dispositivos móveis, é correto afirmar que:
Nos aspectos mercadológicos, os dispositivos móveis podem ser representados por sistemas operacionais, cujos tipos são citados a seguir: o primeiro sistema operacional (SO) cuida de tarefas do celular com uma interface facilitada e destaca-se por sua utilização mundial, principalmente por ser de código aberto, podendo ser usado por vários fabricantes de modelos de celulares; o segundo SO foi desenvolvido para que seu uso se destinasse, de forma exclusiva, a aplicativos específicos, integrando qualidades do macOS a um dispositivo portátil, trabalhando somente para produtos da própria fabricante; o terceiro SO comumente se mantém atualizado por anos, ao contrário do quarto SO que realiza atualizações em intervalos menores de tempo, o que ocasiona o uso de suas distintas versões por usuários. Assinale a alternativa que contém os respectivos sistemas operacionais citados no enunciado.
Em relação às diferenças entre dispositivos móveis e computadores de uso geral (desktops), podemos afirmar que: I - Dispositivos móveis normalmente possuem uma variedade bem maior de tecnologias de acesso para conexão do que os computadores de uso geral. II - Dispositivos móveis normalmente estão conectados a um número bem maior de periféricos do que computadores de uso geral. III - Por não terem grandes restrições em termos de consumo de energia e dimensões, computadores de uso geral tem a possibilidade de ter uma maior capacidade de armazenamento.
Um SO (sistema operacional) de celular comporta e executa todos os seus aplicativos e possibilita a relação entre o indivíduo e a tela. Existe um SO cujos fabricantes têm o hábito de personalizar o sistema e disponibilizar recursos adicionais, assim como trazer recursos pré-instalados, como o YouTube. Outro SO é o dos celulares Apple, que assegura um bom desempenho aos aparelhos devido à produção de hardware e software . Diante disso, assinale a alternativa que representa, respectivamente, os sistemas operacionais de celulares citados no enunciado.
Os aplicativos precisam dispor de recursos que possam sustentar as características que são próprias de cada dispositivo, como o uso de distintos idiomas em um só aplicativo. Para isso, a pasta “res” é fracionada em pastas para diferentes finalidades. Sendo assim, existem pastas que mantêm as imagens da aplicação e apresentam um sufixo. Existem também pastas que mantêm arquivos XML úteis para construir as formas de distribuição dos elementos gráficos do aplicativo. Dessa forma, a pasta “res” acomoda todos os elementos da aplicação. Analise as alternativas a seguir e indique a que contempla as pastas e o elemento citados, respectivamente, no enunciado.
Dentro do Android Studio, existe uma funcionalidade chamada AVD, que é a sigla para Android Virtual Device . Ela é responsável por invocar um emulador nativo do Android ou então invocar um software externo que faz esse papel de emulação. Entre as opções de emuladores que um AVD pode invocar temos o BlueStacks, o GenyMotion, o Android x86 e o Android Emulator. Referente a esse tema, assinale a alternativa CORRETA.
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 ? <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello!</string> <string name="submit_label">Enviar</string></resources>
A manipulação das propriedades de componentes que se localizam no layout requer o uso de atributos, como um que serve para indicar a finalidade do campo de texto, ou seja, esse atributo possibilita a inserção de uma mensagem que oferece orientação em uma caixa de texto a ser preenchida. Diante do exposto, assinale a alternativa que indica o atributo do enunciado.
Anualmente, a Google realiza um evento presencial e com transmissão pela internet para apresentar as novidades da plataforma Android para toda a comunidade. Durante a conferência Google I/O de 2013, uma grande novidade foi anunciada e impactou todos os desenvolvedores para a plataforma Android. A partir de 2013, a IDE oficial para Android passou a ser o Android Studio, que é baseado no software Intellij IDEA. Com base nas informações apresentadas, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir. ( ) O Android Studio é orientado a projetos e em cada um dos projetos existem diversos arquivos de código-fonte. ( ) Ao usar a perspectiva “Android”, todos os arquivos do projeto são exibidos, e a perspectiva “Project” apresenta menos arquivos. ( ) Ao criar um projeto Android, o campo "Minimum SDK" deve ter a SDK mais atual, pois irá atingir um percentual maior de usuários. Assinale a alternativa que apresenta a sequência CORRETA.
A maneira como componentes ( views ) são distribuídos na tela influencia a usabilidade de um dispositivo móvel. Em todo projeto, isso justifica o uso de distintas formas para disposição dessas views na tela do device . Existem algumas formas de layout que ajudam a organizar os componentes. Sobre tais formas de layout , avalie as afirmações a seguir e as correlacione adequadamente aos termos a que se referem. 1. ConstraintLayout 2. TableLayout 3. RelativeLayout I. Proporciona a criação de layouts complexos com uma organização simples e entendível dos elementos, dispensando grupos aninhados. É uma ViewGroup que permite estabelecer a posição de um componente. II. Possibilita ações como o alinhamento de dois componentes pela borda direita, o posicionamento de um componente abaixo do outro e a centralização de um componente na tela. III. Trata-se de uma ViewGroup que agrega informações em linhas e colunas, criando uma organização das informações de forma tabular, sem exibir linhas de borda. Assinale a alternativa que correlaciona adequadamente os dois grupos de informação.
O carregamento e a análise de dados XML compreendem atividades corriqueiras em aplicativos que permanecem conectados a uma rede. No Android, a interface XmlPullParser possibilita essa tarefa de forma eficiente por meio da análise de arquivos XML nesses tipos de aplicativos. Em relação à interface XmlPullParser , identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir. I. ( ) Em um conteúdo XML, para realizar a análise, é preciso, primeiro, identificar os campos no arquivo que têm relevância. II. ( ) O método getEventType() avança o analisador passando por cada evento e o next() identifica o evento encontrado. III. ( ) Achar o evento START_TAG significa encontrar o início de um campo, o que possibilita saber a tag que corresponde ao campo. IV. ( ) Ao encontrar a tag desejada, é preciso achar um evento TEXT que indica um conteúdo de texto, e usar getLine() para obter conteúdo. Assinale a alternativa que apresenta a sequência CORRETA.
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.
Alguns erros podem vir a ocorrer no processo de conexão e devem ser tratados para que a Activity tenha a capacidade de resolvê-los evitando dessa forma o encerramento de forma não esperada e abrupta da aplicação. É preciso compreender que a realização de conexões HTTP leva tempo. Após análise da situação apresentada, observe as asserções a seguir e a relação entre elas. I. O HTTP é um protocolo que possibilita receber recursos como documentos HTML, onde o usuário é quem inicia as solicitações que podem levar um tempo considerável para responder devido ao fato de que conexões HTTP podem ser morosas. PORQUE II. Se elas forem feitas dentro da thread principal, podem provocar uma parada na aplicação, já que a execução da interface acontece também na thread principal. Isso provoca uma ANR ( Activity Not Responding ). Analisando as asserções anteriores, assinale a alternativa correta.
Em relação ao "Gradle" encontrado na plataforma Android Studio, podemos afirmar que: I - É uma ferramenta de automatização do processo de compilação do aplicativo. 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.
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).