Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão (Ref.: 201204171189) O termo "API" refere-se: Ao 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. Ao ambiente de software. Ao ambiente de hardware. Ao sistema operacional. Ao tipo de equipamento ou, de dispositivo ou, ainda, ao ambiente de execução. 2a Questão (Ref.: 201204171169) A plataforma Android quando comparada à plataforma Java ME possui o diferencial de: Funcionar usando linguagem de programação Java. Não permitir que o hardware seja acessado pela máquina virtual. Funcionar com Java na plataforma de execução. Permitir que desenvolvedores possam tirar proveitos de tudo o que o dispositivo móvel possa oferecer. Funcionar em telefones celulares comuns. 3a Questão (Ref.: 201204171210) Podemos afirmar que a "API": É 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. É o que ativa a plataforma Java Micro Edition para dispositivos móveis. É a parte do aparelho que é controlada pela VM. É o MIDP. É a CLDC. 4a Questão (Ref.: 201204170654) Programas feitos com JME consomem poucos recursos graças: Ao uso de Smart Pointers. Às características da KVM. Ao coletor de lixo do Java. À resolução do display dos aparelhos. Ao uso de semáforos para acesso aos escassos recursos do aparelho. 5a Questão (Ref.: 201204189003) 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; Normalmente são mais lentos na inicialização e no desligamento; Tendem a ser mais seguros e confiáveis; 6a Questão (Ref.: 201204171194) O principal papel da MIDP é para: Desenvolver o programa na linguagem Java. Desenhar o software. Desenvolvimento de software para dispositivos móveis. Classificar o tamanho do aparelho. Complementar a configuração que caracteriza o dispositivo. 1. 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? Quest.: 1 Trabalha com conectividade de rede intermitente. É a configuração utilizada por celulares comuns e pagers. Trabalha com uma máquina virtual denominada KVM. Precisa de pelo menos 512 KB de memória para execução do Java. Apresenta um limite de 32 KB de memória para alocação em tempo de execução. 2. Para a plataforma Java Micro Edition, podemos afirmar que a diferença significativa entre as configurações de um telefone celular e um smartphone: Quest.: 2 Está no CLDC e no CDC. Está no hardware empregado. Está na aplicação do smartphone, que é um tablet. Está no MIDP. Está na marca do aparelho. 3. Na montagem do ambiente para desenvolvimento J2ME utilizando a IDE NEtBeans, precisamos de vários componente, são eles: Quest.: 3 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 JDK do Java SE qualquer, o NetBeans, o JDK do J2ME e o mapeamento da plataforma J2ME dentro do NetBeans JDK do Java SE para a plataforma do seu computador, o JDK do J2ME e o mapeamento da plataforma J2ME dentro do NetBeans 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 e o Eclipse JDK do Java SE para a plataforma do seu computador, o NetBeans e o mapeamento da plataforma J2ME dentro do NetBeans 4. 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? Quest.: 4 É a configuração utilizada por Smartphones, set-top boxes entre outros. Interface de usuário com recursos limitados. Precisa de pelo menos 512 KB de memória para execução do Java. Apresenta um limite de 64 KB de memória para alocação em tempo de execução. Trabalha com conectividade de rede normalmente persistente e veloz. 5. As configurações JME direcionam os aplicativos para uma ampla família de dispositivos com características similares. Marque a opção dos aparelhos que possuem as características abaixo: - Mínimo de 512 Kb de memória para execução do Java; - Mínimo de 256 Kb de maméria para alocação em tempo de execução Quest.: 5 CDC CLDC API KVM MIDP 1. 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: Quest.: 1 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; Aguardando ¿ waitApp; Destruído ¿ destroyApp; Iniciado ¿ startApp; Pausado ¿ pauseApp; Aguardando ¿ waitApp; Destruído ¿ destroyApp; 2. 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. Quest.: 2 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. 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. 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 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. 3. Sobre as ações do AMS (Application Management Software) é incorreto dizer: Quest.: 3 Notifica alterações no estado da MIDlet. Trabalha com três estados básicos da MIDlet: Iniciado, Pausado e Destruído. Controla o comportamento da MIDlet durante a execução. Define as APIs (Application Programming Interface) para a interface de usuário. É responsável por receber propriedades do arquivo descritor da aplicação. 4. Como a KVM implementa parcialmente as especificações da JVM (Java Virtual Machine) os aplicativos gerados: Quest.: 4 são nativos e podem ser executados diretamente pelo sistema operacional. podem ser interpretados nativamente pela plataforma Java SE sem qualquer adequações. são muito pequenos e portáveis para quaisquer outras plataformas Java ME. para uma plataforma podem não ser portáveis para outras. podem ser executados nativamente no Android, sem qualquer modificação. 5. A High Level API é voltada para a construção de interfaces de usuário, similares às janelas dos sistemas desktop, sendo estas interfaces descendentes da classe Screen. Qual dos elementos abaixo NÃO é um descendente de Screen? Quest.: 5 TextBox Gauge Form Alert List 6. Assinale o item que não trata de um elemento constituinte da High Level API: Quest.: 6 Form. Screen. Canvas. Gauge. Alert. 1a Questão (Ref.: 201204170662) O componente utilizado para exibir mensagens de aviso ao usuário é: Form. Canvas. Alert. TextBox. TextField. 2a Questão (Ref.: 201204170789) Como são denominados os elementos dispostos sobre um formulário no J2ME? Items. Screens. Sprites. Elements. Robots. 3a Questão (Ref.: 201204170709) Assinale o item que não corresponde a uma constante para controle de fluxo no JME: Command.OK Command.LOGOUT Command.EXIT Command.CANCEL Command.ITEM 4a Questão (Ref.: 201204189684) Verifique o trecho de código abaixo: Display display = getDisplay(); display.setCurrent(proxTela); Marque a opção que explica corretamente o código: Cria um objeto display para tratar a tela atual; Nenhuma das alternativas está correta. Cria um objeto do tipo Display, que serve para identificar qual é a próxima tela; Cria um objeto que identifica a tela atual do dispositivo e passa para proxTela; Cria um objeto que recebe a nova tela e chama outro método para trocar a tela; 5a Questão (Ref.: 201204171239) A instrução if serve para: Inverter um texto. Verificar condições e conduzir o fluxo da aplicação. Verificar a KVM. Validar textos. Comparar números e textos 6a Questão (Ref.: 201204171240) O tipo de objeto que representa um campo de texto nativo da plataforma Java ME é: StringItem. TextBox. TextField. EditBox. String. 1. Boas práticas de programação compreendem: Quest.: 1 Design bonito e sofisticado. Documentação e objetividade, a fim de contemplar a manutenção e o resultado. Programação orientada a objeto, independentemente da plataforma. Simplicidade. Códigos sofisticados. 2. Para melhorar o desempenho dos sistemas criados com JME deve-se: Quest.: 2 Compactar o arquivo de distribuição no formato "rar". Apagar os comentários. Evitar nomes grandes para as variáveis do sistema. Nas comparações colocar do lado direito a de maior probabilidade de ocorrência. Instanciar objetos somente quando forem necessários. 3. Uma boa estratégia de programação é utilizar a técnica chamada de "Curto - Circuito", que serve para: Quest.: 3 Utilização de loops infinitos. 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 Sempre colocar do lado direito, a condição que possuir maior probabilidade de mudança ou o que for mais importante. 4. 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: Quest.: 4 Um tipo primitivo. Uma variável. Uma constante. Uma instrução. Um ponteiro. 5. CamelCase é uma estratégia de notação para dar nomes apropriados as variáveis. Ela consiste em: Quest.: 5 Utilizar a nomes compostos para as variáveis, sempre com a primeira letra maiúsculas e as demais minúsculas. Os métodos devem ter a primeira letra maiúscula. Utilizar todas as letras maiúsculas sempre que tivermos constantes. O nome dos objetos devem ser todos minúsculos. Nomes de objetos devem começar com letras maiúsculas. 6. Analise o trecho de código-fonte Java a seguir: boolean b = false; if (b = true) { b = false; } O trecho de código-fonte Java: Quest.: 6 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". Representa um mapa de banco de dados. 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. 1a Questão (Ref.: 201204303625) 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? TextBox Canvas List Alert TextField 2a Questão (Ref.: 201204185710) 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: "Display" e "Displayable". "startApp", "pauseApp" e "destroyApp". "Command" e "CommandListener". "Create" e "Destroy". "commandAction" e "MIDlet". 4a Questão (Ref.: 201204185130) A High Leve 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? List StringItem TextField Gauge DateField 5a Questão(Ref.: 201204185741) Podemos afirmar que a linha de programação: "Display.getDisplay(this).getCurrent()" Define um novo objeto a ser colocado na tela do dispositivo. Gera erros de compilação. Não pode ser executada. Retorna o objeto que foi colocado na tela do dispositivo. Gera erros em tempo de execução. 6a Questão (Ref.: 201204185142) A High Leve 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? Canvas Ticker List TextBox Form 1a Questão (Ref.: 201204303662) 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: Utiliza constantes para a nomeação das teclas pressionadas, como KEY_NUM0. Eventos próprios para o tratamento de teclado e toque de tela. Desenho direto na tela do dispositivo a partir do Canvas ou GameCanvas. Possibilidade de uso de Commands para a definição de menus. Apresenta elementos padronizados para a construção de caixas de texto e mensagens de alerta que se adaptam ao dispositivo sobre o qual executa. 2a Questão (Ref.: 201204186540) 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.game". É o pacote "javax.microedition.lcdui". É o pacote "br.edu.estacio.j2me". É o pacote "javax.microedition.midlet". É o pacote "javax.swing". 3a Questão (Ref.: 201204186524) 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()); } } Serve para pegar a tela atual. Serve para exibir mensagens de alerta. Serve para limpar a tela. Coloca na tela um objeto que seja item de exibição (¿Displayable¿). Serve para definir o tamanho e a cor da tela. 4a Questão (Ref.: 201204185154) 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? GameCanvas LayerManager Sprite Form Layer 5a Questão (Ref.: 201204185156) 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 fillRoundRect drawCircle fillOval 6a Questão (Ref.: 201204189017) 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: Apenas II e III estão corretas Nenhuma afirmativa está correta Todas as afirmativas estão corretas Apenas I e III estão corretas Apenas I está correta 1a Questão (Ref.: 201204185171) Os RecordStores são estruturas muito simples que armazenam os dados sem interpretação de seu formato original. Os dados são gravados com a utilização do método: addRecord saveRecord createRecord putRecord generateRecord 2a Questão (Ref.: 201204303674) 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: Armazenamento exclusivamente na nuvem. Serialização de objetos e uso das bibliotecas java.io originais do JSE. Gravação em HD externo, desde que o mesmo seja IDE, não sendo aceito o padrão SATA. Uso de banco de dados relacional. Utilização de estruturas denominadas RecordStore, as quais se caracterizam por um id inteiro e um array de bytes. 3a Questão (Ref.: 201204185175) 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 banco de dados completo. A remoção do último registro adicionado. O fechamento do banco. A remoção do primeiro registro adicionado. A remoção de um registro do banco. 4a Questão (Ref.: 201204186813) Para que possamos obter registros de um objeto do tipo RecordStore, primeiramente: é preciso abrir o banco de dados. é preciso criar um arranjo de bytes (byte[]). é preciso criar uma lista. é preciso fechar o banco de dados. é preciso criar um formulário. 5a Questão (Ref.: 201204186815) 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 uma variável de classe para armazenar um arranjo de bytes (byte[]). É 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. É baixar um navegador. É utilizar o comando "for" do Java para percorrer todos os registros. É utilizar um objeto da classe RecordEnumeration, pois permite que naveguemos pelos registros da classe RecordStore de forma filtrada e ordenada. 6a Questão (Ref.: 201204186796) Podemos dizer que a API RMS (Record Management System) serve para: Gerenciar a pontuação e salvar o Record de uma aplicação de jogos. Retornar um objeto que representa o dispositivo móvel. 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. Criar um novo menu no dispositivo. O 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. 1a Questão (Ref.: 201204303692) 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? closeRecordStore enumerateRecords nextRecordId openRecordStore getRecord 2a Questão (Ref.: 201204314214) 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: Acoplamento entre o ambiente de armazenamento e a aplicação Isolamento entre a memória volátil e a memória persistenteUm conjunto de classes com a função de gerenciar a persistência de objetos API s para armazenar os dados nas bases de dados Um conjunto de classes para armazenar em memória as informações 3a Questão (Ref.: 201204314216) Sobre a Interface RocerdComparator, podemos afirmar que: define a chamada de um método que procura registros iguais Define a comparação entre dois registros, para ver se são iguais ou a ordem relativa entre eles Implementa um conjunto de métodos para efetuar comparação entre registros Implementa a comparação entre dois registros, para ver se são iguais ou a ordem relativa entre eles Implementa um método que acha o registro igual 4a Questão (Ref.: 201204314215) A Classe RecordStore é a responsável por: Manter uma coleção de dados que serão persistidas através dos MIDlets. Gerenciar uma coleção de dados que são armazenados em arquivos Gerenciar uma coleção de dados que são armazenados em SGBD's Garantir integridade física dos registros do MIDlet Vender os registros que serão armazenados 5a Questão (Ref.: 201204314213) 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: Acoplamento entre o ambiente de armazenamento e a aplicação Um conjunto de classes para armazenar em memória as informações Isolamento entre a memória volátil e a memória persistente Isolamento entre o ambiente de armazenamento persistente e a aplicação. API s para armazenar os dados nas bases de dados 1a Questão (Ref.: 201204303731) 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: SocketConnection c = (SocketConnection) Connector.open ("socket://192.168.100.1:40"); SocketConnection c = (SocketConnection) Connector.open ("http://192.168.100.1:80"); SocketConnection c = new SocketConnection ("http://192.168.100.1:80"); SocketConnection c = SocketConnection.newInstance("socket://192.168.100.1:40"); SocketConnection c = new SocketConnection ("socket://192.168.100.1:80"); 2a Questão (Ref.: 201204314220) O FrameWork Genérico de Conexão - GCF pode ser encontrado e disponível para: CLDC, CDC, IMP e pacotes adicionais como Bluetooth Apenas nos CLDCs CDC e pacotes adicionais CLDC, CDC, IMP apenas CLDC e pacotes adicionais como Bluetooth 3a Questão (Ref.: 201204314223) Dentre os exemplos de conexão para GCF da classe Connector, assinale a opção que está ERRADA: (HttpConnection) String url = "http://portal.estacio.br/portal"; HttpConnection c = (Conection)Connector.open( ); (DatagramConnection) String url = "datagram://portal.estacio.br:12345"; UDPDatagramConnection c = (UDPDatagramConnection)Connector.open(url); (FileConnection) String url = "file://myResourceFile.res"; FileConnection c = (FileConnection)Connector.open(url); (arquivo de Recurso) String url = "file://myResourceFile.res"; InputConnection c = (InputConnection)Connector.open(url); (SocketConnection) String url = "socket://portal.estacio.br:80"; SocketConnection c = (SocketConnection)Connector.open(url); 4a Questão (Ref.: 201204314221) Sobre a estrutura do GCF, é possível afirmar que: - 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 Apenas as afirmativas I e III estão corretas Apenas a afirmativa I está correta Apenas as afirmativas II e III estão corretas Apenas a afirmativa II está correta Todas as afirmativas estão corretas 5a Questão (Ref.: 201204314222) Marque a opção dentre os exemplos de conexão para GCF da classe Connector que está ERRADA: (SocketConnection) String url = "socket:\\portal.estacio.br:1234"; SocketConnection c = (SocketConnectio)Conector.open(url); (DatagramConnection) String url = "datagram://portal.estacio.br:12345"; UDPDatagramConnection c = (UDPDatagramConnection)Connector.open(url); (HttpConnection) String url = "http://portal.estacio.br/portal"; HttpConnection c = (HttpConnection)Connector.open(url); (arquivo de Recurso) String url = "file://myResourceFile.res"; InputConnection c = (InputConnection)Connector.open(url); (FileConnection) String url = "file://myResourceFile.res"; FileConnection c = (FileConnection)Connector.open(url);
Compartilhar