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.
Menu
- Letras maiúsculas colocadas onde eles pertencem
- Sair de uma instrução switch
- Comparar os valores com um duplo sinal de igual
- Adicionar ouvintes para manipular eventos
- Definir os construtores necessários
- Fix referências nonstatic
- Ficar dentro dos limites de um array
- Antecipar ponteiros nulos
- Usar permissões
- A atividade não encontrado
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
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.