sábado, 31 de mayo de 2014

Preprocesadores JS

Hoy simplemente os traigo una pregunta; acabo de terminar la lectura del Pequeño gran libro  de CoffeScript si todavía no lo habéis leído os recomiendo su lectura, por lo que lo primero es dar las gracias a Javi Jimenez por escribirlo y mas aun dejándolo gratis aunque con posibilidad de donación, que sin duda vale los 5$ que el sugiere o mas.
Por otro lado hoy en día esta en la boca de todo el mundo el uso de los preprocesadores, los hay para CSS como SASS o LESS que ya hablamos en algún apartado de ellos, especialmente de LESS, los tenemos para HTML como HAMM, y para JS, que sinceramente soy un novato en este tema y no he encontrado gran información, aparte de CoffeScript.

La pregunta que quiero lanzaros es
¿Vosotros usáis preprocesadores de algún tipo en vuestros desarrollos?
¿Cuales?¿Por Que?

Sobre preprocesadores JS, ¿Cuales conoces?¿Cual crees que acabara ganando la batalla?

jueves, 22 de mayo de 2014

Activar conexión por USB Galaxy S4

Aveces puede ocurrir que no nos reconoce nuestro PC al conectar por USB nuestro Galaxy S4.

  • Para solucionar esto deberemos ir al menu de marcacion, y alli teclear *#0808#
  • Seguido a esto se nos abrira una ventana en la que deberemos seleccionar AP, y en la parte inferior MTP

Habilitar menu desarrollador en Galaxy S4

Todos los que tenemos un Galaxy S4 e intentamos desarrollar con el, nos ha pasado, o pasara, que no encontramos el menu desarrollador, para asi poder habilitar la depuracion por USB, por lo que tenemos 2 opciones.
  1. Crear el APK e instalarlo con cada prueba
  2. Volvernos locos e intentar activarlo a cualquier coste
Si eres de los que les gusta el riesgo, toma la segunda opcion, para ello tenemos que seguir 3 pasos
  • Iremos a ajustes, y alli a la pertaña Mas
  • Bajaremos hasta la opcion Acerca del dispositivo
  • Buscaremos Numero de compilacion, y pulsaremos encima 7 veces (a partir de la 4 o 5 nos aparecera un mensaje "Toast" que nos dira cuantas veces nos hace falta seguir pulsando)
  • Si volvemos hacia atras, ya tenemos nuestro querido menu habilitado, tan solo tendremos que marcar las opciones que querramos


fuente:

sábado, 17 de mayo de 2014

java.lang.IllegalStateException: Could not find a method Close(View) in the activity - Android

Muchos de nosotros estamos acostumbrados a poner un botón de cerrar en nuestras vistas, dicho botón, lo solemos vincular en el método OnClick con un método Close, como en la siguiente linea.
android:onClick="Close"
Esto nos lleva a escribir un método similar al siguiente:
    public void Close() {
        finish();
    }
Pero ese código nos lanzara un error de este tipo:
java.lang.IllegalStateException: Could not find a method Close(View) in the activity 
Esto es debido a que probablemente por las prisas hallamos olvidado que nuestro método necesita que se le pase una vista, por lo que el código correcto seria:
    public void Close(View view) {
        finish();
    }

viernes, 16 de mayo de 2014

you need to use a theme.appcompat theme (or descendant) with this activity - Android

En ocasiones podemos encontrarnos con un error como este:
unable to start activity componentinfo
.....
you need to use a theme.appcompat theme (or descendant) with this activity
esto es debido a que probablemente estemos usando un tema personalizado en una Activity, que en realidad es un ActionBarActivity, esta ultima clase necesita usar el tema appCompat, por lo que deberemos ir a nuestro manifest, y editar el Theme de la actividad a lo siguiente
android:theme="@style/Theme.AppCompat" >
Aunque también podemos hacer que nuestra actividad extienda de Activity en lugar de ActionBarActivity, para ello habría que cambiar
public class MainActivity extends ActionBarActivity {
por
public class MainActivity extends Activity {
Escogeremos en cada caso la opción que mas nos interese

miércoles, 14 de mayo de 2014

Acceder a recursos de un Fragment desde un Activity mediante findById - Android

Hoy os dejo algo que me ha llevado un buen rato.
Todos los que aprendimos o hicimos nuestros pinitos hace ya algun tiempo con Android aprendimos que para "linkar" un elemento de una activity a nuestro archivo java, para poder trabajar con el, ya sea un botón, un Text View o cualquier otra cosa accediamos con un codigo similar a este.
salida = (TextView)findViewById(R.id.textView1);
Esto mismo normalmente lo colocabamos en el onCreate de nuestro Activity, pero desde hace ya algun tiempo lo que se viene usando son los Fragment, un fragment viene siendo una parte de lo que se va a ver en el Activity, puede ser el 100% o una pequeña parte, asi un Activity, puede estar formado por 1 o mas Fragment, en resumidas cuentas eso es lo que es.

Pues bien el problema esta en que si desde nuestro Activity, intentamos llamar a un textView que esta en nuestro Fragment como en el ejemplo superior, nos dara un error de tiempo de ejecucion, y si lo bicheamos un poco, veremos que aunque R.id.textView1 tiene un valor hexadecimal, a nuestra variable Salida sigue con null, esto es debido a que desde nuestra Activity no podemos acceder a los elementos del Fragment, para ello deberemos ir a la clase PlaceHolderFragment que nos ha creado Eclipse, y llamarlo desde alli como en el codigo que os dejo a continuación

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {
        public PlaceholderFragment() {
        }
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            entrada = (EditText)rootView.findViewById(R.id.numEntrada);
            salida = (TextView)rootView.findViewById(R.id.numSalida);
            return rootView;
        }
    }
Espero os sirva de ayuda

Tambien os dejo el ejemplo completo y funcionando
https://github.com/rogama/Android---vista-boton-fragment

asi era como se hacia sin los Fragment
https://github.com/rogama/Android/tree/master/MasVistas