Buenas a todos,
El problema es simple, tenéis conectado el móvil al pc y cuando ejecutáis "adb devices", en la lista de dispositivos aparece lo siguiente:
List of devices attached
304D45C73C30202F offline
Al menos en mi caso, el problema radicaba en el cable usb de conexión, únicamente me servía para cargar el móvil. Lo cambié por otro, volví a ejecutar el comando "adb devices" y se conectó sin problemas.
List of devices attached
304D45C73C30202F device
Un saludo a todos!!
miércoles, 8 de enero de 2014
sábado, 2 de noviembre de 2013
Magic quotes en PHP
Buenas a todos!!
Os voy a hablar sobre Magic quotes, de hecho si habéis llegado hasta aquí, con toda probabilidad lo que queréis es desactivarlas!! (y casi seguro ya habéis perdido algún tornillo por el camino)
Magic quotes es el mecanismo automático por el que PHP transforma cadenas que contengan comillas en cadenas donde las comillas están escapadas con barras, os pongo en situación:
El cliente envía por ejemplo una petición al servidor con una variable llamada json y transferida mediante post:
json={"id":"1","name":"Magic Quotes"}
En el servidor recogéis este json de la siguiente forma:
$obj = json_decode($_POST["json"]);
Y accedéis a los valores así:
echo $obj->{'id'};
echo $obj->{'nombre'};
Esto es perfecto, porqué en local con seguramente no tenéis magic quotes activado... Ahora bien!! Muchos servidores php de producción por cuestiones de seguridad tienen activada esta opción, y es cuando vuestros servicios json dejan de funcionar, y no sabéis por qué razón en concreto.
Hay varias formas de desactivar Magic quotes, mediante el .htaccess o mediante el php.ini. El problema es que no siempre tendréis acceso a estos ficheros y realmente por seguridad es mejor que no desactivéis esta opción.
Pero php proporciona una función muy simple para poder regenerar el string al que se han añadido los carácteres de escape para las comillas, stripslashes(str):
$obj = json_decode(stripslashes($_POST["json"]));
Haciendo esto conseguimos obtener correctamente el json, no se genera ningún error, y magic quotes sigue activado.
Espero que os sirva de ayuda, si tenéis cualquier duda mandad comentarios!
Un saludete a todos!
lunes, 16 de septiembre de 2013
50 mil visitas!
Buenas a todos!! Hemos rebasado las 50 mil visitas!!
En el último año hemos pasado de 400 visitas mensuales a 3500!
Gracias a todos los que visitáis el blog, espero que os sea de ayuda!
En el último año hemos pasado de 400 visitas mensuales a 3500!
Gracias a todos los que visitáis el blog, espero que os sea de ayuda!
viernes, 7 de junio de 2013
JQuery: cache de variables
Buenas a todos!
Cuando trabajamos exhaustivamente con JQuery es muy importante no estar haciendo consultas al árbol del documento HTML constantemente para trabajar con los mismos elementos, ya que cada consulta tiene un coste y desciende el rendimiento. Pensad que el operador $ es una función, y que cuando ponéis un string realiza un parseo para determinar si se trata de una consulta de ids, elementos de una misma clase css, elementos con el mismo tag, etc.
En el siguiente ejemplo, tenemos un campo input con id "username" y un botón con id "bt_validate", y vamos a añadir una serie de funcionalidades.
Al principio mostraremos sobre el campo username un mensaje, y cuando cliquemos sobre el camp, se borrará su contenido, el botón validará si el contenido del campo username tiene más de 6 letras.
Como podéis ver, es necesario acceder varias veces al elemento input, para modificar su valor, para consultar su valor o para añadir un evento click. En todos estos casos tendría que llamar a la función de jquery $("#username") para obtener el input y así trabajar con él.
En vez de eso creamos la variable input_username y cacheamos el objeto de jquery asignándolo a esta variable, gracias a esto evitamos tener que ejecutar la función de jquery que retorna el elemento, cosa que mejora el rendimiento.
De igual forma se ha realizado lo mismo con el botón, usando la variable "button".
En programas pequeños puede que no notéis mejoría, pero cuando tenéis que procesar mucha información, esto puede ser un factor clave para mejorar tiempos de ejecución.
Un saludo a todos!
Cuando trabajamos exhaustivamente con JQuery es muy importante no estar haciendo consultas al árbol del documento HTML constantemente para trabajar con los mismos elementos, ya que cada consulta tiene un coste y desciende el rendimiento. Pensad que el operador $ es una función, y que cuando ponéis un string realiza un parseo para determinar si se trata de una consulta de ids, elementos de una misma clase css, elementos con el mismo tag, etc.
En el siguiente ejemplo, tenemos un campo input con id "username" y un botón con id "bt_validate", y vamos a añadir una serie de funcionalidades.
Al principio mostraremos sobre el campo username un mensaje, y cuando cliquemos sobre el camp, se borrará su contenido, el botón validará si el contenido del campo username tiene más de 6 letras.
<html>
<head>
<title>JQuery cache de variables</title>
<script src="http://code.jquery.com/jquery-2.0.2.min.js"></script>
</head>
<body>
<input id="username" type="text"/>
<input id="bt_validate" type="button" value="Validar"></input>
<script languaje="JavaScript">
var input_username, button;
function init(){
input_username = $("#username");
button = $("#bt_validate");
input_username.val("Introduce tu username");
input_username.click(function(){
input_username.val("");
});
button.click(function() {
if(input_username.val().length > 6)
alert("username válido!");
else alert("Faltan carácteres");
});
}
window.onload = init;
</script>
</body>
</html>Como podéis ver, es necesario acceder varias veces al elemento input, para modificar su valor, para consultar su valor o para añadir un evento click. En todos estos casos tendría que llamar a la función de jquery $("#username") para obtener el input y así trabajar con él.
En vez de eso creamos la variable input_username y cacheamos el objeto de jquery asignándolo a esta variable, gracias a esto evitamos tener que ejecutar la función de jquery que retorna el elemento, cosa que mejora el rendimiento.
De igual forma se ha realizado lo mismo con el botón, usando la variable "button".
En programas pequeños puede que no notéis mejoría, pero cuando tenéis que procesar mucha información, esto puede ser un factor clave para mejorar tiempos de ejecución.
Un saludo a todos!
jueves, 6 de junio de 2013
JQuery: cambiar una imagen
Buenas a todos!
Cambiar una imagen con jquery es un recurso muy sencillo que puede hacer más dinámico el diseño de vuestra web.
Supongamos que tenéis un elemento img con id "mi_imagen", cuyo atributo src apunta a imagen_1.png, y queréis que la imagen cambie por imagen_2.png:
Es importante que en elemento img incluyáis un id, es lo que utilizamos para indicar a qué elemento de la página vamos a modificarle su atributo src:
La función attr indica que vamos a modificar el valor de algún atributo del elemento, en el primer parámetro indicamos qué atributo, en este caso es 'src' y en el segundo parámetro indicamos su nuevo valor 'imagen_2.png'.
Con esto ya está!!
Así por ejemplo si queréis que al pulsar sobre la imágen, cambie a la segunda imágen podéis hacer:
Un saludo a todos!
Cambiar una imagen con jquery es un recurso muy sencillo que puede hacer más dinámico el diseño de vuestra web.
Supongamos que tenéis un elemento img con id "mi_imagen", cuyo atributo src apunta a imagen_1.png, y queréis que la imagen cambie por imagen_2.png:
<img id="mi_imagen" src="imagen_1.png"/>Es importante que en elemento img incluyáis un id, es lo que utilizamos para indicar a qué elemento de la página vamos a modificarle su atributo src:
$('#mi_imagen').attr('src','imagen_2.png');La función attr indica que vamos a modificar el valor de algún atributo del elemento, en el primer parámetro indicamos qué atributo, en este caso es 'src' y en el segundo parámetro indicamos su nuevo valor 'imagen_2.png'.
Con esto ya está!!
Así por ejemplo si queréis que al pulsar sobre la imágen, cambie a la segunda imágen podéis hacer:
<img id="mi_imagen" src="imagen_1.png" onclick="$('#mi_imagen').attr('src','imagen_2.png');">Un saludo a todos!
JQuery: consultar el contenido de un div
Buenas!
Consultar el contenido de un div puede seros útil en una gran variedad de situaciones.
Por ejemplo para el duplicado de divs, para ver si un div tiene o no tiene contenido, para guardar el contenido temporalmente y mostrar otro en su lugar, etc.
Con JQuery es muy sencillo, supongamos que tenemos un div con id 'contenido', y queremos guardar su contenido en una variable 'c':
<div id="content">Este texto está en el div content</div>
Es tan simple como esto:
var c = $("#content").html();
Ahora si queréis por ejemplo mostrar ese contenido en otro div con id 'contenido_duplicado', tan sólo tenéis que hacer lo siguiente:
$("#contenido_duplicado").html(c);
Es importante tener presente que la función que retorna el contenido de un div, retorna el código html que contiene, es decir, si el div contiene tags como imágenes, tablas, u otros elementos, serán incluidos en el string retornado.
Un saludo a todos!
Consultar el contenido de un div puede seros útil en una gran variedad de situaciones.
Por ejemplo para el duplicado de divs, para ver si un div tiene o no tiene contenido, para guardar el contenido temporalmente y mostrar otro en su lugar, etc.
Con JQuery es muy sencillo, supongamos que tenemos un div con id 'contenido', y queremos guardar su contenido en una variable 'c':
<div id="content">Este texto está en el div content</div>
Es tan simple como esto:
var c = $("#content").html();
Ahora si queréis por ejemplo mostrar ese contenido en otro div con id 'contenido_duplicado', tan sólo tenéis que hacer lo siguiente:
$("#contenido_duplicado").html(c);
Es importante tener presente que la función que retorna el contenido de un div, retorna el código html que contiene, es decir, si el div contiene tags como imágenes, tablas, u otros elementos, serán incluidos en el string retornado.
Un saludo a todos!
JQuery: cambiar el contenido de un div
Buenas a todos!
Cambiar el contenido de un div se ha convertido en algo esencial para la programación de páginas web. Permite que la información que mostramos sea más dinámica sin necesidad de recargas.
Con JQuery es bastante simple, supongamos que tenemos un div cuya id es "contenido" y queremos cambiar el texto que muestra:
El símbolo '#' indica que se trata de una id.
La función html() permite que pongáis directamente tags de html en su interior, incluso podéis añadir otros divs, tablas, imágenes, enlaces, etc.
$("#contenido").html("<img src='imagen.png'/>");
Eso es todo!
Cambiar el contenido de un div se ha convertido en algo esencial para la programación de páginas web. Permite que la información que mostramos sea más dinámica sin necesidad de recargas.
Con JQuery es bastante simple, supongamos que tenemos un div cuya id es "contenido" y queremos cambiar el texto que muestra:
$("#contenido").html("Contenido del div cambiado");
Así de simple!El símbolo '#' indica que se trata de una id.
La función html() permite que pongáis directamente tags de html en su interior, incluso podéis añadir otros divs, tablas, imágenes, enlaces, etc.
$("#contenido").html("<img src='imagen.png'/>");
Eso es todo!
Suscribirse a:
Entradas (Atom)
