10 erros a evitar em Programação Java

Aqui estão 10 lembretes rápidos para evitar erros fáceis quando você está programando aplicativos Android com código Java. Escrever seus próprios programas Java será muito mais fácil e suave quando você percorrer este checklist.

letras maiúsculas colocadas onde eles pertencem

Java é uma linguagem case-sensitive, então você realmente tem que cuidar da sua Pareia Qs - juntamente com todas as outras letras do alfabeto. Aqui estão alguns conceitos a ter em mente ao criar programas Java:

  • palavras-chave do Java são todos completamente minúsculas. Por exemplo, em uma aplicação Java E se declaração, a palavra E se não pode ser E se ou E SE.

  • Quando você usa nomes da Interface de Programação de Aplicativos Java (API), o caso dos nomes tem de corresponder ao que aparece no API.

  • Você também precisa se certificar de que os nomes que compõem a si mesmo são capitalizados da mesma forma ao longo de todo o programa. Se você declarar um minha conta variável, você não pode se referir a ele como Minha conta, minha conta, ou Minha conta. Se você capitalizar o nome da variável de duas maneiras diferentes, Java pensa que você está se referindo a duas variáveis ​​completamente diferentes.

Sair de uma instrução switch

Se você não sair de uma interruptor declaração, você começa cair por ele. Por exemplo, se o valor de rolo é 7, o código a seguir imprime todas as três palavras - ganhar, continuar, e perder:

switch (rolo) {case 7: System.out.println ( "vitória") - Processo 10: System.out.println ( "continuar") - Processo 12: System.out.println ( "perder") -}

Comparar os valores com um duplo sinal de igual

Quando você compara dois valores com o outro, você usa um sinal de igual duplo. A linha

if (entraNumero == randomNumber)

está correta, mas a linha

if (entraNumero = randomNumber)

não é correto.

Adicionar ouvintes para manipular eventos

Você quer saber quando o usuário clica em um widget, quando uma animação termina, ou quando alguma coisa acontece, então você cria ouvintes:

classe pública MainActivity estende Atividadeimplementa onclickListener, AnimationListener {... Public void onclick (Vista) {...} onAnimationEnd public void (animação Animation) {...}

Quando você cria ouvintes, você deve se lembrar para definir os ouvintes:

 Widget ImageView = new ImageView (this) -widget.setonclickListener(This) -... AlphaAnimation animação = new AlphaAnimation (0.0f, 1.0F) -Animação.setAnimationListener(esta)-...

Se você esquecer a chamada para setonclickListener, nada acontece quando você clicar no widget. Ao clicar no widget mais difícil uma segunda vez não ajuda.

Definir os construtores necessários

Quando você define um construtor com parâmetros, como em

Temperatura pública (número duplo)

Java não cria mais um construtor sem parâmetros padrão para você. Em outras palavras, você não pode mais chamar

Temperatura roomTemp = new temperatura () -

a menos que você definir explicitamente seu próprio parameterless Temperatura construtor.

Fix referências nonstatic

Se você tentar compilar o código a seguir, você recebe uma mensagem de erro:

classe WillNotWork {saudação String = "Olá" -public void main (args String []) estáticos {System.out.println (cumprimento) -}}

Você recebe uma mensagem de erro porque a Principal é estático, mas cumprimento não é estática.

Ficar dentro dos limites de um array

Quando você declarar uma matriz com dez componentes, os componentes têm índices de 0 a 9. Em outras palavras, se você declarar

convidados int [] = new int [10] -

você pode consultar o convidados componentes da matriz por escrito os hóspedes [0], os hóspedes [1], e assim por diante, todo o caminho até os hóspedes [9]. Você não pode escrever convidados [10], porque o convidados array tem nenhum componente com o índice 10.

Antecipar ponteiros nulos

Estes exemplos não são propensos a atirar o Null Pointer Exception, mas na vida real de programação Java, você vê essa exceção o tempo todo. UMA Null Pointer Exception acontece quando você chamar um método em uma expressão que não tem um valor "legítimo". Aqui está um exemplo barato:

ThrowNullPointerException classe pública {static void main (String [] args) públicas {String myString = null-display (myString) -} static tela vazio (String aString) {if {System.out (aString.contains ( "confidencial")!) .println (aString) -}}}

o exibição método imprime um conjunto de caracteres apenas se essa cadeia não contêm a palavra confidencial. O problema é que o myString variável (e, portanto, o uma linha parâmetro) não se refere a uma série de qualquer tipo - nem mesmo para a cadeia vazia ("").

Quando o computador atinge a chamada para aString.contains, o computador olha para uma contém método pertencente a nulo. Mas nulo é nada. o nulo valor não tem métodos. Então você começa uma grande Null Pointer Exception, eo programa desaba ao seu redor.

Para evitar este tipo de calamidade, pense duas vezes antes de qualquer chamada de método em seu código. Se a expressão antes do ponto pode ser possivelmente nulo, adicionar o código de exceção de manuseio para o seu programa:

try {if {System.out.println (aString) (aString.contains ( "confidencial")!) -}} catch (NullPointerException e) {System.out.println ( "A cadeia é nulo.") -}

Usar permissões

Alguns aplicativos requerem permissões explícitas. Por exemplo, um aplicativo pode falar para os servidores do Twitter através da Internet. Isso não funciona a menos que você adicionar um elemento para o aplicativo de AndroidManifest.xml Arquivo:

Caso se esqueça de adicionar o elemento ao seu AndroidManifest.xml arquivo, o app não pode se comunicar com os servidores do Twitter. O aplicativo falhar sem exibir uma mensagem de erro útil. Que pena!

A atividade não encontrado

Se você criar uma segunda atividade para o seu aplicativo, você deve adicionar um novo elemento no aplicativo de AndroidManifest.xml Arquivo. Por exemplo, um aplicativo Android pode ter duas atividades: Atividade principal e MyListActivity.

Eclipse cria automaticamente um elemento, mas você tem que digitar o seu próprio elemento para a MyListActivity:

Se você não adicionar esse elemento, o Android não consegue encontrar a MyListActivity classe, embora o MyListAcitivity.java arquivo está no diretório do projeto Eclipse do aplicativo. Seu aplicativo trava com um ActivityNotFoundException.

E isso faz toda a diferença.

menu