Prévia do material em texto
Avaliação: CCT0196_AV_201102192627 » PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tipo de Avaliação: AV Aluno: Professor: EDUARDO LUIZ PARETO Turma: Nota da Prova: 6,5 Nota de Partic.: 1,5 Data: 22/11/2014 1a Questão (Ref.: 201102318566) Pontos: 0,5 / 0,5 Assinale o item que não corresponde a uma constante para controle de fluxo no JME: Command.ITEM Command.OK Command.CANCEL Command.LOGOUT Command.EXIT 2a Questão (Ref.: 201102451588) Pontos: 0,0 / 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: 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 = (SocketConnection) Connector.open ("socket://192.168.100.1:40"); SocketConnection c = new SocketConnection ("socket://192.168.100.1:80"); 3a Questão (Ref.: 201102319040) Pontos: 0,5 / 0,5 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á no hardware empregado. Está na marca do aparelho. Está no MIDP. Está na aplicação do smartphone, que é um tablet. Está no CLDC e no CDC. 4a Questão (Ref.: 201102318972) Pontos: 0,5 / 0,5 Boas práticas de programação compreendem: Design bonito e sofisticado. Programação orientada a objeto, independentemente da plataforma. Simplicidade. Códigos sofisticados. Documentação e objetividade, a fim de contemplar a manutenção e o resultado. 5a Questão (Ref.: 201102333610) Pontos: 0,5 / 0,5 O método "setCommandListener(this)" faz com que todo evento de comando de um formulário seja: Cancelado. Tratado em outra classe. Ignorado e transferido à MIDlet. Recebido através do método "commandAction". Atrasado, cancelado e revertido. 6a Questão (Ref.: 201102451531) Pontos: 1,0 / 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: Serialização de objetos e uso das bibliotecas java.io originais do JSE. Utilização de estruturas denominadas RecordStore, as quais se caracterizam por um id inteiro e um array de bytes. 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. Armazenamento exclusivamente na nuvem. 7a Questão (Ref.: 201102319067) Pontos: 0,5 / 0,5 Podemos afirmar que a "API": É a parte do aparelho que é controlada pela VM. É 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 CLDC. É o MIDP. 8a Questão (Ref.: 201102337506) Pontos: 0,0 / 0,5 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; Pausado ¿ pauseApp; Dormindo ¿ sleepApp; Destruído ¿ destroyApp; 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; Aguardando ¿ waitApp; Destruído ¿ destroyApp; 9a Questão (Ref.: 201102337566) Pontos: 1,5 / 1,5 Explique a diferença entre erro de compilação e erro de execução Resposta: erro de compilação =>> gerado antes da execução. erro de execução =>> enquanto o programa é executado. 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. Estes, normalmente ocorrem quando o programa tenta uma operação que é impossível executar. 10a Questão (Ref.: 201102337569) Pontos: 1,5 / 1,5 Apresente dois exemplos de boas práticas de programação Resposta: Documentação e comentários; "curto circuito"; Variáveis com objetos nulos; Nomes apropriados Gabarito: - Documentação e comentários - Troca da posição de variáveis e constantes na comparação - Uso de "curto-circuito" na comparação - Limitação de novos objetos - Variáveis de objetos nulas - Nomes apropriados Detalhes Avaliação: CCT0196_AV2_201001233662 Tipo de Avaliação: AV2 Aluno: 201001233662 - MARCO AURELIO VAQUERO DA SILVA Professor: EDUARDO LUIZ PARETO Turma: 9001/AA Nota da Prova: 5,0 de 8,0 Nota do Trabalho: Nota de Participação: 1 Data: 13/06/2012 1.) PERSISTÊNCIA DE DADOS Pontos: / 1,5 Apresente três exceções que precisam ser tratadas para a classe RecordStore, explicando o fator gerador do erro. Resposta: RecordStoreException => tratamento de erro genérico. RecordStoreNotFoundException => arquivo RecordStore não encontrado. RecordStoreOpenException => erro na abertura do arquivo RecordStore. 2.) PERSISTÊNCIA DE DADOS Pontos: 1,0 / 1,0 É 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. 3.) PREPARANDO O AMBIENTE Pontos: 0,5 / 0,5 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á no CLDC e no CDC. Está na aplicação do smartphone, que é um tablet. Está no hardware empregado. Está no MIDP. Está na marca do aparelho. 4.) CONSTRUÇÃO DE JOGOS Pontos: 1,0 / 1,0 Página 1 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... 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". 5.) PREPARANDO O AMBIENTE Pontos: 0,5 / 0,5 Podemos afirmar que a "API": É a CLDC. É 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 usarseus serviços. É o que ativa a plataforma Java Micro Edition para dispositivos móveis. É a parte do aparelho que é controlada pela VM. É o MIDP. 6.) CONSTRUÇÃO DE JOGOS Pontos: 0,5 / 0,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 é utilizada para desenhar cenários é a representação de uma imagem na memória é a representação de um fundo de tela 7.) CONSTRUÇÃO DE JOGOS Pontos: 0,5 / 0,5 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 8.) CONTROLE DE FLUXO Pontos: 0,5 / 0,5 Assinale o item que não corresponde a uma constante para controle de fluxo no JME: Página 2 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... Command.CANCEL Command.LOGOUT Command.ITEM Command.EXIT Command.OK 9.) CONSTRUÇÃO DE JOGOS 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: 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 10.) TÉCNICA Pontos: 0,5 / 0,5 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. Reescrever completamente o código. Utilizar mensagens através de Alert. Página 3 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... Detalhes Avaliação: CCT0196_AV2_201001233662 Tipo de Avaliação: AV2 Aluno: 201001233662 - MARCO AURELIO VAQUERO DA SILVA Professor: EDUARDO LUIZ PARETO Turma: 9001/AA Nota da Prova: 5,0 de 8,0 Nota do Trabalho: Nota de Participação: 1 Data: 13/06/2012 1.) PERSISTÊNCIA DE DADOS Pontos: / 1,5 Apresente três exceções que precisam ser tratadas para a classe RecordStore, explicando o fator gerador do erro. Resposta: RecordStoreException => tratamento de erro genérico. RecordStoreNotFoundException => arquivo RecordStore não encontrado. RecordStoreOpenException => erro na abertura do arquivo RecordStore. 2.) PERSISTÊNCIA DE DADOS Pontos: 1,0 / 1,0 É 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. 3.) PREPARANDO O AMBIENTE Pontos: 0,5 / 0,5 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á no CLDC e no CDC. Está na aplicação do smartphone, que é um tablet. Está no hardware empregado. Está no MIDP. Está na marca do aparelho. 4.) CONSTRUÇÃO DE JOGOS Pontos: 1,0 / 1,0 Página 1 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... 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". 5.) PREPARANDO O AMBIENTE Pontos: 0,5 / 0,5 Podemos afirmar que a "API": É a CLDC. É 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. 6.) CONSTRUÇÃO DE JOGOS Pontos: 0,5 / 0,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 é utilizada para desenhar cenários é a representação de uma imagem na memória é a representação de um fundo de tela 7.) CONSTRUÇÃO DE JOGOS Pontos: 0,5 / 0,5 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 8.) CONTROLE DE FLUXO Pontos: 0,5 / 0,5 Assinale o item que não corresponde a uma constante para controle de fluxo no JME: Página 2 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... Command.CANCEL Command.LOGOUT Command.ITEM Command.EXIT Command.OK 9.) CONSTRUÇÃO DE JOGOS 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: 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 10.) TÉCNICA Pontos: 0,5 / 0,5 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. Reescrever completamente o código. Utilizar mensagens através de Alert. Página 3 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... Fechar Avaliação: CCT0196_AV1_201001294939 » PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tipo de Avaliação: AV1 Aluno: 201001294939 - FLÁVIO LUIZ DA SILVA DANTAS Professor: EDUARDO LUIZ PARETO Turma: 9001/AA Nota da Prova:5,0 de 8,0 Nota do Trabalho: Nota de Participação: 0 Data: 18/09/2012 1a Questão (Cód.: 107151) Pontos: 0,5 / 0,5 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. 2a Questão (Cód.: 107111) Pontos: 0,5 / 0,5 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. 3a Questão (Cód.: 106630) Pontos: 1,0 / 1,0 O componente utilizado para exibir mensagens de aviso ao usuário é: TextBox. Canvas. Alert. Form. TextField. 4a Questão (Cód.: 106653) Pontos: 0,5 / 0,5 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. 5a Questão (Cód.: 107209) Pontos: 0,5 / 0,5 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. 6a Questão (Cód.: 106670) Pontos: 0,0 / 1,0 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". 7a Questão (Cód.: 106627) Pontos: 0,0 / 1,0 Assinale o item que não trata de um elemento constituinte da High Level API: Canvas. Form. Alert. Gauge. Screen. 8a Questão (Cód.: 107079) Pontos: 1,0 / 1,0 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. 9a Questão (Cód.: 106759) Pontos: 0,0 / 1,0 Qual interface encapsula o mecanismo de gerência de eventos no J2ME? CommandStateListener. MIDPListener. MIDletListener. CommandListener. ActionListener. 10a Questão (Cód.: 107072) Pontos: 1,0 / 1,0 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". Detalhes Avaliação: CCT0196_AV2_201001233662 Tipo de Avaliação: AV2 Aluno: 201001233662 - MARCO AURELIO VAQUERO DA SILVA Professor: EDUARDO LUIZ PARETO Turma: 9001/AA Nota da Prova: 5,0 de 8,0 Nota do Trabalho: Nota de Participação: 1 Data: 13/06/2012 1.) PERSISTÊNCIA DE DADOS Pontos: / 1,5 Apresente três exceções que precisam ser tratadas para a classe RecordStore, explicando o fator gerador do erro. Resposta: RecordStoreException => tratamento de erro genérico. RecordStoreNotFoundException => arquivo RecordStore não encontrado. RecordStoreOpenException => erro na abertura do arquivo RecordStore. 2.) PERSISTÊNCIA DE DADOS Pontos: 1,0 / 1,0 É 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. 3.) PREPARANDO O AMBIENTE Pontos: 0,5 / 0,5 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á no CLDC e no CDC. Está na aplicação do smartphone, que é um tablet. Está no hardware empregado. Está no MIDP. Está na marca do aparelho. 4.) CONSTRUÇÃO DE JOGOS Pontos: 1,0 / 1,0 Página 1 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... 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". 5.) PREPARANDO O AMBIENTE Pontos: 0,5 / 0,5 Podemos afirmar que a "API": É a CLDC. É 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. 6.) CONSTRUÇÃO DE JOGOS Pontos: 0,5 / 0,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 é utilizada para desenhar cenários é a representação de uma imagem na memória é a representação de um fundo de tela 7.) CONSTRUÇÃO DE JOGOS Pontos: 0,5 / 0,5 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 8.) CONTROLE DE FLUXO Pontos: 0,5 / 0,5 Assinale o item que não corresponde a uma constante para controle de fluxo no JME: Página 2 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... Command.CANCEL Command.LOGOUT Command.ITEM Command.EXIT Command.OK 9.) CONSTRUÇÃO DE JOGOS Pontos: / 1,5 Com o lançamento do Mobile Information Device Profile (MIDP) versão 2.0, foi introduzido o pacote javax.microedition.lcdui.gameque disponibiliza cinco classes com uma grande variedade de recursos para a produção de jogos. Cite as cinco classes explicando suas funções. Resposta: 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 10.) TÉCNICA Pontos: 0,5 / 0,5 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. Reescrever completamente o código. Utilizar mensagens através de Alert. Página 3 de 3BDQ Prova 20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1938055... 1a Questão (Ref.: 201101254392) Pontos: 0,8 / 0,8 Explique como é feita a persistência de dados no JME. Resposta: O armazenamento dos dados em celulare é feito atraváes de estruturas denominadas RecordStore. A estrutura de armazenamento de um RecordStore é simples, possuindoapenas em id e um array de bytes como local para armazenamanto. Gabarito: 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. 2a Questão (Ref.: 201101256087) Pontos: 0,8 / 0,8 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. Resposta: public boolean fechaBD(RecordStore nomeBanco) { boolean retorno=false; try{ nomeBanco.closeRecordStore(); retorno=true;} cacth(RecordStoreException ex){ retorno=false;} return retorno; Gabarito: public boolean fecharBanco(RecordStore banco) { boolean retorno=false; try { banco.closeRecordStore( ); retorno = true; } catch (RecordStoreException ex) { retorno = false; } return retorno; } 3a Questão (Ref.: 201101240405) Pontos: 0,8 / 0,8 São sistemas operacionais de smartphone: Dalvik e KVM. Symbian, Android, Windows, Linux e MAC. Java. iOS, Symbian, Android, PalmOS, WebOS, RIM BlackBarry, Windows Mobile e Windows Phone. Android e Java ME. 4a Questão (Ref.: 201101256027) Pontos: 0,8 / 0,8 Podemos dizer que a API RMS (Record Management System) serve para: Retornar um objeto que representa o dispositivo móvel. Gerenciar a pontuação e salvar o Record de uma aplicação de jogos. 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. 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. 5a Questão (Ref.: 201101240346) Pontos: 0,8 / 0,8 Boas práticas de programação compreendem: Programação orientada a objeto, independentemente da plataforma. Documentação e objetividade, a fim de contemplar a manutenção e o resultado. Códigos sofisticados. Simplicidade. Design bonito e sofisticado. 6a Questão (Ref.: 201101258253) DESCARTADA O controle de colisão é responsável por identificar quando um componente gráfico fica na mesma posição que outro. Este tratamento é feito pelo método: collidesSprite(Sprite, Boolean) ; hitSprite(Sprite, Boolean) ; detectCollision(Sprite, Boolean) ; hitWith(Sprite, Boolean) ; collidesWith(Sprite, Boolean) ; 7a Questão (Ref.: 201101258252) Pontos: 0,8 / 0,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 objetos estáticos na memória é a classe responsável pelo gerenciamento das diversas camadas gráficas na interface é a representação de um fundo de tela é a representação de uma imagem na memória é utilizada para desenhar cenários 8a Questão (Ref.: 201101239887) Pontos: 0,8 / 0,8 Com relação ao Android é incorreto dizer que: Trata-se de uma plataforma open source. Fornece ao desenvolvedor poderosos recursos 2D e 3D. Permite a implementação de bancos de dados com o SQLite. Não possui restrições quanto ao acesso às funcionalidades nativas do aparelho. Consome poucos recursos devido à utilização da KVM. 9a Questão (Ref.: 201101240470) Pontos: 0,8 / 0,8 A instrução if serve para: Validar textos. Verificar a KVM. Comparar números e textos Inverter um texto. Verificar condições e conduzir o fluxo da aplicação. 10a Questão (Ref.: 201101239940) Pontos: 0,8 / 0,8 Assinale o item que não corresponde a uma constante para controle de fluxo no JME: Command.ITEM Command.OK Command.EXIT Command.LOGOUT Command.CANCEL 11a Questão (Ref.: 201101240374) Pontos: 0,8 / 0,8 Uma máquina virtual é: Um tipo de plataforma de hardware. É uma tecnologia de desenvolvimento de software para dispositivos móveis. É a classificação dada para o tamanho do aparelho. Uma máquina que não existe. Um simulador eficiente e isolado de uma máquina real. Período de não visualização da prova: desde 04/11/2013 até 22/11/2013. 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 ativa a 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 exibirmensagens 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 na memó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 como 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; Explique como é feita a persistência de dados no JME? R.: O armazenamento de dados em celulares é feita através de estruturas RecordStore possuindo apenas um id e um array de bytes para armazenamento de dados. 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. GameCanvas - Responsável pela tela gráfica do jogo; Layer - É a estrutura de camada para a construção de tela gráfica do jogo; Sprite - Representação de uma imagem na memória. TileLayer - Classe disponibilizada para construir camadas gráficas; LayerManager - Gerenciador de camadas da interface. Apresente três exceções que precisam ser tratadas para a classe RecordStore, explicando o fator gerador do erro. RecordStoneException - erro genérico RecordStoneNotFoundException - o arquivo RecordStone não foi encontrato. RecordStoneNotOpenException - o arquivo RecorStone não pode ser aberto. Boas práticas de programação Documentação e comentários Nomes apropriados Limitação de novos objetos uso de “curto-circuito” na comparação Diferença entre erro de compilação e execução Erro de compilação ocorre antes da execução, o erro de execução ocorre durante a execução. Fecha e abre banco de dados. Public RecordStore abrirBanco(boolean criar, String banco){ Try{ Return RecordStore.openRecordStore(banco, criar); } catch(RecordStoreException ex){ return null; }} Public bollean fechaBanco(RecordStore banco){ bollean retorno = false; Try{ retorno banco.closeRecordStore(); retorno = true; } catch(RecordStoreException ex){ returno = false; } return retorno; } 52- Utilizando os recursos providos pelas classes e interfaces da API RMS, podemos afirmar que a forma mais eficiente para ordenar registros de um objeto do tipo RecordStore: A. É utilizar um objeto da interface RecordEnumeration, pois permite que naveguemos pelos registros da classe RecordStore de forma filtrada e ordenada. B. É utilizar o comando “for” do Java para percorrer todos os registros e classifica-los. C. É 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. D. É utilizar uma variável de classe para armazenar um arranjo de bytes (byte[]). E. É baixar um navegador 53- Um framework genérico de conexão, também conhecido por GCF (Generic Connection Framework), foi desenvolvido porque: A. Era muitodifícil programa nas versões antigas da MIDP. B. Faltavam bibliotecas e APIs para programa em Java para dispositivos móveis. C. 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”. D. Os fabricantes não conseguiram criar um padrão de conexão que atendessem todos os dispositivos móveis de modo uniforme. E. O genérico é mais barato do que o proprietário. 54- Atualmente, você pode encontrar o GCF: A. Somente em dispositivos com baixo poder de processamento. B. 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). C. Somente em dispositivos com alto poder de processamento. D. Somente em dispositivos com conectividade limitada. E. Em dispositivos que estão descontinuados no mercado.