Buscar

Programação para Dispositivos Móveis - Banco de Questões

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 
1) A API RMS (Record Management System): 
 É utilizada para gerenciar a pontuação e salvar o Record de uma aplicação de jogos. 
 É um sistema de gerenciamento de Records, que serve tanto para classificação de pontos de 
uma aplicação (em jogos ou não) quanto para destacar o Record e salvar as pontuações. 
 Permite 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 
 Retorna um objeto que representa o dispositivo móvel. 
 Serve para cria um novo menu no dispositivo. 
2) A classe Canvas é uma classe: 
 Para tratamento de erros. 
 Base que serve para construir arranjos. 
 Base e é utilizada em aplicações que necessitam lidar com eventos de baixo nível e emissão de 
gráficos na tela. 
 Retorna um objeto que representa a tela do dispositivo. 
 Retorna um objeto que é um letreiro eletrônico. 
3) A classe Connector e uma URL para criar uma conexão: 
 Não funcionam no GCF. 
 Só podem ser utilizadas quando utilizadas em um dispositivo móvel com CLDC. 
 Não podem ser utilizadas em conjunto. 
 Estabelecem uma conexão. 
 Não funcionam em qualquer contexto, pois uma coisa não tem nada a ver com a outra. 
4) A classe Connector possui alguns métodos de conveniência para criação de vários tipos de fluxo 
de entrada e saída: 
 
Podemos afirmar que esses métodos de conveniência da classe Connector: 
 Foram depreciados, ou seja, estão descontinuados desde a primeira versão do GCF. 
 Funcionam somente quando utilizados em CLDC. 
 São usados para encurtar o caminho para criação de fluxos de entrada ou saída e seu uso é 
sempre encorajado por simplificar o caminho e encurtar a programação. 
 São usados para encurtar o caminho para criação de fluxos de entrada ou saída, todavia, a 
utilização desses métodos podem não ser satisfatórias na maioria dos casos e, por isso, sua 
utilização é, por muitas vezes, desencorajada, pois não se obtém um objeto que faz referência à 
conexão. 
 Funcionam somente quando utilizados em CLD. 
5) A classe LayerManager é uma das 5 classes introduzidas pelo pacote 
javax.microedition.lcdui.game com o lançamento do Mobile Information Device Profile (MIDP) versão 
2.0. Ele serve para: 
 É a classe responsável pelo gerenciamento das diversas camadas gráficas na interface 
 É a representação de objetos estáticos na memória 
static DataInputStream openDataInputStream(String name) 
static DataOutputStream openDataOutputStream(String name) 
static InputStream openInputStream(String name) 
static OutputStream openOutputStream(String name) 
 É utilizada para desenhar cenários 
 É a representação de uma imagem na memória 
 É a representação de um fundo de tela 
6) A classe RecordStoreException trata: 
 De erros da linguagem Java (try / catch). 
 De erros ocasionados na API RMS. 
 De assuntos de conectividade a um servidor de internet. 
 De assuntos de conectividade a um servidor de banco de dados. 
 De descarregar a memória persistente do dispositivo móvel. 
7) 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: 
 fillCircle 
 drawRect 
 fillOval 
 fillRoundRect 
 drawCircle 
8) A classe TiledLayer é uma das 5 classes introduzidas pelo pacote javax.microedition.lcdui.game 
com o lançamento do Mobile Information Device Profile (MIDP) versão 2.0. Ele serve para: 
 É a representação de uma imagem na memória 
 É a representação de um fundo de tela 
 É utilizada para desenhar cenários 
 É a classe responsável pelo gerenciamento das diversas camadas gráficas na interface 
 É a representação de objetos estáticos na memória 
9) A diferença significativa entre um telefone celular e um smartphone: 
 É que o smartphone é um telefone inteligente, ele possui funcionalidades que são mais 
avançadas e que podem ser estendidas por meio de programas executados através de seu 
sistema operacional. 
 Está no hardware empregado. 
 Está no tamanho do aparelho. 
 Está na marca do aparelho. 
 Está na aplicação do smartphone, que é um tablet. 
10) A High Level API destina-se à construção de interfaces de alto nível, normalmente associada à 
criação de formulários. Qual dos seguintes componentes não pode ser utilizado em um formulário JME? 
 DateField 
 TextField 
 StringItem 
 List 
 Gauge 
