Baixe o app para aproveitar ainda mais
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
Compartilhar