10 Maneras de evitar errores en la programación de su aplicación para android con java
Todos cometemos errores. Es un hecho de la vida. Sin embargo, si se siguen los consejos aquí, no tiene que ser un hecho de su programación Java.
Poner mayúsculas a la que pertenecen
Java es un lenguaje de mayúsculas y minúsculas, por lo que realmente tiene que ocuparse de sus pags y qs - junto con cada otra letra del alfabeto. Aquí están algunos conceptos a tener en cuenta a medida que crea programas Java:
- las palabras clave de Java son todas completamente en minúsculas. Por ejemplo, en una aplicación Java
Si
declaración, la palabra Si no puede ser Si o SI. - Cuando se utilizan nombres de interfaz de programación de aplicaciones de Android (API), el caso de los nombres tiene que coincidir con lo que aparece en la API.
- Los nombres que componen a sí mismo, que deben aprovecharse de la misma manera a lo largo de todo el programa. Si se declara una
mi cuenta
variable, no puede hacer referencia a ella comoMi cuenta
,mi cuenta
, oMi cuenta
. Si a capitalizar el nombre de variable de dos maneras diferentes, Java piensa que usted se refiere a dos variables completamente diferentes.
Salir de una sentencia switch
Si no salir de una cambiar
declaración, se obtiene caer a través. Por ejemplo, si el valor de rodar
es 7
, el siguiente código imprime las tres palabras - ganar
, continuar
, y perder
:
interruptor (roll) {
caso 7:
textView.setText ("ganar") -
caso 10:
textView.setText ("continuar") -
caso 12:
textView.setText ("perder") -
}
Al comparar los valores con un signo igual doble
Cuando se comparan dos valores, se utiliza un doble signo igual. La línea
si (númeroEntrada == randomNumber)
es correcta, pero la línea de
si (númeroEntrada = randomNumber)
no es correcto.
La adición de detectores para gestionar eventos
¿Quieres saber cuando el usuario hace clic en un widget, cuando una animación termina, o cuando sucede algo más, por lo que se crea oyentes:
MainActivity clase pública se extiende Actividad
implementa onclickListener, AnimationListener {
...
public void onclick (Ver vista) {
...
}
onAnimationEnd pública vacío (animación Animación) {
...
}
Al crear los oyentes, debe recordar para establecer los oyentes:
widget de ImageView ImageView = nuevo (este) -
Widget.setonclickListener(esta)-
...
animación AlphaAnimation = new AlphaAnimation (0.0f, 1.0f) -
animación.setAnimationListener(esta)-
...
Si se olvida de la llamada a setonclickListener
, no pasa nada cuando hace clic en el widget. Al hacer clic en el widget más difícil por segunda vez no ayuda.
La definición de los constructores necesarios
Cuando se define un constructor con parámetros, como en
Temperatura público (número doble)
Java ya no crea un constructor sin parámetros por defecto para usted. En otras palabras, ya no se puede llamar
Video: Android ejemplos - Controles básicos: 9.- Depuración y control de errores
Temperatura RoomTemp = new Temperatura () -
a menos que se definan explícitamente su propio sin parámetros Temperatura
constructor.
Video: Calculadora en java 7 con Netbeans - Diseño y programación
La fijación de referencias no estáticos
Si intenta compilar el código siguiente, se obtiene un mensaje de error:
WillNotWork clase {
saludo String = "Hola"-
Mostrar static void () {
textView.setText (saludo) -
}
}
Usted obtiene un mensaje de error porque el espectáculo
método es estático, sino saludo
no es estática.
El permanecer dentro de los límites de una matriz
Cuando se declara una matriz con diez componentes, los componentes tienen índices de 0 a 9. En otras palabras, si se declara
invitados int [] = new int [10] -
puede hacer referencia a la huéspedes
Los componentes del arreglo escribiendo los huéspedes [0]
, los huéspedes [1]
, y así sucesivamente, todo el camino hasta los huéspedes [9]
. No se puede escribir los huéspedes [10]
, porque el huéspedes
array no tiene un componente con un índice de 10.
Anticipando punteros nulos
UN Excepción de puntero nulo
se produce cuando se llama a un método en una expresión que no tiene ningún valor “legítimo”. He aquí un ejemplo:
MainActivity clase pública se extiende AppCompatActivity {
Vista de Texto textView-
@Anular
protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState) -
setContentView (R.layout.activity_main) -
// Se olvida la línea findViewById.
}
public void onButtonclick (Ver vista) {
textView.setText ("Hola") -
}
}
En Java, una variable de tipo de referencia que no apunta a nada tiene el valor nulo
. Así que en este ejemplo, el vista de texto
el valor de la variable es nulo
.
No se puede llamar a la setText
método en el nulo
valor. Por lo demás, no se puede llamar a cualquier método en la nulo
valor. Cuando intenta ejecutar Java textView.setText ("Hola")
, la aplicación se bloquea. El usuario ve una Aplicación ha dejado de mensaje. Si está probando el uso de la aplicación Android de estudio, que se ve Excepción de puntero nulo
en el panel Logcat.
Para evitar este tipo de calamidad, piense dos veces antes de cualquier llamada a un método en el código. Si la expresión antes del punto puede ser, posiblemente, nulo
, añadir código de excepción-manejo de su programa:
public void onButtonclick (Ver vista) {
tratar {
textView.setText ("Hola") -
} Catch (NullPointerException e) {
Toast.makeText (esto, "La aplicación se ha recuperado de un error.",
Toast.LENGTH_LONG) .show () -
}
}
Uso de permisos
Algunas aplicaciones requieren permisos explícitos. Por ejemplo, algunas aplicaciones hablan con servidores de Twitter a través de Internet. Esto no funciona a menos que agregue una elemento de la App
AndroidManifest.xml
archivo:
Si se olvida de añadir el elemento a su
AndroidManifest.xml
archivo, la aplicación no puede comunicarse con servidores de Twitter. La aplicación falla sin mostrar un mensaje de error útiles. ¡Demasiado!
La actividad no se encuentra
Si crea una segunda actividad para su aplicación, debe agregar un nuevo
elemento en la App AndroidManifest.xml
archivo. El elemento puede ser tan simple como
pero, en la mayoría de los casos, el elemento es un poco más complicado.
Si no agrega este
elemento, Android no puede encontrar el MySecondActivity
clase, aunque la MySecondAcitivity.java
archivo está en el directorio del proyecto de la aplicación. Su aplicación se bloquea con una ActivityNotFoundException
.
Y eso hace toda la diferencia.