11) A High Level API destina-se à construção de interfaces de alto nível, sendo composta de 
componentes voltados para a criação de ambientes “janelizados”. Qual dos seguintes componentes não 
faz parte da High Level API? 
 Form 
 Ticker 
 Canvas 
 List 
 TextBox 
12) A instrução if serve para: 
 Inverter um texto. 
 Verificar condições e conduzir o fluxo da aplicação. 
 Comparar números e textos 
 Verificar a KVM. 
 Validar textos. 
13) A KVM possui um tamanho extremamente reduzido e consome poucos recursos do dispositivo 
em sua execução e por conta disso: 
 Diversas funcionalidades de máquinas virtuais e da linguagem de programação que não eram 
necessárias para a maior parte das aplicações tornaram-se opcionais, portanto a linguagem e a 
máquina virtual tiveram que ser modificadas e as bibliotecas também tiveram que ser reduzidas, 
tornando a programação para a plataforma de execução Java Micro Edition diferente da Java 
Standard Edition e da Java Enterprise Edition. 
 A KVM tornou-se padrão para todos os dispositivos móveis, incluindo os smartphones. 
 A KVM tornou-se o sistema operacional de celulares comuns. 
 Ganhou um conjunto de rotinas e padrões estabelecidos por um software com a utilização das 
suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da 
implementação do software, mas apenas usar seus serviços. Tal conjunto compatibilizou a 
plataforma de execução Java Micro Edition com a Java Standard Edition e com a Java 
Enterprise Edition. 
 Compatibilizou a plataforma de execução Java Micro Edition com a Java Standard Edition e com 
a Java Enterprise Edition. 
14) A plataforma Android quando comparada à plataforma Java ME possui o diferencial de: 
 Funciona em telefones celulares comuns. 
 Não permite que o hardware seja acessado pela máquina virtual. 
 Funciona usando linguagem de programação Java. 
 Funciona com Java na plataforma de execução. 
 Permite que desenvolvedores possam tirar proveitos de tudo o que o dispositivo móvel possa 
oferecer 
15) Analise o texto: "Quando assume um valor, não pode mais ser alterada, todavia quando é um 
objeto, seu valor pode eventualmente mudar, mas sua referência de memória não pode ser alterada." 
Considerando que estamos no contexto de Java Micro Edition, este texto refere-se a: 
 Um ponteiro. 
 Uma variável. 
 Um tipo primitivo. 
 Uma constante. 
 Uma instrução. 
16) Analise o trecho de código-fonte Java a seguir: 
 
O trecho de código-fonte Java: 
 Não funciona, dá erro e travará a KVM. 
 Cria uma variável “b”, define um valor “false” (falso) para o “b” e, por não atender a condição, o 
fluxo saltará a instrução “if”, pois diante da comparação, o resultado é “false”. 
 Não funciona e dá erro ao compilar. 
 Representa um mapa de banco de dados. 
 Cria uma variável “b”, define um valor “false” (falso) para o “b” e, por atender a condição, o fluxo 
entrará na instrução “if”, pois diante da atribuição e comparação, o resultado é “true”. 
17) Ao contrário das interfaces de alto nível, apenas uma classeé utilizada na definição da interface. 
Esta classe é denominada: 
 Paint 
 Plotter 
 Canvas 
 Window 
 GraphicsWriter 
18) 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 
de Screen: 
 Alert, Gauge, Form e TextField 
 Alert, TextField, Gauge e StringItem 
 Gauge, List, ChoiceGroup e TextBox 
 Alert, List, Form e TextBox 
 Gauge, List, Form e TextField 
19) As IDE's fornecem ferramentas para efetuar a depuração dos programas, com o objetivo de 
corrigir falhas na programação de erros de raciocínio lógico de programas. Através deles, podemos: 
 Executar o programa passo a passo, ver o valor das variáveis em memória. 
 Ver o valor das variáveis em memória mas não podemos alterar seu valor. 
 Interromper laços infinitos 
 Mudar o fluxo natural do programa. 
 Executar o programa passo a passo sem poder ter acesso aos valores das variáveis. 
20) As MIDlets são: 
 Aplicações da plataforma Java Micro Edition. 
 Um meio de comunicação padronizado entre front-end e back-end. 
 Métodos para particionamento de texto. 
 Componentes de acessibilidade para pessoas de baixa estatura. 
 Constantes de localização para o centro do display. 
