Buscar

Programação DM Aula5 - 2012

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Aula 5- Técnicas
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Conteúdo Programático desta aula
Controlar do fluxo da aplicação;
Aprender algumas técnicas de programação que podem ser direcionadas para dispositivos móveis;
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Categoria dos erros de Programação
Erros de compilação;
Erros em tempo de execução;
Erros na lógica de programação.
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Erros de Compilação
São erros que ocorrem antes de seu programa executar. Quando você tenta executar um programa, o código necessita ser traduzido (compilado) para um idioma que possa ser compreendido e executado pelo dispositivo. Se o compilador encontrar algo que não possa traduzir, haverá um erro de compilação, um aviso será emitido ao programador e o processo possivelmente não irá adiante.
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Erros de Tempo de Execução
São erros que ocorrem enquanto o programa é executado. Eles normalmente ocorrem quando o programa tenta uma operação que é impossível executar.
Ex.: Divisão por zero; Utilização de objetos que são nulos e, ainda, a conversão de objetos para tipos incompatíveis;
	int velocidade = km / hora;
 
	Se a variável “hora” receber um valor 0 (zero) durante a execução de seu programa, a operação de divisão falhará e fará com que ocorra um erro em tempo de execução. Dependendo da plataforma, erros em tempo de execução podem causar a interrupção do programa.
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Erros de Lógica
São erros que impedem seu programa de fazer de maneira adequada o deveria ser feito. 
Nessa categoria de erro seu código-fonte pode ser compilado e executado aparentemente sem erros, todavia quando a lógica é processada, o erro ocorre e o resultado é de algum modo deficitário.
Por exemplo, você pode ter uma variável chamada “nome” e outra chamada “sobrenome”. Imagine que o usuário digita seu nome e sobrenome em campos de preenchimento separados. Agora imagine que você decidiu ajuntar (concatenar) as duas variáveis para exibir o nome completo desse usuário. Se esquecer-se de dar um espaço em branco entre as duas variáveis antes de exibir o nome completo, o resultado não será o desejado - você está diante de um simples erro de lógica.
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Boas Práticas na Programação
Documentação e comentários: Para reduzir o tempo de manutenção e de desenvolvimento de novas funcionalidades em uma aplicação é recomendável sempre documentar o código-fonte, o fluxo do processo e a forma como os dados são armazenados e processados. Adicionalmente, tudo o que fez e faz parte do projeto deve ser documentado.
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Boas Práticas na Programação
Troca da posição de variáveis e constantes na comparação: 
	Para evitar erros em tempo de execução, em comparações, é aconselhável que a constante esteja à esquerda:
if (3 == n) { … }
while (true == b) { … }
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Erros comuns em Java
Vamos nos atentar a dois pontos importantes da linguagem de programação Java:
Para comparar valores primitivos utilizam-se dois sinais de igual (==); Para atribuir um valor a uma variável utiliza-se um único sinal de igual (=).
Com base nesses pontos, se o programador esquecer-se de um sinal de igual em uma instrução de comparação, ao invés de apenas comparar, estará também atribuindo. Veja o exemplo: if (b = true) { … }
Neste exemplo, falta um sinal de igual e a variável “b” recebe um valor “true” (verdadeiro), pois o sinal de igual atribui o valor “true” a variável “b”. Como consequência, a instrução “if” entende que “b“ é “true” processando o que estiver dentro da instrução “if”.
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Uso de “curto-circuito” na comparação 
Sempre coloque do lado esquerdo o que possuir maior probabilidade de mudança ou o que for mais importante. Veja o exemplo:
private void teste(int y) {
	for (int x = 0; 10 > x; x++) {
		if ((6 < x) && (9 == y)) { break; 	} } }
Neste teste, a contagem de “x” poderá ser interrompida a partir do número 7 (sete) - se ambas as comparações forem verdadeiras. Observe que a variável “y” foi colocada à direita, pois seu valor não muda durante a contagem. A verificação da condição acontece da esquerda para a direita e, neste caso, se a primeira verificação retornar “false” a verificação da segunda não acontece e algum tempo de análise será poupado. 
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Limitação de Novos Objetos 
Em dispositivos móveis com pouco poder de processamento e recursos de memória deve-se evitar criar novos objetos sem uma real necessidade, pois novos objetos tendem a consumir mais processamento e memória RAM do dispositivo.
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Variáveis de Objetos Nulas
Nas instruções de comparação, verifique sempre qualquer objeto que tenha a possibilidade de não ter sido instanciado, pois um erro em tempo de execução ocorrerá se um atributo ou um método de uma variável de objeto nula (“null”) for invocado.
Exemplo 1:
		if (nome.equals("")) { … }
Pode ocorrer erro de execução!
Exemplo 2:
		if ((null != nome) && (nome.equals(""))) { … }
Utilizando a técnica do Curto Circuito
Exemplo 3:
		if ("".equals(nome)) { … }
Otimização do caso anterior
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Nomes Apropriados
Para facilitar a compreensão do código e facilitar futuras manutenções, além dos comentários e das documentações é recomendável que você também utilize nomes apropriados para tudo o que codificar, inclusive em variáveis, métodos, classes, enumeradores e interfaces.
Além dos nomes apropriados, você também pode fazer uso de uma notação chamada CamelCase para facilitar a compreensão da codificação, pois através dela, mesmo sem entender do contexto, dá para ter uma ideia do que provavelmente está sendo realizado. Veja alguns exemplos de fragmentos de código-fonte:
for (int reduzValor = 10; 0 <= reduzValor; reduzValor--) {…} 
if (nomeDoProfissional.equals(nomeDaPessoa)) { … }
while (0 < numeroDeRegistros) { … }
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Para analisar o funcionamento de um programa passo-a-passo ou para identificar e corrigir falhas e / ou erros no raciocínio lógico de programas podemos utilizar uma ferramenta chamada depurador (debugger).
Depuração do Programa
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Para iniciarmos o processo, vá para a área de “Fluxo”, selecione o comando “okCommand” e, clicando sobre ele com o botão direito do mouse (botão auxiliar), acesse a opção “Ir para o código-fonte”, conforme a ilustração:
Entendendo o básico sobre depuração
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Para marcar o ponto de parada no processo de depuração, dê um clique sobre o número da linha que deseja parar (passo 1). Neste exemplo, após darmos um clique sobre o número 108, a linha é destacada por um marcador( ) e assume uma nova cor (rosa). Veja a ilustração:
Entendendo o básico sobre depuração
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Para que você possa testar este ponto de parada, use o botão “Depurar projeto principal” ( ) e aguarde a inicialização do emulador. 
Depurando o código
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Para percorrer o código, você pode utilizar os botões de “navegação em modo de depuração” ( ). 
Testaremos o botão “Passar sobre” ( ). Observe que o ponto de execução do programa mudou para a próxima linha
Depurando o código
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Agora, selecione a variável “texto” e mantenha seu mouse totalmente parado sobre ela. Observe que o nome que você digitou na caixa de texto está armazenado na variável como um objeto de String
Depurando o código
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Depurando o código – A Janela de Variáveis
Tema da Apresentação
TÉCNICA – AULA5
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
*
Fim.
Tema da Apresentação

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Perguntas Recentes