Aplicación Java ME funcionando muy bien en el emulador pero estrellarse cuando se despliega a N70. Cualquier forma de identificar la razón de estrellarse?

StackOverflow https://stackoverflow.com/questions/2776347

  •  03-10-2019
  •  | 
  •  

Pregunta

he desarrollado una aplicación Java ME para la plataforma CLDC. Funciona bien cuando se ejecuta en un emulador. Pero cuando implementarlo en mi teléfono N70 la aplicación no se inicia en absoluto en el teléfono. En mi solicitud hay algunas clases 14 y estoy creando una instancia de cada uno y ponerlos en el vector en el inicio de la aplicación. Las clases sólo tienen una variable y 2 métodos. Puede esta creación de gran cantidad de casos, ser la razón de su estrellarse?

¿Hay alguna manera de averiguar la razón por la cual la aplicación no es capaz de iniciar en el teléfono?

Actualización: Su fina que se ejecuta en el emulador. Y una cosa más que me gustaría mencionar es que- El código deja de ejecutar sólo en el punto en el que estoy creando esos 14 casos y agregándolos al vector. Hasta ese momento, el código se ejecuta bien.

¿Fue útil?

Solución

Se puede depender de en qué parte del código que está creando esos casos. Si va a crear en tu constructor MIDlet o el método de prueba startApp mover la inicialización en el método de ejecución de la aplicación.

Una forma de depurar aplicaciones J2ME que se inicia en el teléfono es mediante la adición de los mensajes de depuración de estilo "printf" en el código para ser escrito en el sistema de tienda de discos y la adición de otro MIDlet para su aplicación a leer de RMS y la pantalla esos mensajes. O simplemente puede comentar fragmentos de código y ver si funciona.

Otros consejos

Se puede depurar el dispositivo. Si el emulador que está utilizando es parte del SDK de Nokia entonces no deberá disponer de instalaciones en otros lugares para llevar a cabo pruebas y depuración en el dispositivo. (Que había puesto más detalles sobre esto, pero sólo he hecho esto con los teléfonos Sony Ericsson recientemente.)

Otra opción es utilizar el herramientas de Nokia que le permiten ver la salida estándar y error para su aplicación cuando se está ejecutando en el dispositivo (a través de Bluetooth, por ejemplo).

La probabilidad de que su aplicación es en realidad fallando la máquina virtual Java de código de bytes hilo intérprete y terminar todo el proceso nativo es muy pequeño.

Ya ha sucedido antes, pero es necesario para eliminar varios otros problemas potenciales antes de ser convencido de un accidente real.

Es más probable que sea:

  • El MIDlet no se crea o no se ha iniciado debido a que el tiempo de ejecución MIDP decide que no es correcto.
    o
  • El MIDlet simplemente lanza una excepción que no se captura, lo cual puede hacer que parezca que se terminó brutalmente.

Desde el instalador MIDlet se supone que debe impedir la instalación de una mala MIDlet, el tema excepción no detectada es más probable.

¿Cómo encontrar una excepción no capturada:

  • Comenzar con el más simple HelloWorld MIDlet, utilizando un Form para que pueda insertar fácilmente más StringItems en la parte superior de la pantalla.
  • Crear y activar una nueva Thread en MIDlet.startApp()
  • En su reemplazo de Thread.run(), añadir un bloque try{}catch(Throwable){}.
  • Dentro de ese bloque, lo que sea su MIDlet original, lo hizo.
  • Usar la forma como su salida estándar para la depuración.

Puede usar el Formulario de registro para asegurarse de que no introduce un bucle infinito, a clases de excepción de visualización y mensajes, con los hitos lógicas bandera, para mostrar los valores de variables ...

Ese es el primer paso para averiguar lo que está pasando.

También enfrentado a un problema similar y cuando recompilado mi MIDlet como Midlet 1.0 a continuación, funcionó bien. Parece N70 no es capaz de ejecutar la nueva versión del MIDlet. Creo que se degrade y repetición de la prueba de su MIDlet.

Regards

Junaid

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top