21) As MIDlets são empacotadas: 
 Pois não tem funcionalidades para desenvolvimento. 
boolean b = false; 
if(b = true) { 
 b = false; 
} 
 Porque não podem funcionar com Java ME. 
 Para funcionar em qualquer ferramenta de desenvolvimento profissional que atende plenamente 
os requisitos para desenvolvimento de software. 
 Dentro de um arquivo de extensão JAR (Java Archive). 
 Para funcionar em sacolas virtuais. 
22) Assinale a alternativa correta: 
Referente ao GCF, o formato geral de uma URL, como definido na RFC 1738 (e depois na RFC 2396), 
é o seguinte: scheme://user:password@host:port/url-path;parameters, onde: 
 scheme é obritatório e especifica o método ou o protocolo e define o tipo de conexão a ser 
usada. 
 user especifica o modo de acesso com restrições de usuário. 
 scheme é um argumento opcional e especifica o método ou o protocolo e define o tipo de 
conexão a ser usada. 
 @ serve para permitir o envio de um e-mail ao destinatário do scheme. 
 host especifica um acesso com restrições. 
23) Assinale a alternativa falsa: 
 A configuração CLDC é voltada para dispositivos de recursos muito escassos, como celulares. 
 A plataforma Android utiliza uma máquina virtual denominada Dalvik. 
 A empresa Oracle é quem atualmente suporta a plataforma JME. 
 A plataforma Android foi desenvolvida pela Apple para utilização em tablets. 
 A máquina virtual Java voltada para dispositivos móveis é denominada KVM. 
24) Assinale o item que não corresponde a uma constante para controle de fluxo no JME: 
 Command.OK 
 Command.ITEM 
 Command.CANCEL 
 Command.LOGOUT 
 Command.EXIT 
25) Assinale o item que não trata de um elemento constituinte da High Level API: 
 Canvas. 
 Form. 
 Alert. 
 Gauge. 
 Screen. 
26) Atualmente, você pode encontrar o GCF: 
 Somente em dispositivos com baixo poder de processamento. 
 Em dispositivos baseados em CLDC, como os que utilizam MIDP (Mobile Information Device 
Profile) e IMP (Information Module Profile) e em dispositivos que usam CDC (Connected Device 
Configuration). 
 Somente em dispositivos com alto poder de processamento. 
 Somente em dispositivos com conectividade limitada. 
 Em dispositivos que estão descontinuados no mercado. 
27) Boas práticas de programação compreendem: 
 Códigos sofisticados. 
 Programação orientada a objeto, independentemente da plataforma. 
 Design bonito e sofisticado. 
 Simplicidade. 
 Documentação e objetividade, a fim de contemplar a manutenção e o resultado. 
28) Com relação ao Android é incorreto dizer que: 
 Trata-se de uma plataforma open source. 
 Consome poucos recursos devido à utilização da KVM. 
 Permite a implementação de bancos de dados com o SQLite. 
 Fornece ao desenvolvedor poderosos recursos 2D e 3D. 
 Não possui restrições quanto ao acesso às funcionalidades nativas do aparelho. 
29) Como a KVM implementa parcialmente as especificações da JVM (Java Virtual Machine) os 
aplicativos gerados: 
 Podem ser executados nativamente no Android, sem qualquer modificação. 
 São nativos e podem ser executados diretamente pelo sistema operacional. 
 Para uma plataforma podem não ser portáveis para outras. 
 São muito pequenos e portáveis para quaisquer outras plataformas Java ME. 
 Podem ser interpretados nativamente pela plataforma Java SE sem qualquer adequações. 
30) Como são denominados os elementos dispostos sobre um formulário no J2ME? 
 Robots. 
 Elements. 
 Sprites. 
 Screens. 
 Items. 
31) Devemos considerar o uso de bibliotecas gráficas: 
 Quando não houver espaço no dispositivo móvel. 
 Quando o Java não estiver instalado no dispositivo móvel. 
 Quando estivermos utilizando MIDP e CLDC exclusivamente. 
 Quando a Dalvik e a KVM estiverem presentes em um mesmo equipamento. 
 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. 
32) É correto afirmar que a classe RecordStore: 
 Serve para alocar posições no arranjo da classe. 
 É usada para construir pontuação de jogos. 
 Serve para gera eventos de erro. 
 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. 
 É usado conjuntamente com as classes "Create" e "Destroy" para criar e destruir objetos de 
