Baixe o app para aproveitar ainda mais
Prévia do material em texto
AVALIANDO O APRENDIZADO - PROGRAMAÇÃO PARA DISPOSITIVOS MOVEIS Aula 01 1. Os dispositivos móveis apresentam características próprias que obrigam a mudanças na forma de desenvolvimento de softwares para os mesmos. Qual das características abaixo NÃO corresponde a este tipo de dispositivo? Quest.: 1 Podem possuir conectividade, inclusive intermitente. São menores e mais leves. Normalmente são mais rápidos para inicialização ou desligamento. Maior autonomia de bateria. Utilizam o mouse como dispositivo de apontamento. 2. Um smartphone, diferentemente de um celular comum, quando possui suporte para a plataforma Java ME, tipicamente está: Quest.: 2 Usando a Dalvik no Java. Classificado como CDC. Classificado como CLDC. Classificado como MIDP e na CLDC. Usando a Dalvik e a KVM. 3. Podemos afirmar que o NetBeans: Quest.: 3 É incompatível com a "Java ME SDK". Não depende do Java SE e pode funcionar com Java ME. É uma ferramenta para desenvolvimento profissional que atende plenamente os requisitos para desenvolvimento de software para celular na plataforma Java Micro Edition. 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. 4. O principal papel da MIDP é para: Quest.: 4 Complementar a configuração que caracteriza o dispositivo. Classificar o tamanho do aparelho. Desenvolver o programa na linguagem Java. Desenhar o software. Desenvolvimento de software para dispositivos móveis. 5. Uma máquina virtual é: Quest.: 5 Uma máquina que não existe. É a classificação dada para o tamanho do aparelho. Um simulador eficiente e isolado de uma máquina real. Um tipo de plataforma de hardware. É uma tecnologia de desenvolvimento de software para dispositivos móveis. 6. A plataforma Android quando comparada à plataforma Java ME possui o diferencial de: Quest.: 6 Funcionar com Java na plataforma de execução. Permitir que desenvolvedores possam tirar proveitos de tudo o que o dispositivo móvel possa oferecer. Não permitir que o hardware seja acessado pela máquina virtual. Funcionar usando linguagem de programação Java. Funcionar em telefones celulares comuns. Aula 02 1. 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.: 1 Está no MIDP. Está no CLDC e no CDC. Está na marca do aparelho. Está na aplicação do smartphone, que é um tablet. Está no hardware empregado. 2. 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.: 2 Apresenta um limite de 32 KB de memória para alocação em tempo de execução. Precisa de pelo menos 512 KB de memória para execução do Java. Trabalha com uma máquina virtual denominada KVM. Trabalha com conectividade de rede intermitente. É a configuração utilizada por celulares comuns e pagers. 3. O termo _______________ refere-se ao conjunto de configurações que caracterizam dispositivos limitados em memória e poder de processamento. Qual das opções abaixo completa a lacuna? Quest.: 3 MIDP API CLDC CDC SERVLET 4. Na montagem do ambiente para desenvolvimento J2ME utilizando a IDE NEtBeans, precisamos de vários componente, são eles: Quest.: 4 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 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 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 CLDC CDC API KVM MIDP 6. 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.: 6 É a configuração utilizada por Smartphones, set-top boxes entre outros. Interface de usuário com recursos limitados. Apresenta um limite de 64 KB de memória para alocação em tempo de execução. Precisa de pelo menos 512 KB de memória para execução do Java. Trabalha com conectividade de rede normalmente persistente e veloz. Aula 03 1. Assinale o item que não trata de um elemento constituinte da High Level API: Quest.: 1 Form. Screen. Alert. Gauge. Canvas. 2. Sobre as ações do AMS (Application Management Software) é incorreto dizer: Quest.: 2 Controla o comportamento da MIDlet durante a execuçã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. É responsável por receber propriedades do arquivo descritor da aplicação. 3. Como a KVM implementa parcialmente as especificações da JVM (Java Virtual Machine) os aplicativos gerados: Quest.: 3 para uma plataforma podem não ser portáveis para outras. 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. podem ser executados nativamente no Android, sem qualquer modificação. 4. Devemos considerar o uso de bibliotecas gráficas: Quest.: 4 Quando não houver espaço no dispositivo móvel. 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. Quando a Dalvik e a KVM estiverem presentes em um mesmo equipamento. Quando o Java não estiver instalado no dispositivo móvel. Quando estivermos utilizando MIDP e CLDC exclusivamente. 5. Sobre as MIDlets: Quest.: 5 Apenas podem ser instaladas por intermédio de um servidor na Web. São empacotadas dentrode um arquivo de extensão "jad". É a denominação dada aos aplicativos gerados com o Android. Trabalha com a High Level API para o desenvolvimento de interfaces cadastrais. Podem ser utilizadas apenas em configurações CLDC. 6. As MIDlets são empacotadas: Quest.: 6 pois não tem funcionalidades para desenvolvimento. 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. porque não podem funcionar com Java ME. Aula 04 1. O tipo de objeto StringItem: 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. Não pode ter seus valores modificados. Serve para gravar dados permanentemente na memória do dispositivo. Serve para exibir um rótulo e um texto em um formulário. 2. O componente utilizado para exibir mensagens de aviso ao usuário é: TextBox. TextField. Form. Alert. Canvas. 3. O NetBeans permite o desenvolvimento de aplicativos para JME com grande produtividade. Qual das afirmações abaixo NÃO corresponde a uma característica deste ambiente? A tela de código protege o código estrutural da IDE contra modificações e sinaliza para o programador com a colocação de fundo cinza. Apresenta uma tela denominada "Navegador", na qual pode ser observada uma visão lógica e hierárquica do projeto. Obriga uma construção totalmente visual, não permitindo ao programador interferir em nenhum ponto via codificação. Apresenta um controle visual para o fluxo de navegação do MIDlet. Ao executar o projeto inicia o emulador e carrega o aplicativo no mesmo. 4. A instrução if serve para: Verificar condições e conduzir o fluxo da aplicação. Inverter um texto. Verificar a KVM. Comparar números e textos Validar textos. 5. O tipo de objeto que representa um campo de texto nativo da plataforma Java ME é: EditBox. TextBox. TextField. StringItem. String. 6. 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 que recebe a nova tela e chama outro método para trocar a tela; Nenhuma das alternativas está correta. Cria um objeto display para tratar a tela atual; Cria um objeto que identifica a tela atual do dispositivo e passa para proxTela; Cria um objeto do tipo Display, que serve para identificar qual é a próxima tela; Aula 05 1. Podemos afirmar que os erros mais difíceis de resolver são: Os erros de compilação. Os erros de divisão por zero. Os erros de conversão de tipos. Os erros em tempo de execução. Os erros na lógica de programação. 2. Uma boa estratégia de programação é utilizar a técnica chamada de "Curto - Circuito", que serve para: Sempre colocar do lado esquerdo, a condição que possuir maior probabilidade de mudança ou o que for mais importante Utilizar loops fechados e não abertos Aplicado apenas quando existe concatenação de operadores lógicos Sempre colocar do lado direito, a condição que possuir maior probabilidade de mudança ou o que for mais importante. Utilização de loops infinitos. 3. 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: Ver o valor das variáveis em memória mas não podemos alterar seu valor. Interromper laços infinitos Executar o programa passo a passo, ver o valor das variáveis em memória. Mudar o fluxo natural do programa. Executar o programa passo a passo sem poder ter acesso aos valores das variáveis. 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: Uma variável. Um tipo primitivo. Um ponteiro. Uma constante. Uma instrução. 5. 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 "for". Usar o mínimo possível de instruções de decisão, incluindo o "switch". Usar o mínimo possível de instruções "if". Usar o mínimo possível de objetos. Usar o mínimo possível de instruções de repetição, incluindo o "do" e o "while". 6. CamelCase é uma estratégia de notação para dar nomes apropriados as variáveis. Ela consiste em: O nome dos objetos devem ser todos minúsculos. Utilizar todas as letras maiúsculas sempre que tivermos constantes. 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. Nomes de objetos devem começar com letras maiúsculas. Aula 06 1. Podemos afirmar que a linha de programação: "Display.getDisplay(this).getCurrent()" Retorna o objeto que foi colocado na tela do dispositivo. Não pode ser executada. Define um novo objeto a ser colocado na tela do dispositivo. Gera erros de compilação. Gera erros em tempo de execução. 2. 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: "Create" e "Destroy". "startApp", "pauseApp" e "destroyApp". "commandAction" e "MIDlet". "Command" e "CommandListener". "Display" e "Displayable". 3. Podemos concluir que o fragmento de código a seguir utilizado pela IDE NetBeans: Substitui a instrução "switch" do Java. Serve exclusivamente para exibir mensagens de alerta. Serve para pegar a tela atual. Coloca na tela um objeto de alerta ou outro objeto que seja item de exibição ("Displayable"). Serve exclusivamente para limpar a tela. 4. 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? Alert Canvas List TextBox TextField 5. 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? List Form Ticker Canvas TextBox 6. A High Leve API destina-se à construção de interfacesde alto nível, normalmente associada à criação de formulários. Qual dos seguintes componentes não pode ser utilizado em um formulário JME? TextField StringItem Gauge List DateField Aula 07 1. 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. Apresenta elementos padronizados para a construção de caixas de texto e mensagens de alerta que se adaptam ao dispositivo sobre o qual executa. Possibilidade de uso de Commands para a definição de menus. Desenho direto na tela do dispositivo a partir do Canvas ou GameCanvas. 2. 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: Apenas I está correta II e III estão corretas Todas as afirmativas estão corretas Nenhuma afirmativa está correta I e III estão corretas 3. 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 um fundo de tela é a representação de uma imagem na memória é a classe responsável pelo gerenciamento das diversas camadas gráficas na interface é a representação de objetos estáticos na memória é utilizada para desenhar cenários 4. O método paint da classe Canvas: Serve para desenhar gráficos na tela. É usado conjuntamente com "Create" e "Destroy". Serve para gera eventos de erro. Serve para alocar posições no arranjo da classe. É usado conjuntamente com "Command" e "CommandListener". 5. 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 limpar a tela. Serve para definir o tamanho e a cor da tela. Serve para exibir mensagens de alerta. Coloca na tela um objeto que seja item de exibição (¿Displayable¿). 6. 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? Sprite Layer LayerManager GameCanvas Form Aula 08 1. 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 putRecord createRecord saveRecord generateRecord 2. 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. 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); int x = bais.readUTF( ); int x; bais.scanf( "%d" , &x ); int x = dis.readInt( ); int x = dis.readUTF( ); int x; dis.getInt( x ); 3. O efeito da utilização do método deleteRecordStore dentro de um aplicativo JME que utiliza o banco de dados padrão da plataforma é: O fechamento do banco. A remoção do primeiro registro adicionado. A remoção do banco de dados completo. A remoção de um registro do banco. A remoção do último registro adicionado. 4. 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: Inteiro Longo Array de Bytes Collection Record XML 5. 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. Utilização de estruturas denominadas RecordStore, as quais se caracterizam por um id inteiro e um array de bytes. Uso de banco de dados relacional. Gravação em HD externo, desde que o mesmo seja IDE, não sendo aceito o padrão SATA. Serialização de objetos e uso das bibliotecas java.io originais do JSE. 6. Podemos dizer que a API RMS (Record Management System) serve para: 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. 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. Retornar um objeto que representa o dispositivo móvel. Criar um novo menu no dispositivo. Gerenciar a pontuação e salvar o Record de uma aplicação de jogos. Aula 09 1a Questão (Ref.: 201301770215) Fórum de Dúvidas (0) Saiba (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? enumerateRecords getRecord nextRecordId closeRecordStore openRecordStore 2a Questão (Ref.: 201301780737) Fórum de Dúvidas (0) Saiba (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: Um conjunto de classes com a função de gerenciar a persistência de objetos Isolamento entre a memória volátil e a memória persistente Um conjunto de classes para armazenar em memória as informações Acoplamento entre o ambiente de armazenamento e a aplicação API s para armazenar os dados nas bases de dados 3a Questão (Ref.: 201302099385) Fórum de Dúvidas (0) Saiba (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 depersistência de dados. Para definir um macroprocesso através de uma classe abstrata o Java faz uso da palavra reservada: static public new final abstract 4a Questão (Ref.: 201301780738) Fórum de Dúvidas (0) Saiba (0) A Classe RecordStore é a responsável por: Gerenciar uma coleção de dados que são armazenados em arquivos Vender os registros que serão armazenados Gerenciar uma coleção de dados que são armazenados em SGBD's Manter uma coleção de dados que serão persistidas através dos MIDlets. Garantir integridade física dos registros do MIDlet 5a Questão (Ref.: 201301780739) Fórum de Dúvidas (0) Saiba (0) Sobre a Interface RocerdComparator, podemos afirmar que: Implementa 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 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 método que acha o registro igual 6a Questão (Ref.: 201301780736) Fórum de Dúvidas (0) Saiba (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: Um conjunto de classes para armazenar em memória as informações Isolamento entre a memória volátil e a memória persistente API s para armazenar os dados nas bases de dados Acoplamento entre o ambiente de armazenamento e a aplicação Isolamento entre o ambiente de armazenamento persistente e a aplicação. Aula 10 1. 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 = new SocketConnection ("socket://192.168.100.1:80"); SocketConnection c = SocketConnection.newInstance("socket://192.168.100.1:40"); 2. 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 Todas as afirmativas estão corretas Apenas a afirmativa II está correta Apenas as afirmativas II e III estão corretas Apenas a afirmativa I está correta 3. Qual das exceções abaixo é específica para uso no GCF? ServletException ClassNotFoundException IOException ConnectionNotFoundException SocketException 4. É 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? openDataInputStream openInputStream openDataOutputStream openOutputStream openDataStream 5. A plataforma JME apresenta uma arquitetura para gerenciamento de conexões, sejam remotas ou acessos para I/O locais, centrada no GCF, onde vários tipos de protocolos são aceitos, diferenciando-se na própria URL qual o tipo de conexão que será efetuada. Assinale a opção que apresenta o CORRETO relacionamento entre protocolo e classe de conexão. http - HttpsConnection btl2cap - JavaCardRMIConnection sms - MessageConnection apdu - UDPDatagramConnection comm - FileConnection 6. O FrameWork Genérico de Conexão - GCF pode ser encontrado e disponível para: CDC e pacotes adicionais CLDC, CDC, IMP apenas Apenas nos CLDCs CLDC, CDC, IMP e pacotes adicionais como Bluetooth CLDC e pacotes adicionais como Bluetooth
Compartilhar