Semestral - Programação para Dispositivo Android
Semestral - Programação para Dispositivo Android
0
0
0
1
Em um ecossistema de dispositivos muito variados (variação está relacionada aos recursos ou até mesmo as suas características físicas, como tamanho e formas de interação), é complexo prever em que tipo de dispositivo um determinado aplicativo será executado. Ter diversos dispositivos reais para realização de testes pode não ser uma opção viável, logo a emulação é uma opção muito utilizada. O Android disponibiliza em seu SDK um emulador oficial. Selecione a opção que representa essa ferramenta:
Android Emulator
Virtual Box
Android X84
GenyMotion
BlueStacks
2
Os blocos são uma das características mais interessantes do App Inventor, tendo em vista que são eles que deixam a ferramenta mais lúdica. Assinale a alternativa que apresenta a análise de condições e os blocos de instruções a serem executados caso as análises precisem ser realizadas.
Controle
Matemática
Lógica
Listas
Variáveis
3
Para identificar problemas em um código-fonte, as IDEs disponibilizam funcionalidades para ajudar o desenvolvedor a encontrar tais falhas. Existem recursos em que o aplicativo para o seu fluxo de execução em um determinado local e disponibiliza ao usuário diversas funcionalidades, para que ele possa identificar possíveis problemas na execução. Qual das opções a seguir representa a funcionalidade descrita?
Break points
Verificador de sintaxe
Plugins
Rendenização dos layouts
Repositórios de versionamento
4
Assinale a alternativa que apresente a seção na qual os componentes serão inseridos com o intuito de compor o layout do aplicativo.
Paleta
Propriedades
Visualizador
Componentes
Multimédia
5
Atualmente, o mercado está dividido basicamente entre duas plataformas: de um lado o Android, desenvolvido pelo Google; e de outro, o iOS, do iPhone. Sobre o desenvolvimento de aplicativos para essas plataformas, é correto afirmar que:
uma aplicação desenvolvida para um dos sistemas é totalmente incompatível com o outro, precisando ser reescrita
os sistemas operacionais mobile têm um ecossistema comum, permitindo que aplicações sejam compartilhadas.
uma aplicação desenvolvida para um dos sistemas precisa ser apenas recompilada para que funcione no outro
o desenvolvimento para iPhone/iOS é feito principalmente em C e Java.
a linguagem de programação padrão, utilizada em ambas as plataformas, é o Java.
6
A mobilidade trazida pelos smartphones e outros dispositivos móveis traz diversas facilidades, as quais são aproveitadas no dia a dia. De acordo com a evolução da tecnologia, é correto afirmar que:
as conexões na segunda geração de redes celulares já eram consideradas estáveis para o uso de streaming
o principal uso de rede na terceira geração de redes celulares foi a troca de mensagens de texto por SMS
na terceira geração de redes celulares, houve um aumento do interesse devido ao melhor acesso aos conteúdos multimídia.
as redes de terceira geração tinham a velocidade máxima em torno de 110Kbps, o suficiente para uso geral.
na segunda geração de redes celulares, as chamadas de vídeo eram um dos principais usos das plataformas.
7
Assinale a alternativa que apresenta os dois ambientes disponibilizados para desenvolvimento pela ferramenta App Inventor 2.
Designer e de blocos.
Propriedades e designer.
Paleta e propriedades
Paleta e blocos.
Blocos e componentes.
8
Na atualidade, um desenvolvedor de software tem disponível para utilização uma grande variedade de linguagens de programação e cada uma tem suas características. Em dispositivos móveis, as plataformas de desenvolvimento normalmente utilizam uma linguagem de programação como linguagem nativa. Considerando o sistema operacional Android, qual é a sua linguagem de programação nativa?
Delphi
Swift
Java
C
Html
9
O desenvolvimento da tecnologia acaba por definir conceitos, os quais serão ou não adotados ao longo do tempo. Alguns se tornam projetos, outros são relegados ao esquecimento por alguma inviabilidade. Muitos já fazem parte do dia a dia das pessoas. A respeito da computação ubíqua, é possível afirmar que:
é a onipresença de computadores dos mais variados tipos interagindo com as pessoas de maneira imperceptível
foi um projeto de um cientista da Xerox, chamado Mark Weiser, o qual não foi realizado por falta de interesse comercial
os smartphones são incluídos no conceito de ubiquidade por terem comandos de voz.
os smartphones não fazem parte desse conceito
a expressão se refere à presença de computadores convencionais no dia a dia das pessoas, respondendo a comandos de voz.
10
O smartphone se tornou um fenômeno mundial. Atualmente, é quase impossível pensar na sua vida sem o uso desses aparelhos, não é? Eles agrupam inúmeras funções, as quais antes eram desempenhadas por equipamentos diferentes. De acordo com essa afirmação, selecione a alternativa correta
O padrão de smartphones que você conhece hoje foi desenvolvido pela Nokia, utilizando o sistema Android
O iPhone foi lançado como uma tentativa da Apple de concorrer com o sistema Android, do Google, amplamente utilizado por outras empresas.
Os smartphones surgiram com o lançamento do iPhone, em 2007, pela Apple. Esses dispositivos funcionavam com redes de segunda geração.
O Android foi o primeiro sistema operacional utilizado por smartphones (exceto o iPhone).
O padrão de smartphones utilizado hoje foi inicialmente desenvolvido pela Apple, com o iPhone
11
Para o desenvolvimento de aplicações, existem as aplicações nativas — desenvolvidas com uma plataforma própria para o sistema operacional em que a aplicação será executada, e as desenvolvidas com metodologias híbridas. O que é correto afirmar sobre o desenvolvimento híbrido?
O desempenho de aplicativos desenvolvidos com essa tecnologia são lentos e, por isso, esse recurso quase não é utilizado.
Para executar uma aplicação desenvolvida hibridamente, o usuário deverá utilizar um navegador, seja Chrome ou Safari.
São aplicações mais leves que as aplicações nativas, pois rodam por meio do navegador.
São produzidas utilizando HTML, CSS e JavaScript, sendo executadas a partir da Internet.
Utiliza uma plataforma comum, a web, para criar a aplicação; posteriormente transformando-as em aplicações nativas
12
Uma IDE poderosa ajuda o desenvolvedor de software na confecção do aplicativo, gerenciando-o, organizando a estrutura do projeto e automatizando processos nos quais o usuário, sem a ajuda dela, teria de realizar manualmente. Dentre as plataformas a seguir, qual é a plataforma indicada pela Android para desenvolver aplicativos?
Android Studio
Eclipse
NetBeans
RAD Studio
Visual Studio
13
A Paleta é organizada por seções, na qual cada seção traz uma gama de componentes relacionados a uma área mais ampla. Assinale a alternativa que traz a associação correta entre a seção e o componente
Interface do usuário – Pintura
Armazenamento – IniciadorDeAtividades.
Desenho e Animação – Bola
Sensores – Rectangle
Social – Web
14
Os componentes estão listados em uma seção, a qual mostra lista de botões, campos de texto, mídias, dentre outros. Assinale a alternativa que apresenta o nome dessa seção.
Componentes
Paleta
Propriedades
Visualizador
Multimédia
15
O ambiente de blocos tem as instruções para que sejam fornecidas funcionalidade aos componentes que serão inseridos no layout do aplicativo. Assinale a alternativa que traz um conjunto de blocos desse ambiente de desenvolvimento
CloudDB
Gravador
OrganizaçãoVertical.
Ligação
Matemática
16
O App Inventor é utilizado em diversos projetos direcionados ao sistema operacional Android. Assinale a alternativa que contextualiza de forma correta o App Inventor.
É uma ferramenta paga, utilizada com o objetivo de desenvolver aplicativos para o sistema iOS
É uma ferramenta simples, utilizada para desenvolvimento de aplicativos e apenas desenvolvedores experientes conseguem utilizá-la para o sistema operacional Windows Phone.
É uma ferramenta complexa que possibilita o desenvolvimento de aplicativos para os sistemas operacionais Android e iOS.
É uma ferramenta lúdica utilizada para desenvolvimento de aplicativos para o sistema operacional Android e que pode ser acessada por meio do próprio browser.
É uma ferramenta utilizada para desenvolvimento de aplicativos para o sistema iOs e Windows Phone
17
O ambiente de desenvolvimento Designer tem algumas áreas, nas quais cada uma tem uma função para que o desenvolvedor possa organizar o layout de seu aplicativo. Assinale a alternativa que traz o nome dessas 5 áreas.
Interface de usuário, organização, mídia, mapas e propriedades
Conectividade, armazenamento, propriedades, componentes e paleta.
Experimental, conectividade, temporizador, blocos, e propriedades.
Paleta, visualizador, componentes, propriedades e mídia
Desenho e animação, mídia, social, visualizador e componentes.
18
Quais são os componentes que ao serem inseridos possibilitam que estes sejam mostrados no layout da esquerda para a direita e do alto para baixo?
OrganizaçãoHorizontal e OrganizaçãoVertical.
SensorDeOrientação e SensorDeProximidade.
Notificador e Botão.
OrganizaçãoEmTabela e OrganizaçãoHorizontal
Deslizador e OrganizaçãoVertical
19
Recursos, em um dispositivo móvel, devem ser consumidos de forma responsável por um aplicativo. Se um determinado aplicativo consumir recursos de memória e processamento de um dispositivo de forma desmoderada pode comprometer o bom funcionamento dele, frustrando o usuário frente à utilização do aplicativo e levando-o a buscar outra ferramenta que atenda as suas necessidades. Indique qual opção a seguir é uma ferramenta que auxilia o desenvolvedor a evitar situações como a descrita anteriormente.
Boas práticas de programação
Monitor de recursos
Gradle
Emuladores
Dispositivos reais
20
O App Inventor tem dois ambientes de desenvolvimento, o de Designer e o de Blocos. Assinale a alternativa que traz os componentes pertencentes a cada ambiente citado, respectivamente.
CódigoDeBarras e EscolherImagem
Procedimentos e Matemática.
Cores e CaixaDeTexto
Legenda e EscolheLista.
SensorAcelerômetro e Controle.
21
Um gerenciador de Layout é utilizado para organizar os componentes na tela automaticamente. Escolhaa resposta que associe corretamente os tipos de gerenciadores com os suas respectivas denições. I. LinearLayout II. RelativeLayout III. TableLayout IV. AbsoluteLayout Organiza os componentes em linhas e colunas Posiciona os elementos por referência à outros elementos Permite selecionar os componentes fornecendo as coordenadas x e y Utilizados para organizar os componentes na vertical ou horizontal
II - III - I - IV
II - III - IV - I
III - IV - II -I
III - II - I - IV
III - II - IV - I
22
Os componentes gerenciadores de layout no Android, também chamados de ViewGroups, são classesque orientam o posicionamento dos componentes visuais na tela do dispositivo móvel. O gerenciador delayout
FullLayout é usado quando um componente deve preencher toda a área da tela. Ele reserva um espaço que será utilizado por um único componente. Se mais de um componente for adicionado, haverá sobreposição ao anterior
FrameLayout permite dividir a área do container como se fosse uma grade formada por linhas e colunas, cujo cruzamento constitui uma célula. Não é permitido denir células vazias ou que uma célula ocupe mais de uma linha ou coluna
FlowLayout é utilizado quando os componentes devem ser apresentados na tela no formato linear (um componente após o outro), de forma horizontal ou vertical
TableLayout é utilizado para organizar os componentes no formato linha/coluna, podendo ser utilizado para apresentar formulários de cadastros em aplicativos móveis
AbsoluteLayout permite adicionar componentes na tela, sendo que a posição destes leva em consideração a posição de outro componente adicionado ou do gerenciador de layout no qual ele se encontra
23
Como trabalha o gerenciador de Layout chamado de LinearLayout?
ele organiza os componentes em uma sequência que pode ser vertical ou horizontal
ele organiza os componentes de forma aleatória
ele organiza os componentes determinando posição para os valores X e Y
ele organiza os componentes em tabelas
ele organiza os componentes tomando como referência sempre outro componente
24
Qual a função da propriedade android:layout_width no componente Button?
determinar a largura do componente
especifica o texto do botão
define a cor do texto
atribui uma identificação para o componente
determinar a altura do componente.
25
Qual a função da propriedade android:id no componente Button?
atribui uma identificação para o componente
especifica o texto do botão
determinar a altura do componente
define a cor do texto
determinar a largura do componente
26
Qual a função da propriedade android:checked no componente RadioButton?
define o estado do componente para deixar marcado ou não
determinar a altura do componente
define a cor do texto
atribui uma identificação para o componente
determinar a largura do componente
27
Qual a função da propriedade android:text no componente Button?
determinar a altura do componente
define a cor do texto
atribui uma identificação para o componente
especificar o texto do botão
especificar
28
Qual o método usado para receber os parâmetros vindos de uma outra activity?
startActivity(intent)
getIntent()
findViewById()
setonClickListener()
getClasse()
29
Um Intent é um objeto que fornece vínculos de tempo de execução entre componentes separados, comopor exemplo entre duas atividades. O Intent representa uma “intenção de fazer algo” do aplicativo. Vocêpode usar os intents para uma ampla variedade de tarefas.Qual o método usado para navegar entre astelas de uma aplicação?
putString()
findViewById()
setonClickListener()
getClasse()
startActivity()
30
Activity geralmente representa uma tela na aplicação. Cada activity é responsável por controlar oseventos da tela e definir qual View será responsável por desenhar a interface gráfica do usuário. Hámétodos da classe Activity que podem ser utilizados para controlar o estado da aplicação. Qual a funçãodo método onResume()?
é chamada após a onStart() é nesse estágio que a interface está visível para o usuário
é chamada quando a activity ca totalmente encoberta por outra activity
é responsável por carregar o layout e outras operações iniciais
é quando uma activity estava em segundo plano e volta a ter o foco
é chamada quando a activity perde o foco
31
Ao trabalhar com o banco SQLite, a aplicação pode criar um ou mais banco de dados, que camlocalizados em qual pasta relativa ao nome do pacote do projeto?
/nome_pacote/data/data/databases/
/data/nome_pacote/databases/
/data/data/databases/nome_pacote/
/data/data/nome_pacote/
/data/data/nome_pacote/databases/
32
Analise os códigos a seguir: Qual a finalidade da variável val?
É uma variável usada na alteração no banco
Armazenar temporariamente os valores para gravar no banco de dados
É uma variável usada na consulta no banco
Armazenar temporariamente os valores para conectar no banco de dados
Armazenar temporariamente os valores para exclusão no banco de dados
33
Qual é o método que abre o banco de dados SQLite?
openDatabase()
closeDatabase()
createDatabase()
openOrCreateDatabase()
insertDatabase()
34
Quando dados são transmitidos e recebidos utilizando-se as APIs RESTful, é necessária uma notaçãocomum a ambas as partes (ambos os lados) para que as aplicações se comuniquem. Em se tratando deREST, qual alternativa apresenta uma afirmativa correta?
É viável, apesar de incomum, a representação dos dados em formato XML para transferência entre aplicações
O retorno de uma chamada é tratado de acordo com a resposta fornecida no corpo da mensagem
O padrão REST requer o uso de documentos em padrão JSON para a transferência de dados entre aplicações
O retorno dos dados ocorre pelo corpo da requisição enviada, com palavras-chave predenidas entre servidor e aplicação
As APIs REST coincidem com as operações de CRUD (Create, Read, Update, Delete)
35
Uma aplicação pode ser chamada de RESTful quando é baseada no padrão REST de acesso afuncionalidades remotas por meio de APIs. Diante isso, é possível armar que:
o método HTTP/GET envia informações por meio do corpo da requisição
ambos os métodos HTTP/POST e HTTP/PUT têm a mesma funcionalidade
o método HTTP/POST é utilizado quando já existe a URI referente ao recurso a ser inserido ou atualizado.
o método HTTP/PUT cria uma nova URI ao inserir recursos
o método HTTP/GET é utilizado para buscar informações que já existem
36
As aplicações baseadas na arquitetura REST transmitem seus dados pela Web e pelo protocolo HTTP. Aschamadas a dados são denominadas requisições e seus pontos de conexão remotos são nomeados deendpoints. Em relação à transmissão dos dados sobre arquitetura REST, qual alternativa está correta?
O padrão RESTful é voltado para redes de alto desempenho, não sendo indicado para conexões instáveis
O servidor não mantém o estado da conexão. É necessário o envio da informação completa e, após a resposta, o ciclo se encerra. Cada requisição é única
O servidor mantém parcialmente os dados da conexão do usuário, mantendo uma sessão, mas não preserva as preferências do usuário ou dados especícos.
Cada requisição é única e deve conter toda a informação necessária, incluindo o login e a senha do usuário, o que torna o padrão particularmente vulnerável
O servidor mantém o estado da conexão, como por exemplo, qual usuário está conectado, suas preferências, etc., por meio do endereço IP do usuário
37
Analise os códigos a seguir. Qual a função da estrutura de comparação usada neste código?
Inserir um registro no banco de dados
Abrir a conexão com a base de dados
Verificar a existência do registro procurado na base de dados
Este comando é usado para alterar um registro na base de dados
Este comando é usado para excluir um registro na base de dados
38
O padrão RESTful se desenvolveu a partir do conceito de computação distribuída, em que partes de um mesmo sistema se localizam em máquinas ou em locais físicos diferentes. Partindo dessa premissa, qual alternativa a seguir está correta?
A comunicação entre aplicação e servidores é realizada de maneira síncrona, consumindo grandes quantidades de dados a cadarequisição.
O uso de aplicativos móveis é pouco dependente do acesso à internet, tendo em vista que as aplicações são instaladas no aparelho
A aplicação móvel é responsável pela maior parte do processamento dos dados do usuário e pelo armazenamento da maior parte das informações
A aplicação móvel é responsável, majoritariamente, pelo conceito de frontend, que é a parte que responde à interação com o usuário
É necessário um dispositivo com grande poder de processamento para atender às demandas atuais
39
É um banco autocontido, compacto, A com suporte nativo no Android e sem necessidade de configuração ou instalação. Isto O torna a escolha natural para um ambiente em que devemos prezar por desempenho, disponibilidade de memória e praticidade de uso. A afirmação acima se trata de qual banco de dados:
PostgreSql
Oracle
MySql
SqLite
Sql Server
40
Na maior parte das aplicações para dispositivos móveis, a há necessidade inerente de comunicação com servidores externos, a que estão acessíveis por acesso à internet. Sendo assim, a O que é um REST? Marque a opção correta.
um conjunto de instruções predefinidas
Uma aplicação auxiliar que fará O intermédio entre servidor e dispositivo
Um padrão de arquitetura de interconexão de aplicações.
Um protocolo de rede
Um conjunto de bibliotecas inerentes às linguagens de programação
41
Qual a função da estrutura de comparação usada nesse código?
Inserir um registro no banco de dados
Abrir a conexão com a base de dados.
Verificar a existência do registro procurado na base de dados
Este comando é usado para excluir um registro na base de dados
Este comando é usado para alterar um registro na base de dados
42
Uma Activity é apenas a tela exibida, sem nenhum layout. Geralmente, para adicionar conteúdo na Activity, devemos utilizar os arquivos de layout do Android, nos quais definem-se todos os elementos visuais, tais como botões e imagens. Qual a linha de comando para acessar a informação digitada pelo usuário em um componente EditText definido no arquivo de layout com a identificação de txtNome?
EditText txtNome ;
String nome;
txtNome = (EditText)findViewById(R.id.txtNome);
nome = txtNome.getText().toString();
EditText txtNome ;
String nome;
txtNome = (EditText)findViewByName(R.id.txtNome);
nome = txtNome.getText().toString();
TextView txtNome ;
String nome;
txtNome = (TextView)findViewById(R.id.txtNome);
nome = txtNome.getText().toString();
Text txtNome ;
String nome;
txtNome = (Text)findViewByName(R.id.txtNome);
nome = txtNome.getText().toString();
TextView txtNome ;
String nome;
txtNome = (TextView)findViewByName(R.id.txtNome);
nome = txtNome.getText().toString();
43
A respeito das pastas e arquivos gerados pelo Android Studio, sua utilização e dimensionamento, avalie as afirmações a seguir. I. O arquivo apresentado é um recurso de layout de tela. II. O arquivo apresentado equivale a classe main() do Java. III. O arquivo apresentado se refere a configuração do projeto. IV. O arquivo apresentado é uma classe de inicialização do aplicativo. É correto apenas o que se afirma em
II e IV.
II e III.
II, III e IV.
I, III, IV.
I e II.
44
Com base nos textos I e II, analise as proposições a seguir. I. O trecho de código do texto II funcionará para qualquer ação que precise ser realizada sobre uma atividade de uma aplicação Android. PORQUE II. O ciclo de vida da Activity do Android foi aplicado corretamente no trecho de código do texto II, cobrindo todos os seus estados. Assinale a alternativa correta a respeito das asserções acima.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
As asserções I e II são proposições falsas.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.