banco de dados e registros quando a MIDlet é desinstalada do dispositivo móvel. 
33) É correto afirmar que quando uma MIDlet é removida: 
 Sua área de memória persistente também é removida, ou seja, todos os dados gravados 
(salvos) pelo usuário nessa área de memória persistente criada por meio da classe RecordStore 
através dessa MIDlet também são excluídos. 
 Sua área de memória persistente também não é removida, ou seja, todos os dados gravados 
(salvos) pelo usuário nessa área de memória persistente criada por meio da classe RecordStore 
através dessa MIDlet continuarão existindo. 
 É preciso reinstalar o Java no sistema operacional. 
 É preciso reinstalar a aplicação no sistema operacional. 
 O dispositivo móvel precisa ser reiniciado. 
34) Em Java, quando falamos sobre Interface, podemos afirmar que: 
I. É um recurso da orientação a objeto que define ações que devem ser obrigatoriamente 
executadas, mas que cada classe pode executar de forma diferente. 
II. É uma classe com um grupo de métodos que possuem seu corpo vazio. 
III. Uma Interface define apenas o que deve ser feito, não o como se faz. 
Marque a alternativa que identifica as afirmativas corretas: 
 Nenhuma afirmativa está correta 
 II e III estão corretas 
 Todas as afirmativas estão corretas 
 Apenas I está correta 
 I e III estão corretas 
35) Marque a opção que não é um dispositivo móvel: 
 Smartphone 
 Tablet 
 Ultrabook 
 Desktop 
 Notebook 
36) 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: 
 destroyApp 
 init 
 plot 
 paint 
 startApp 
37) 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. 
 Normalmente são menores e mais leves. Podem possuir ou não conectividade. 
 Podem ser mais resistentes a quedas. 
 Tendem a ser mais seguros e confiáveis. 
 Normalmente são mais lentos na inicialização e no desligamento. 
38) O componente utilizado para exibir mensagens de aviso ao usuário é: 
 TextBox. 
 Canvas. 
 Alert. 
 Form. 
 TextField. 
39) O efeito da utilização do método deleteRecordStore dentro de um aplicativo JME que utiliza o 
banco de dados padrão da plataforma é: 
 A remoção do primeiro registro adicionado. 
 A remoção de um registro do banco. 
 A remoção do banco de dados completo. 
 A remoção do último registro adicionado. 
 O fechamento do banco. 
40) 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? 
 Form 
 GameCanvas 
 Sprite 
 Layer 
 LayerManager 
41) O pacote introduzido na versão MIDP 2.0 que disponibiliza cinco classes com uma grande 
variedade de recursos para a produção de jogos: 
 É o pacote "javax.microedition.lcdui". 
 É o pacote "javax.microedition.midlet". 
 É o pacote "javax.swing". 
 É o pacote "br.edu.estacio.j2me". 
 É o pacote "javax.microedition.lcdui.game". 
42) O principal papel da MIDP é para: 
 Desenvolvimento de software para dispositivos móveis. 
 Classificar o tamanho do aparelho. 
 Desenhar o software. 
 Complementar a configuração que caracteriza o dispositivo. 
 Desenvolver o programa na linguagem Java. 
43) O método paint da classe Canvas: 
 Serve para desenhar gráficos na tela. 
 Serve para alocar posições no arranjo da classe. 
 É usado conjuntamente com "Create" e "Destroy". 
 É usado conjuntamente com "Command" e "CommandListener". 
 Serve para gera eventos de erro. 
44) O termo “API” refere-se: 
 startApp 
 init 
 destroyApp 
 paint 
 plot 
45) O termo “plataforma de hardware” refere-se: 
 Ao ambiente desktop. 
 Ao ambiente de desenvolvimento de software. 
 Ao ambiente de desenvolvimento de hardware. 
 Ao sistema operacional. 
 Ao tipo de equipamento ou, de dispositivo ou, ainda, ao ambiente de execução. 
46) O tipo de objeto que representa um campo de texto nativo da plataforma Java ME é: 
 EditBox. 
 String. 
 TextBox. 
 StringItem. 
 TextField. 
47) O tipo de objeto StringItem: 
 Serve para gravar dados permanentemente na memória do dispositivo. 
 Não pode ter seus valores modificados. 
 Serve para exibir um rótulo e um texto em um formulário. 
 Serve para exibir um campo de texto para que o usuário possa digitar dados. 
 É usando quando o Java não estiver instalado no dispositivo móvel. 
