Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 1 QUESTÕES GERAIS 0,5 PONTO 1a Questão (Ref.: 122949) Programas feitos com JME consomem poucos recursos graças: [X] Às características da KVM. 2a Questão (Ref.: 141297) Marque a opção que não é um dispositivo móvel: [X] Desktop 3a Questão (Ref.: 123464) A plataforma Android quando comparada à plataforma Java ME possui o diferencial de: [X] Permitir que desenvolvedores possam tirar proveitos de tudo o que o dispositivo móvel possa oferecer. 4a Questão (Ref.: 123431) O termo "plataforma de hardware" refere-se: [X] Ao tipo de equipamento ou, de dispositivo ou, ainda, ao ambiente de execução. 5a Questão (Ref.: 123438) Uma máquina virtual é: [X] Um simulador eficiente e isolado de uma máquina real. 6a Questão (Ref.: 141298) Normalmente, os dispositivos móveis são pequenos e possuem algumas diferenciações importantes quando comparados a equipamentos maiores. Marque a opção que não é uma diferenciação. [X] Normalmente são mais lentos na inicialização e no desligamento; 7a Questão (Ref.: 637284) No desenvolvimento em dispositivos móveis, as configurações definem qual a plataforma mínima de desenvolvimento para cada tipo de dispositivo, baseando-se nas características do hardware. Assinale a alternativa que indica as duas configurações atualmente definidas para o Java ME [X] CLDC e CDC 8a Questão (Ref.: 266506) Na montagem do ambiente para desenvolvimento J2ME utilizando a IDE NEtBeans, precisamos de vários componente, são eles: [X] JDK do Java SE para a plataforma do seu computador, o NetBeans, o JDK do J2ME e o mapeamento da plataforma J2ME dentro do NetBeans. 9a Questão (Ref.: 255814) As configurações JME direcionam os aplicativos para uma ampla família de dispositivos com características similares. Com respeita à configuração do tipo CDC, qual das afirmações é VERDADEIRA? [X] Precisa de pelo menos 512 KB de memória para execução do Java. 10a Questão (Ref.: 266504) As configurações JME direcionam os aplicativos para uma ampla família de dispositivos com características similares. Com respeita à configuração do tipo CLDC, qual das afirmações é VERDADEIRA? [X] Interface de usuário com recursos limitados. 11a Questão (Ref.: 123478) Para a plataforma Java Micro Edition, podemos afirmar que a diferença significativa entre as configurações de um telefone celular e um smartphone: [X] Está no CLDC e no CDC. 12a Questão (Ref.: 636829) A CLDC refere-se ao conjunto de configurações que caracterizam dispositivos limitados em memória e poder de PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 2 processamento. Neste contexto, é certo afirmar que uma das características desses dispositivos é: [X] Limite de 128 KB de memória para execução do Java 13a Questão (Ref.: 122980) As MIDlets são: [X] Aplicações da plataforma Java Micro Edition. 14a Questão (Ref.: 141945) As classes gráficas (classes GUI) do Java Micro Edition são definidas pela JCP (Java Community Process) e estão inclusas no MIDP. Marque a alternativa que possui somente Displayable que herdam de Screen: [X] Alert, List, Form e TextBox 15a Questão (Ref.: 141941) Para desenvolver programas para dispositivos móveis, foi necessário classificar os aparelhos em duas classes. Marque a alternativa correta das duas categorias e suas principais características. [X] CLDC refere-se ao conjunto de configurações que caracterizam dispositivos limitados em memória, conectividade, vídeo, interoperabilidade e poder de processamento enquanto o CDC refere-se ao conjunto de configurações que caracterizam dispositivos mais potentes em memória, poder de processamento, vídeo, interoperabilidade e conectividade de rede. 16a Questão (Ref.: 123527) Devemos considerar o uso de bibliotecas gráficas: [X] Quando a biblioteca empregar um paradigma de programação que facilite o desenvolvimento e quando houver espaço no equipamento para a adição dela. 17a Questão (Ref.: 123526) As MIDlets são empacotadas: [X] dentro de um arquivo de extensão JAR (Java Archive). 18a Questão (Ref.: 122996) Sobre as ações do AMS (Application Management Software) é incorreto dizer: [X] Define as APIs (Application Programming Interface) para a interface de usuário. 19a Questão (Ref.: 141979) Verifique o trecho de código abaixo: Display display = getDisplay(); display.setCurrent(proxTela); Marque a opção que explica corretamente o código: [X] Cria um objeto que identifica a tela atual do dispositivo e passa para proxTela; 20a Questão (Ref.: 650445) Através do NetBeans é possível modelar aplicativos JME High Level de forma visual. Neste editor visual, as setas de ligação representam: [X] Fluxo de navegação, com a troca de Displayable, a partir do uso de Commands e alguns eventos. 21a Questão (Ref.: 123531) Podemos afirmar que a área de fluxo da IDE NetBeans: [X] É responsável por estabelecer fluxo de dados e ações da aplicação de maneira gráfica. 22a Questão (Ref.: 123535) O tipo de objeto que representa um campo de texto nativo da plataforma Java ME é: [X] TextField. 23a Questão (Ref.: 644308) Considere a linha de código abaixo, e assinale a alternativa que indica a correta execução dessa instrução: PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 3 nomeStringItem.setText(nomeTextField.getString()) [X] Coleta o dado digitado pelo usuário, e o transfere para ser exibido no objeto nomeStringItem 24a Questão (Ref.: 644343) O StringItem é o componente que possui a função de apresentar uma informação de texto para o usuário. Essa informação é subdividida em: [X] Label/Conteúdo 25a Questão (Ref.: 255907) O uso de boas práticas de programação facilitam a deteção de erros que não podem ser detectados pelo compilador, além de agilizar o desenvolvimento de softwares e viabilizar o trabalho em equipe. Qual dos elementos abaixo NÃO pode ser considerada uma boa prática? [X] Alocação de todos os objetos ao iniciar a execução do programa. 26a Questão (Ref.: 123399) Quando se programa em celular com uma configuração baixa como, por exemplo, CLDC 1.0, o melhor a fazer a fim de reduzir o consumo de memória RAM é: [X] Usar o mínimo possível de objetos. 27a Questão (Ref.: 122962) Para melhorar o desempenho dos sistemas criados com JME deve-se: [X] Instanciar objetos somente quando forem necessários. 28a Questão (Ref.: 122961) Para a descoberta de erros de lógica de programação a opção mais adequada seria: [X] Utilizar um depurador. 29a Questão (Ref.: 639402) Mesmo os programadores mais experientes cometem erros, e saber como depurar um aplicativo e encontrar esses erros é uma parte importante da programação. Os erros de programação se encaixam em três categorias: erros de compilação, erros em tempo de execução e erros de lógica de programação. Neste contexto, assinale a afirmativa falsa. [X] Erros de compilação ocorrem durante a execução de um programa e representam situações de processamento que não podem ser resolvidas. 30a Questão (Ref.: 123410) Boas práticas de programação compreendem: [X] Documentação e objetividade, a fim de contemplar a manutenção e o resultado. 31a Questão (Ref.: 138005) O MIDlet é um aplicativo para dispositivos móveis, que rodam na máquina virtual Java. Ele possui uma série de métodos obrigatórios. São métodos obrigatórios de um MIDlet: [X] "startApp", "pauseApp" e "destroyApp". 32a Questão (Ref.: 644359) A classe ChoiceGroup é um componente correspondente a uma lista de escolhas, podendo ser adicionado a um Form junto com outros componentes visuais. Assinale a alternativa que indica o tipo desse componente que possibilita a seleção de várias opções: [X] MULTIPLE 33a Questão (Ref.: 644370) A classe Form é um componente que pode conter um número arbitráriode controles de interface, chamados Itens. Neste contexto, assinale a alternativa que corresponde a tal característica. [X] Conteiner PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 4 34a Questão (Ref.: 644360) A classe ChoiceGroup é um componente correspondente a uma lista de escolhas, podendo ser adicionado a um Form junto com outros componentes visuais. Assinale a alternativa que indica o tipo desse componente que possibilita a seleção única: [X] EXCLUSIVE 35a Questão (Ref.: 255920) Formulários são utilizados na concepção de softwares MIDP com uso de High Level API quando apenas um componente não é suficiente para a entrada de dados. Qual dos elementos abaixo pode ser utilizado como um item de formulário? [X] TextField 36a Questão (Ref.: 138036) Podemos afirmar que a linha de programação: "Display.getDisplay(this).getCurrent()" [X] Retorna o objeto que foi colocado na tela do dispositivo. 37a Questão (Ref.: 137445) Na construção de jogos é utilizada a Low Level API na definição da interface visual, sendo a mesma construída em apenas um método denominado: [X] paint 38a Questão (Ref.: 137442) Ao contrário das interfaces de alto nível, apenas uma classe é utilizada na definição da interface. Esta classe é denominada: [X] Canvas 39a Questão (Ref.: 688354) Considera a afirmação: É uma classe projetada para manipular os personagens como um elemento gráfico e para verificar colisões. Qual das alternativas é completamente verdadeira? [X] Sprite 40a Questão (Ref.: 688347) Considere a afirmação: É uma classe projetada especificamente para jogos, que permite controlar todo o jogo com um único thread e captura de eventos do teclado. Qual das alternativas é completamente verdadeira? [X] GameCanvas 41a Questão (Ref.: 138809) O método paint da classe Canvas: [X] Serve para desenhar gráficos na tela. 42a Questão (Ref.: 137449) O JME inseriu algumas classes voltadas especificamente para a construção de jogos. Qual dos itens abaixo não faz parte deste grupo de classes? [X] Form 43a Questão (Ref.: 139095) É correto afirmar que a classe RecordStore: [X] Representa o banco de dados da aplicação e possui a capacidade de armazenar registros, que são os dados que pretendemos salvar na área de memória dedicada ao armazenamento persistente de dados da aplicação. 44a Questão (Ref.: 584910) O padrão de desenvolvimento Decorator, onde funcionalidades são adicionadas a elementos existentes, é muito utilizado no Java em termos de controle de entrada e saída, naquilo que se refere às classes relacionadas a fluxos (Stream). No caso do RMS estas classes podem ser aproveitadas para facilitar a escrita e leitura de arrays de bytes. PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 5 Dado o trecho de código a seguir, qual a instrução correta para a leitura de um valor inteiro contido no array de bytes? byte[ ] registro = recordStore.getRecord(id); ByteArrayInputStream bais = new ByteArrayInputStream (registro); DataInputStream dis = new DataInputStream(bais); [X] int x = dis.readInt( ); 45a Questão (Ref.: 137470) O efeito da utilização do método deleteRecordStore dentro de um aplicativo JME que utiliza o banco de dados padrão da plataforma é: [X] A remoção do banco de dados completo. 46a Questão (Ref.: 713011) É importante relembrar que para manipular os métodos da classe RecordStore é necessário utilizar instruções da linguagem Java para tratamento de erros, pois eles podem ocorrer durante o uso de operações que envolvem o banco de dados. Ainda referente a manipulação da classe RecordStore, identifique a alternativa INCORRETA abaixo: [X] Uma classe RecordStore nunca pode ser compartilhada para outras MIDlets. 47a Questão (Ref.: 719258) O armazenamento de dados é chamado de RecordStore. Ele é identificado por um nome, que é case sensitive e é criado por um MIDlet. Dada as opções abaixo, identifique a afirmação falsa: [X] nextRecordId é um método da classe RecordStore; 48a Questão (Ref.: 717280) Em uma aplicação, necessitamos trabalhar com a classe RecordStore e a interface RecordEnumeration. Neste contexto, devemos, obrigatoriamente, importar o pacote: [X] javax.microedition.rms 49a Questão (Ref.: 584991) É comum bibliotecas apresentarem métodos de conveniência para tarefas repetitivas utilizadas pelos programadores. No caso o GCF não é uma exceção, pois o mesmo conta com métodos de conveniência para criação de vários fluxos de entrada e saída. Qual dos métodos abaixo NÃO é um destes métodos de conveniência? [X] openDataStream 50a Questão (Ref.: 650442) Qual das exceções abaixo é específica para uso no GCF? [X] ConnectionNotFoundException 51a Questão (Ref.: 650299) Para a comunicação remota o JME utiliza um framework denominado: [X] GCF 52a Questão (Ref.: 717291) Na API do GCF, a classe Connector define três modos para abrir a conexão, são eles: open(String url) open(String url, int mode) open(String url, int mode, boolean timeouts) O parâmetro mode descreve a forma como a conexão acontece. Assinale a alternativa que indica o modo padrão de abertura da conexão: [X] READ_WRITE QUESTÕES QUE VALEM 1 PONTO 01a Questão (Ref.: 201311272293) Pontos: 1,0 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 6 A camada, ou layer, de persistência ou de acesso aos dados é a parte da aplicação responsável por se comunicar com o banco de dados, ou com o framework de persistência. Ela prove: [X] Um conjunto de classes com a função de gerenciar a persistência de objetos 02a Questão (Ref.: 201405367304) Pontos: 1,0 A camada, ou layer, de persistência ou de acesso aos dados é a parte da aplicação responsável por se comunicar com o banco de dados, ou com o framework de persistência. Ela prove: [X] Isolamento entre o ambiente de armazenamento persistente e a aplicação. 03a Questão (Ref.: 201311147096) Pontos: 1,0 Quando desenvolvemos jogos para dispositivos móveis, muitas vezes precisamos lidar com eventos de baixo nível e emissão de gráficos na tela. Isso é feito pela classe Canvas em J2ME. Sobre esta classe Canvas, podemos afirmar: I - Fornece métodos ao desenvolvedor para lidar com ações de jogo, eventos-chave, e eventos de ponteiro. II - São fornecidos métodos para identificar as capacidades do dispositivo e mapeamento de teclas e como as derivadas de Displayable, mas a classe Canvas não pode ouvir os comandos de menu. III - É intercambiável com as classes de tela padrão, de modo que um aplicativo pode misturar e combinar Canvas nas telas, conforme necessário. Marque a alternativa que identifica as afirmativas corretas: [X] Apenas I e III estão corretas 04a Questão (Ref.: 122470) Pontos: 1,0 Quando desenvolvemos aplicativos gráficos para celulares em J2ME, utilizamos a classe Canvas, que é uma classe: [X] Base e é utilizada em aplicações que necessitam lidar com eventos de baixo nível e emissão de gráficos na tela. 05a Questão (Ref.: 568830) Pontos: 1,0 Em muitas aplicações ocorrem situações em que alguns processos apresentam trechos comuns e como uma estratégia para evitar a repetição de códigos define-se uma classe abstrata, de forma a permitir a complementação da funcionalidade para cada processo específico através de heranças, sendo um bom exemplo disto a área de persistência de dados. Para definir um macroprocesso através de uma classe abstrata o Java faz uso da palavra reservada: [X] abstract 06a Questão (Ref.: 201201145305) Pontos: 1,0 Podemos dizer que a API RMS (Record Management System) serve para: [X] Acessar a área de memória dedicada ao armazenamento persistente de dados da aplicação e que provê um mecanismo uniforme para criar, destruir, localizar e modificar dados. 07a Questão (Ref.: 201201145305) Pontos: 1,0 Para que possamos obter registrosde um objeto do tipo RecordStore, primeiramente: [X] é preciso abrir o banco de dados. 08a Questão (Ref.: 201201145305) Pontos: 1,0 Dentre os exemplos de conexão para GCF da classe Connector, assinale a opção que está ERRADA: [X] (HttpConnection) String url=”http://portal.estacio.br/portal”; HttpConnection c = (Conection)Connectio.open(); 09a Questão (Ref.: 201301881325) Pontos: 1,0 Para a construção de aplicativos cadastrais no JME é necessária a correta utilização dos métodos da classe RecordStore, pertencente à API RMS. Qual dos métodos abaixo NÃO pertence à classe RecordStore? [X] nextRecordId 10a Questão (Ref.: 201301766652) Pontos: 1,0 A Classe Sprite é uma das 5 classes introduzidas pelo pacote javax.microedition.lcdui.game com o lançamento PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 7 do Mobile Information Device Profile (MIDP) versão 2.0. Ele serve para: [X] é a representação de uma imagem na memória 11a Questão (Ref.: 201102433780) Pontos: 1,0 Sobre a estrutura do GCF, é possível afirmar que: I - GCF possui uma estrutura complexa de interfaces e classes para executar fluxos de entrada e saída de dados. II - GCF provê uma abordagem genérica para conectividade III - Embora cada tipo de conexão tenha suas particularidades, para usar o GCF é muito simples Marque a resposta CORRETA [X] Apenas as afirmativas II e III estão corretas 12a Questão (Ref.: 201403279211) Pontos: 1,0 Os RecordStores são estruturas muito simples que armazenam os dados sem interpretação de seu formato original. Os dados recebidos a partir de um RecordStore chegam no seguinte formato: [X] Array de Bytes 13a Questão (Ref.: 201405789161) Pontos: 1,0 Considere a afirmação: É uma classe projetada para a criação de cenários e permite gerenciar todos os componentes visuais do jogo, e organizando-os em camadas. Qual das alternativas é completamente verdadeira? [X] LayerManager 14a Questão (Ref.: 201102451588) Pontos: 1,0 Em termos de comunicação remota, o JME trabalha com um framework denominado GCF, sendo a forma correta de abrir uma conexão do tipo Socket com uso do mesmo a seguinte: [X] SocketConnection c = (SocketConnection) Connector.open ("socket://192.168.100.1:40"); 15a Questão (Ref.: 201102451531) Pontos: 1,0 No ambiente JME CLDC a tecnologia para gravação de dados deve se preocupar com as características do dispositivo com relação a processamento e armazenamento físico. Para tal foi adotado um ambiente de persistência padrão que apresenta a seguinte característica: [X] Utilização de estruturas denominadas RecordStore, as quais se caracterizam por um id inteiro e um array de bytes. 16a Questão (Ref.: 201308515824) Pontos: 1,0 Podemos concluir que o fragmento de código-fonte a seguir: public class JogoDaVelha extends Canvas { protected void paint(Graphics g) { g.setColor(255, 255, 255); g.fillRect(0, 0, getWidth(), getHeight()); } } [X] Serve para limpar a tela. 17a Questão (Ref.: 201207300118) Pontos: 1,0 O FrameWork Genérico de Conexão - GCF pode ser encontrado e disponível para: [X] CLDC, CDC, IMP e pacotes adicionais como Bluetooth 18a Questão (Ref.: 201307325687) Pontos: 1,0 A classe responsável pelo desenho das várias geometrias utilizadas no Low Level API, dentro da plataforma JME, é o Graphics. Através deste componente é possível criar um círculo com o interior preenchido por uma cor especificada através do método: [X] fillOval 19a Questão (Ref.: 201401471338) Pontos: 1,0 Os RecordStores são estruturas muito simples que armazenam os dados sem interpretação de seu formato PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 8 original. Os dados são gravados com a utilização do método: [X] addRecord 20a Questão (Ref.: 201401600383) Pontos: 1,0 Sobre a Interface RocerdComparator, podemos afirmar que: [X] Define a comparação entre dois registros, para ver se são iguais ou a ordem relativa entre eles 21a Questão (Ref.: 201401471812) Pontos: 1,0 Um Sprite é uma classe serve para: [X] Representar uma imagem na memória. 22a Questão (Ref.: 201102462072) Pontos: 1,0 A Classe RecordStore é a responsável por: [X] Manter uma coleção de dados que serão persistidas através dos MIDlets. 23a Questão (Ref.: 201101312220) Pontos: 1,0 Os jogos são aplicativos que exigem uma interpretação acerca da construção da interface gráfica e da interatividade do usuário bem diferente daquela utilizada em formulários, trabalhando com a Low Level API. Uma característica que NÃO faz parte da Low Level API seria: [X] Apresenta elementos padronizados para a construção de caixas de texto e mensagens de alerta que se adaptam ao dispositivo sobre o qual executa. QUESTÕES DISCURSIVAS 1a Questão (Ref.: 201101198267) Pontos: 1,5 Explique a diferença entre erro de compilação e erro de execução Gabarito: Erros de compilação são aqueles que ocorrem antes de seu programa executar, enquanto que erros em tempo de execução são erros que ocorrem enquanto o programa é executado. 2a Questão (Ref.: 201101195656) Pontos: 1,5 Apresente três exceções que precisam ser tratadas para a classe RecordStore, explicando o fator gerador do erro. Gabarito: RecordStoreException - Usado para indicar um erro genérico que seja relativo ao contexto do RMS. RecordStoreNotOpenException - Usado para indicar que o banco de dados utilizado pela classe RecordStore não foi aberto. RecordStoreFullException - Sinaliza o esgotamento da capacidade para armazenamento de registros. 3a Questão (Ref.: 125680) Pontos: 1,5 Apresente dois exemplos de boas práticas de programação Gabarito: Documentação e comentários / Nomes apropriados / Variáveis de objetos nulas. 4a Questão (Ref.: 201311144935) Pontos: 1,5 Implemente um método em J2ME para fechar o Banco de Dados. Este método deverá receber um parâmetro, uma String com o nome do banco a ser fechado. Este método deverá retornar um booleano informando se houve ou não sucesso. Gabarito: public boolean fecharBanco(RecordStore banco) { boolean retorno=false; try { banco.closeRecordStore( ); retorno = true; } catch (RecordStoreException ex) { retorno = false; } return retorno; } PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 9 5a Questão (Ref.: 201201263024) Pontos: 1,5 A construção de jogos para JME é feita através da Game API, tendo como um dos elementos constituintes desta API o GameCanvas. Quais as características do GameCanvas que o tornam mais adequado ao desenvolvimento de jogos que o Canvas padrão? Gabarito: O GameCanvas permite a captura de teclas pressionadas simultaneamente, além de permitir o desenho a qualquer instante com técnicas de double buffering, o que não ocorre com o Canvas padrão. 6a Questão (Ref.: 201301764769) Pontos: 1,5 Com o lançamento do Mobile Information Device Profile (MIDP) versão 2.0, foi introduzido o pacote javax.microedition.lcdui.game que disponibiliza cinco classes com uma grande variedade de recursos para a produção de jogos. Cite as cinco classes explicando suas funções. Resposta: GAMECANVAS, responsável pela tela gráfica do jogo. LAYER é a estrutura de camada para a construção da tela gráfica do jogo. SPRITE que é a representação de uma imagem na memória. TILEDLAYER, classe que disponibilizada para construir camadas gráficas. LAYERMANAGER, gerenciador das camadas da interface. 7a Questão (Ref.: 201301882138) Pontos: 1,5 Para a execução do Java em dispositivos com recursos extremamente limitados, segundo a configuração CLDC, foi necessária a utilização de uma máquina virtual própria. Como é denominada esta máquina virtual e quais as suas características? Gabarito: KVM, caracterizada por consumir poucos recursos e ocupar pouco espaço de memória. Daí vem o nome, onde K significa Kilobyte. 8a Questão (Ref.: 201405791699) Pontos: 1,5 A classe Form podeconter outros elementos de interface, chamados de itens. Cite dois tipos de itens que podem ser colocados dentro do form, indicando as respectivas finalidades. Gabarito: TextField: utilizado para entrada de texto / DateField: componente utilizado para mostrar data e tempo 9a Questão (Ref.: 201308516151) Pontos: 1,5 Implemente um método em J2ME para abrir um Banco de Dados. Este método deverá receber dois parâmetros, um booleano que indica se o banco deverá ser criado ou não caso exista ou não e o outro, uma String com o nome do banco. Este método deverá retornar um ponteiro para o banco aberto ou nulo caso não consiga abrir. Gabarito: public RecordStore abrirBanco(boolean criar, String banco) { try { return RecordStore.openRecordStore(banco, criar); } catch (RecordStoreException ex) { return null; } }
Compartilhar