miércoles, 11 de noviembre de 2015

This class should provide a default constructor (a public constructor with no arguments) - SQLITE

Si habeis llegado hasta aquí buscando solución a este error a la hora de generar el archivo apk-release de vuestra app, es que estaís tan desesperado como yo lo estuve :) En mi caso por lo menos, el error estaba en el AndroidManifiest.xml, en la declaración de las actividades. Si teneis declaradas como actividades las clases extendidas de SQLiteOpenHelper o de CursorAdapter, quitadlas del AndroidManifiest.xml, borrad todo lo referente a la actividad, "<activity......<activity/>", y volved a intentar generar el apk.

Lamento no poder explicar el porqué de este error, todavía no tengo conocimientos tan profundos. Dejo el link donde ví la luz...

http://stackoverflow.com/questions/31118464/got-this-error-this-class-should-provide-a-default-constructor-for-dbhelper

martes, 10 de noviembre de 2015

forzar portrait / landscape en una actividad android

Para forzar a una actividad que muestre su correspondiente layout portrait/landscape tendremos que editar el AndroidManifiest.xml y añadir en el apartado de la correspondiente actividad lo siguiente:

<activity     
   android:name=".PrincipalActivity2" 
   android:screenOrientation="portrait" <-- añadir esta linea     
   android:label="@string/title_activity_principal_activity2" >
</activity>

Añadiremos la línea señalada arriba, ya sabeis, "portrait" para vertical y "landscape" para horizontal.

capturar boton atras android listener

Para capturar el botón "atras" del sistema android utilizaremos un método bastante fácil y simple ya implementado, basta con que lo pongamos en la actividad en la cual queremos capturar el botón "atras":

@Override
    public void onBackPressed() {
    super.onBackPressed();
    Intent i = new Intent (EdiciontiendaActivity.this, ListadotiendasActivity.class);
    i.putExtra("marca", false);
    startActivity(i);
    finish();
}

En este ejemplo al presionar el botón "atras" ejecutaremos el intent "i" el cual nos llevara a otra actividad mandándole como dato un booleano con la descripción "marca", y luego cerraremos la actividad origen con finish().