48) Objetos da classe ByteArrayInputStream: 
 São utilizadas para gerenciar a pontuação e salvar o Record de uma aplicação de jogos. 
 São um sistema de gerenciamento de Records. 
 Permitem acessar a área de memória dedicada ao armazenamento persistente de dados da 
aplicação. 
 Retornam um objeto que representa o dispositivo móvel. 
 Representam o fluxo de entrada da aplicação e armazenam dados de um arranjo de bytes. 
49) Objetos da classe ByteArrayOutputStream: 
 Servem para alocar posições no arranjo da classe. 
 Representam o fluxo de saída da aplicação e gravam dados em um arranjo de byte que 
aumentam de tamanho automaticamente na medida em que os dados são gravados. 
 Servem para gerar eventos de erro. 
 São arranjos primitivos. 
 São usados conjuntamente com as classes “Create” e “Destroy” para criar e destruir objetos de 
banco de dados e registros quando a MIDlet é desinstalada do dispositivo móvel. 
50) Para a descoberta de erros de lógica de programação a opção mais adequada seria: 
 Buscar um código que funcione no Google. 
 Utilizar um depurador. 
 Apagar os comentários. 
 Utilizar mensagens através de Alert. 
 Reescrever completamente o código. 
51) Para a plataforma Java Micro Edition, podemos afirmar que a diferença significativa entre as 
configurações de um telefone celular e um smartphone: 
 Está na aplicação do smartphone, que é um tablet. 
 Está na marca do aparelho. 
 Está no hardware empregado. 
 Está no MIDP. 
 Está no CLDC e no CDC. 
52) Para as interfaces Web é muito comum a submissão dos dados do formulário para um servidor 
através de um botão do tipo. No caso de formulários JME, os dados do formulário podem ser tratados 
na programação a partir de: 
 Um componente do tipo JMESubmit. 
 Uma interface do tipo CommandListener. 
 Uma interface do tipo MouseListener. 
 Um componente do tipo Button. 
 Uma interface do tipo ActionListener. 
53) Para utilizar a classe RecordStore é necessário: 
 Utilizar instruções de tratamento de erros da linguagem Java (try / catch). 
 Um dispositivo móvel dotado de banco de dados relacional. 
 Um dispositivo móvel com conectividade a um servidor de internet. 
 Utilizar um banco de dados relacional. 
 Descarregar a memória persistente do dispositivo móvel. 
54) 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. 
 CDC refere-se ao conjunto de configurações que caracterizam dispositivos limitados em 
memória, conectividade, vídeo, interoperabilidade e poder de processamento enquanto o CLDC 
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. 
 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. 
 CDC refere-se ao conjunto de configurações que caracterizam dispositivos limitados em 
memória, conectividade, vídeo, interoperabilidade e poder de processamento enquanto o MIDP 
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. 
 API refere-se ao conjunto de configurações que caracterizam dispositivos limitados em memória, 
conectividade, vídeo, interoperabilidade e poder de processamento enquanto o CLDC 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. 
 API refere-se ao conjunto de configurações que caracterizam dispositivos limitados em memória, 
conectividade, vídeo, interoperabilidade e poder de processamento enquanto o MIDP 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. 
55) Para melhorar o desempenho dos sistemas criados com JME deve-se: 
 Instanciar objetos somente quando forem necessários. 
 Nas comparações colocar do lado direito a de maior probabilidade de ocorrência. 
 Compactar o arquivo de distribuição no formato "rar". 
 Apagar os comentários. 
 Evitar nomes grandes para as variáveis do sistema. 
56) Para que possamos obter registros de um objeto do tipo RecordStore, primeiramente: 
 É preciso criar um formulário. 
 É preciso criar uma lista. 
 É preciso criar um arranjo de bytes (byte[]). 
 É preciso fechar o banco de dados. 
 É preciso abrir o banco de dados. 
57) Podemos afirmar que a “API”: 
 É o MIDP. 
 É a parte do aparelho que é controlada pela VM. 
 É o que ativaa plataforma Java Micro Edition para dispositivos móveis. 
 É a interface de programação da aplicação, ela dá acesso a um conjunto de rotinas e padrões 
estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que 
não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus 
serviços. 
 É a CLDC. 
