jueves, 8 de marzo de 2012

Error Failed to install *.apk on device 'emulator-*': timeout

Ultimamente me esta saliendo este error:
Failed to install Pruebawv.apk on device 'emulator-5554': timeout Launch canceled!
La solución que he encontrado ha sido cambiar el valor de "ADB connection time out".
Para cambiar este valor hay que pasar por los siguientes menus: Eclipse->Window->Preferences->Android->DDMS->ADB connection time out (ms) = 5000
Cambiarlo a 10000.
http://stackoverflow.com/questions/4775603/android-error-failed-to-install-apk-on-device-timeout

Si así tampoco va la cosa, otra opción es reiniciar el adb.
Cierro el emulador. Desde la linea de comandos y si adb.exe esta en el path se ejecuta lo siguiente:
adb kill-server
adb start-server
Es posible que mientras se hace esto en Eclipse aparezca:
DeviceMonitor]Connection attempts: 1
DeviceMonitor]Connection attempts:2
...
Supongo que será porque no consigue enlazar con el adb despues de haber matado el proceso.


miércoles, 7 de marzo de 2012

Notificaciones emergentes "Toast"

No se porque lo habran llamado "toast" los americanos estan locos supongo. Pero en fin esto se usa para sacar un ventana emergente que se pinta sobre todo lo demás durante un momento. Yo esto lo estoy usando cuando se produce algun proceso largo en el que no hay ningun cambio en pantalla. Como si una barra de progreso se tratara pero en simple. Me sirve para que el usuario sepa que el programa esta vivo haciendo algo. El ejemplete:
Toast tostada = Toast.makeText(

  context, " - Estoy tardando, comprate un movil mas rapido o espera a que acabe. - ",

    Toast.LENGTH_LONG);

tostada.setGravity(Gravity.CENTER|Gravity.CENTER,0,0);

tostada.show();

Enlaces referentes a esto:

viernes, 2 de marzo de 2012

¿Que ha pasado? “Hot Code Replace Failed”

Que has cambiado algo despues de empezar el "deploy" cuando ibas a debugear.
Sale un dialogo y te pregunta:
¿Continue, terminate o disconnect? ¿Que mierdas hace cada opción?
Continue: Aceptas que los cambios que acabas de hacer no seran tenidos en cuenta en la sesion de debugeo y continuas.
Terminate: Matas la aplicación.
Disconnect: No matas la aplicación, que continua ejecutandose en el emulador. Pero no continuas con la sesión de debugeo.

jueves, 1 de marzo de 2012

Mezclar una actividad "normal" con otra libGDX

Esto todavia no lo he probado. Debería funcionar a base de intentos. Parece que llamar a la actividad libGDX desde la actividad "normal" se hace así:

 intent = new Intent(view.getContext(), GdxView.class);

No tengo tan claro como pasar de la actividad libGDX a la actividad "normal". Ni que pasa cuando el juego se queda en el estado pause. Supongo que el sistema operativo se lo podria cargar si le faltara memoria.

Abrir una actividad desde otra actividad de la misma aplicación.

Hay que crearse dos actividades en una aplicación. En el AndroidManifest.xml hay que añadir una actividad. Debe quedar algo asi:


    

    
    
        
            
                
                
            
        
        
    

En la primera actividad metemos un botón el cual hará que al pulsarlo se pase a la segunda actividad. Algo así:
@Override
 public void onCreate(Bundle savedInstanceState)
 {
  try
  {
   super.onCreate(savedInstanceState);
   requestWindowFeature(Window.FEATURE_NO_TITLE);
   setContentView(R.layout.main);
   botoncambiActividad = (Button) findViewById(R.id.button1);
   webView = (WebView) findViewById(R.id.webView);
   botoncambiActividad.setOnClickListener(new View.OnClickListener()
   {
    public void onClick(View view)
    {     
     Intent myIntent = new Intent(view.getContext(),
       PruebawvActivity2.class);
     startActivityForResult(myIntent, 0);
    }
   });   
  } catch (Exception ex)
  {
   Log.d("Excepcion", ex.toString());
  }
 }