58) Podemos afirmar que a área de código-fonte da IDE NetBeans: 
 Representa o aparelho celular. 
 É a CLDC. 
 É o MIDP. 
 Representa um mapa de banco de dados. 
 Permite a codificação da aplicação. 
59) Podemos afirmar que a área de fluxo da IDE NetBeans: 
 Representa o aparelho celular. 
 Representa um mapa de banco de dados. 
 É a CLDC. 
 É responsável por estabelecer fluxo de dados e ações da aplicação de maneira gráfica. 
 É o MIDP. 
60) Podemos afirmar que a linha de programação: 
"Display.getDisplay(this).getCurrent()” 
 Gera erros em tempo de execução. 
 Retorna o objeto que foi colocado na tela do dispositivo. 
 Gera erros de compilação. 
 Não pode ser executada. 
 Define um novo objeto a ser colocado na tela do dispositivo. 
61) Podemos afirmar que o NetBeans: 
 É uma ferramenta para desenvolvimento profissional que atende plenamente os requisitos para 
desenvolvimento de software para celular na plataforma Java Micro Edition. 
 É incompatível com a “Java ME SDK”. 
 Custa mais caro que a “Java ME SDK”, pois esta é gratuita. 
 Não é indicado para desenvolvimento de software para celular, pois não tem funcionalidades 
para esse tipo de desenvolvimento. 
 Não depende do Java SE e pode funcionar com Java ME. 
62) Podemos afirmar que os erros mais difíceis de resolver são: 
 Os erros de divisão por zero. 
 Os erros em tempo de execução. 
 Os erros na lógica de programação. 
 Os erros de compilação. 
 Os erros de conversão de tipos. 
63) Podemos concluir que a linha de programação “Display.getDisplay(this)”: 
 Retorna uma tela vazia. 
 Não funciona e gera erro. 
 Retorna um objeto que é um letreiro eletrônico. 
 Retorna um objeto que representa a tela do dispositivo. 
 Faz a tela piscar. 
64) Podemos concluir que o fragmento de código a seguir: 
 
 Serve para definir o tamanho e a cor da tela. 
 Serve para limpar a tela. 
 Serve para exibir mensagens de alerta. 
 Coloca na tela um objeto que seja item de exibição (¿Displayable¿). 
 Serve para pegar a tela atual. 
65) Podemos dizer que um MIDlet possui um conjunto de classes projetadas para ser executada e 
controlada pelo AMS e que os métodos do MIDlet permitem ao AMS controlar os estados do MIDlet. 
Marque a opção que apresenta os estados de um MIDlet: 
 Iniciado ¿ startApp; Aguardando ¿ waitApp; Destruído ¿ destroyApp; 
 Iniciado ¿ startApp; Dormindo ¿ sleepApp; Destruído ¿ destroyApp; 
 Iniciado ¿ startApp; Pausado ¿ pauseApp; Destruído ¿ destroyApp; 
 Iniciado ¿ startApp; Pausado ¿ pauseApp; Dormindo ¿ sleepApp; Destruído ¿ destroyApp; 
 Iniciado ¿ startApp; Pausado ¿ pauseApp; Aguardando ¿ waitApp; Destruído ¿ destroyApp; 
66) Programas feitos com JME consomem poucos recursos graças: 
 Às características da KVM. 
 À resolução do display dos aparelhos. 
 Ao uso de semáforos para acesso aos escassos recursos do aparelho. 
 Ao coletor de lixo do Java. 
 Ao uso de Smart Pointers. 
67) Qual interface encapsula o mecanismo de gerência de eventos do J2ME? 
 CommandStateListener. 
 MIDPListener. 
 MIDletListener. 
 CommandListener. 
 ActionListener. 
public class JogoDaVelha extends Canvas { 
 protected void paint(Graphics g) { 
 g.setColor(255, 255, 255); 
 g.fillRect(0, 0, getWidth(), getHeight()); 
 } 
} 
68) 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 
como as derivadas 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: 
 Nenhuma afirmativa está correta 
 Apenas I está correta 
 Todas as afirmativas estão corretas 
 Apenas I e III estão corretas 
 Apenas II e III estão corretas 
69) 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 é: 
 Usar o mínimo possível de instruções de repetição, incluindo o "do" e o "while". 
 Usar o mínimo possível de instruções de decisão, incluindo o "switch". 
 Usar o mínimo possível de objetos. 
 Usar o mínimo possível de instruções "for". 
 Usar o mínimo possível de instruções "if". 
70) Recebido através do método "commandAction", o método "setCommandListener(this)" faz com 
que todo evento de comando de um formulário seja: 
 Recebido através do método “commandAction”. 
 Ignorado e transferido à MIDlet. 
 Atrasado, cancelado e revertido. 
 Tratado em outra classe. 
 Cancelado. 
71) São métodos obrigatórios de uma MIDlet: 
 “Display” e “Displayable”. 
 “commandAction” e “MIDlet”. 
 “startApp”, “pauseApp” e “destroyApp”. 
 “Command” e “CommandListener”. 
 “Create” e “Destroy” 
72) São sistemas operacionais de smartphone: 
 iOS, Symbian, Android, PalmOS, WebOS, RIM BlackBarry, Windows Mobile e Windows Phone. 
 Java. 
 Android e Java ME. 
 Dalvik e KVM. 
 Symbian, Android, Windows, Linux e MAC. 
73) Sobre as ações do AMS (Application Management Software) é incorreto dizer: 
 É responsável por receber propriedades do arquivo descritor da aplicação. 
 Define as APIs (Application Programming Interface) para a interface de usuário. 
 Trabalha com três estados básicos da MIDlet: Iniciado, Pausado e Destruído. 
 Notifica alterações no estado da MIDlet. 
 Controla o comportamento da MIDlet durante a execução. 
74) Sobre as MIDlets: 
 Podem ser utilizadas apenas em configurações CLDC. 
 Apenas podem ser instaladas por intermédio de um servidor na Web. 
 É a denominação dada aos aplicativos gerados com o Android. 
 Trabalha com a High Level API para o desenvolvimento de interfaces cadastrais. 
 São empacotadas dentro de um arquivo de extensão "jad". 
75) Um framework genérico de conexão, também conhecido por GCF (Generic Connection 
Framework), foi desenvolvido porque: 
 Era muito difícil programa nas versões antigas da MIDP. 
 Faltavam bibliotecas e APIs para programa em Java para dispositivos móveis. 
 As características limitadas de hardware de um dispositivo móvel poderiam não suportar a 
quantidade de classes e interfaces dos pacotes java.net e java.io presentes na plataforma “Java 
Standard Edition”. 
 Os fabricantes não conseguiram criar um padrão de conexão que atendessem todos os 
dispositivos móveis de modo uniforme. 
 O genérico é mais barato do que o proprietário. 
76) Um smartphone, diferentemente de um celular comum, quando possui suporte para a plataforma 
Java ME, tipicamente está: 
 Usando a Dalvik e a KVM. 
 Classificado como CDC. 
 Classificado como MIDP e na CLDC. 
 Classificado como CLDC. 
 Usando a Dalvik no Java. 
77) Um Sprite é uma classe que serve para: 
 Dividir uma String, transformando-a em arranjo. 
 Desenvolver um programa do tipo MIDlet. 
 Representar uma imagem namemória. 
 Apagar a tela. 
 Dividir textos, separando-os em partes. 
78) Uma boa estratégia de programação é utilizar a técnica chamada de “Curto-Circuito”, que serve 
para: 
 Aplicado apenas quando existe concatenação de operadores lógicos 
 Utilizar loops fechados e não abertos 
 Sempre colocar do lado esquerdo, a condição que possuir maior probabilidade de mudança ou o 
que for mais importante 
 Utilização de loops infinitos. 
 Sempre colocar do lado direito, a condição que possuir maior probabilidade de mudança ou o 
que for mais importante. 
79) Uma máquina virtual é: 
 Uma máquina que não existe. 
 Um tipo de plataforma de hardware. 
 Um simulador eficiente e isolado de uma máquina real. 
 É uma tecnologia de desenvolvimento de software para dispositivos móveis. 
 É a classificação dada para o tamanho do aparelho. 
80) Utilizando os recursos providos pelas classes e interfaces da API RMS, podemos afirmar que a 
forma mais eficiente para navegar, filtrar e ordenar registros de um objeto do tipo RecordStore: 
 É utilizar um objeto da classe RecordEnumeration, pois permite que naveguemos pelos registros 
da classe RecordStore de forma filtrada e ordenada. 
 Utilizar o comando “for” do Java para percorrer todos os registros. 
 É criar seus próprios métodos, pois a API RMS não fornece um meio para navegarmos entre os 
registros de um objeto da classe RecordStore. 
 É utilizar uma variável de classe para armazenar um arranjo de bytes (byte[]). 
 É baixar um navegador. 
81) Apresente dois exemplos de boas práticas de programação. 
82) Apresente três exceções que precisam ser tratadas para a classe RecordStore, explicando o 
fator gerador do erro. 
83) 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. 
84) Explique a diferença entre erro de compilação e erro de execução 
85) Explique como é feita a persistência de dados no JME. 
86) 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. 
87) 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 
1 C 21 D 41 E 61 A 
2 C 22 A 42 D 62 C 
3 D 23 D 43 A 63 D 
4 D 24 D 44 D 64 B 
5 A 25 A 45 E 65 C 
6 B 26 B 46 E 66 A 
7 C 27 E 47 C 67 D 
8 C 28 B 48 E 68 D 
9 A 29 C 49 B 69 C 
10 D 30 E 50 B 70 A 
11 C 31 E 51 E 71 C 
12 B 32 D 52 B 72 A 
13 A 33 A 53 A 73 B 
14 E 34 C 54 B 74 D 
15 D 35 D 55 A 75 C 
16 E 36 D 56 E 76 B 
17 C 37 E 57 D 77 C 
18 D 38 C 58 E 78 C 
19 A 39 C 59 D 79 C 
20 A 40 A 60 B 80 A 
 
Apresente dois exemplos de boas práticas de programação. 
 Documentação e comentários. 
 Troca da posição de variáveis e constantes na comparação. 
 Uso de “curto-circuito” na construção. 
 Limitação de novos objetos. 
 Variáveis de objetos nulas. 
 Nomes apropriados. 
 
Apresente três exceções que precisam ser tratadas para a classe RecordStore, explicando o 
fator gerador do erro. 
 RecordStoreException => Usado para indicar um erro genérico relativo ao contexto do RMS. 
 InvalidRecordIDException => Usado para indicar um número de registro inválido. Por exemplo, 
esse erro ocorrerá se o método RecordStore.getRecord(int) for utilizado para chamar um registro 
que não existe. 
 RecordStoreFullException => Sinaliza o esgotamento da capacidade para armazenamento de 
registros. Por exemplo, esse erro ocorrerá quando o método RecordStore.addRecord(byte[], int, 
int) for chamado para adicionar um novo registro e não houver mais capacidade no dispositivo 
móvel para adicioná-lo. 
 RecordStoreNotFoundException => Indica que o nome do banco de dados utilizado pela classe 
RecordStore não foi encontrado. Por exemplo, esse erro ocorrerá se 
RecordStore.deleteRecordStore(String) for chamado com um nome de banco de dados que não 
existe. 
 RecordStoreNotOpenException => Usado para indicar que o banco de dados utilizado pela 
classe RecordStore não foi aberto. Por exemplo, esse erro acontece se o método 
RecordStore.getNumRecords() for chamado antes do banco de dados estar aberto. 
 
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. 
 CanvasGame => utiliza recursos de baixo nível para criação de telas gráficas 
 Sprite => é a representação de uma imagem na memória 
 Layer => cria uma camada gráfica na interface 
 LayerManager => responsável pelo gerenciamento das diversas camadas gráficas na interface 
 TiledLayer => é utilizada para desenhar cenários 
 
Explique a diferença entre erro de compilação e erro de execução. 
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. Estes, normalmente 
ocorrem quando o programa tenta uma operação que é impossível executar. 
 
Explique como é feita a persistência de dados no JME. 
O armazenamento de dados em celulares é feito através de estruturas denominadas RecordStore. A 
estrutura de armazenamento de um RecordStore é bem simplória, possuindo apenas um id e um array 
de Bytes como local para armazenagem de dados. 
 
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. 
public RecordStore abrirBanco(boolean criar, String banco) { 
 try { 
 return RecordStore.openRecordStore(banco, criar); 
 } catch (RecordStoreException ex) { 
 return null; 
 } 
} 
 
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. 
public boolean fecharBanco(RecordStore banco) { 
 boolean retorno=false; 
 try { 
 banco.closeRecordStore( ); 
 retorno = true; 
 } catch (RecordStoreException ex) { 
 retorno = false; 
 } 
 return retorno;

Outros materiais