viernes, 24 de agosto de 2012

#androidIO Hola mundo en Android

Aquí os dejo la segunda entrega de nuestros amigos de desarrollo web.
Perfectamente explicado, como generar nuestra primera aplicación en Android, Nuestro primer Hola Mundo!!
Espero ansioso el Lunes 3 de septiembre a la siguiente entrega.



Toda la info en:
http://www.desarrolloweb.com/en-directo/segundo-evento-desarrollo-androidio-7361.html

Primer #androidIO desarrollo Android desde cero!

Publico este AndroidIO de nuestros amigos de desarrollo web, ya que lo estoy siguiendo en directo y me parece un aporte grandísimo por su parte para la comunidad de desarrolladores y la cominidad Android en general, yo que soy un gran seguidor de este S.O. lo agradezco profundamente, ademas si su ayuda, no se si cuando empezaría a programar estos dispositivos.

Toda la teoría necesaria antes de comenzar a programar estos dispositivos, explicado a la perfección.



Toda la info en:
http://www.desarrolloweb.com/en-directo/introduccion-desarrollo-androidio-7344.html

miércoles, 1 de agosto de 2012

STOP 0x000000ED UNMOUNTABLE_BOOT_VOLUME



En ocasiones nuestro Windows nos da un pantallazo azul con el código de error

STOP 0x000000ED UNMOUNTABLE_BOOT_VOLUME

Pero no hay de que preocuparse ya que podremos recuperar el sistema de una forma sencilla y mas o menos rapida, tan solo nos sera necesario arrancar desde nuestro Cd de windows y darle a la R en la primera pantalla de instalación, desde allí nos arrancara la consola de sistema, en donde podremos escribir CHKDSK /R
Comenzara un chequeo del disco duro recuperando los sectores defectuosos, una vez termine escribiremos
exit
y se reiniciara el equipo, debiendo entrar en windows sin problemas

martes, 24 de julio de 2012

Recuperar Recovery

En ocasiones tenemos que formatear un ordenador, y por una circunstancia u otra, no arranca la partición de arranque, ni se hizo nunca la copia de la partición oculta en otro disco, por lo que nos encontramos en el dilema... Compro un nuevo S.O.? Le monto uno pirata??

Pues señores ninguna de las anteriores, tan solo nos es necesario poner como activa la partición del recovery, para ello tenemos multitud de programas en la red, como el partition magic, pero, para que buscar, descargar, e instalar un software que en ocasiones puede ser de pago, pudiendo hacerlo desde la consola del equipo, pues muy bien en unos sencillos pasos vamos a explicar como hacerlo.


  1. Lo primero como es lógico arrancar el ordenador, y desde el propio sistema operativo ir a inicio y en el cuadrito de búsqueda teclear cmd y pulsar enter.
  2. se nos abrirá la ventana de comandos, en la que deberemos teclear Diskpart y se nos abrirá una nueva ventana.
  3. Teclearemos list volume y veremos todos los volumenes de nuestro disco.
  4. Teclearemos select volume "X" Sustituyendo la "X" por el numero de volumen que queramos poner como activo en esta caso seria el recovery quedando algo así como select volume 4
  5. teclearemos active y asi nos quedara activa esa partición.
  6. si volvemos a teclear list volume veremos un * al lado de la partición seleccionada
  7. terminaremos tecleando exit y reiniciando la maquina
Si todo ha ido bien y no esta el recovery dañado al reiniciar nos arrancara la partición oculta y podremos restaurar el equipo a su estado original de fabrica

Probado con un win 7 32X en un HP Pavilion 9000
En teoria debe funcionar En todos los Win vista y 7

martes, 24 de abril de 2012

Combo o Select en formulario Zend Dinamico

Al igual que en el anterior, deberemos copiar este código:

     $parametros= new Application_Model_Parametros();
     $valor = $parametros->TodoMochila();
    $this->addElement(
        'select','TipoObjeto',array(
            'label' => 'Tipo de Objeto',
            'value' => 'parametro',
            'multiOptions' => $valor
               
            )
    ); 
En el que  declaramos una variable llamada parametros, para inicializar un modelo que tenemos creado llamado paramatros, después declaramos otra variable llamada valor y la llenemos con los valores que nos devuelve un Action que tenemos dentro de parametros, llamado TodoMochila, añadimos el select como vimos en el punto anterior, y a los valores (multiOptions) le asignamos la variable Valor, con todos los datos de nuestro action.

Es muy importante que nuestro action solo nos devuelva 2 columnas, ya que el select no puede gestionar mas de 2 columnas y nos devolvería un error, o no se mostraría el formulario directamente.

Combo o Select en formulario Zend

Para poder sacar un Select estático en un formulario Zend deberemos añadir el siguiente codigo:

    $this->addElement(
        'select','TipoObjeto',array(
            'label' => 'Tipo de Objeto',
            'multiOptions' => array(
                '1'=>'Opcion1',
                '2'=>'Opcion2')
            )
    ); 

en donde le decimos que nos añada un nuevo elemento, que es del tipo Select, con el nombre TipoObjejo, le añadimos un label con el mismo nombre, y le damos las opciones en un array.

viernes, 20 de abril de 2012

Zend - Paginar resultados

Según vallamos insertando datos llegara un momento en que tengamos demasiados, como para poderlos mostrar de una vez, y si lo hacemos sobrecargaríamos demasiado la pagina, Zend también ha pensado en ello, y nos pone a nuestra disposición su Paginator
Podemos ver todas las Herramientas que tiene Zend en:
http://framework.zend.com/manual/en/
Concretamente vamos a hablar del paginador, así que iremos a:
http://framework.zend.com/manual/en/zend.paginator.usage.html

lunes, 16 de abril de 2012

Borrar y editar

Ya sabemos ver e insertar los datos, ahora nos queda borrar y editar, para ello seria buena idea en nuestra vista de mostrartodo agregar 2 "botones" uno por cada acción
por lo que deberemos abrir: application/views/scripts/tabla prueba y allí el archivo mostrartodos.phtml
en el que deberemos incluir el siguiente código justo debajo de <td>Comentario</td>:

            <td></td>
            <td></td>
simplemente son 2 celdas mas  para que no se nos desmonte el diseño.
y debajo de :

                echo "<td>";
                echo $datos->Comentario;
                echo "</td>";
esto otro:
echo '<td><a href="http://localhost/ZendPrueba/public/tablaprueba/editar/Id/'. $datos->Id .'">Editar</a></td>';
echo '<td><a href="http://localhost/ZendPrueba/public/tablaprueba/borrar/Id/'. $datos->Id .'" >Borrar</a></td>';
como veis son 2 enlaces a las nuevas vistas que crearemos mas adelante y le pasamos el id con el que queremos trabajar vía post.
Lo siguiente que debemos hacer es crear las acciones de editar y borrar, vamos a empezar con editar, para ello deberemos ir a nuestro controlador, que estaba en: application/controlers; y se llamaba TablaPruebaController.php
y copiaremos el siguiente código:

        public function editarAction()
    {
        if (!$this->_hasParam('Id')){
            return $this->_redirect('http://localhost/ZendPrueba/public/tablaprueba/mostrartodo');
        }

        $form = new Application_Form_TablaPrueba();
        $datos =new Application_Model_PruebaZF();
       
        if ($this->getRequest()->isPost()){
            if ($form->isValid($this->_getAllParams())){
                $model =new Application_Model_PruebaZF();
                $model->Guardar($form->getValues());
                return $this->_redirect('http://localhost/ZendPrueba/public/tablaprueba/mostrartodo');
            }
        }else{
            $Fila = $datos->DameFila($this->_getParam('Id'));
            if ($Fila){
                $form->populate($Fila->toArray());  

            }
           
        }
        $this->view->form = $form;
    }

Es muy similar al de Insertar, de hecho es el mismo con algunas mejoras, marcadas en negrita, que paso a explicar:
Lo primero que nos encontramos es un condicional, en el que preguntamos si nos viene el parámetro Id, en caso de que no nos venga, le mandamos a mostrartodo.
Un poco mas abajo instanciamos nuestro modelo, que recordemos es el que trabaja con los datos.
Para finalizar si el formulario no nos manda datos los obtenemos nosotros, para asi poder rellenar el formulario con los datos del Id que hemos solicitado, guardando los datos en la variable $Fila, que los obtiene por la función DameFila (la cual todavía no existe ahora la creamos); comprobamos que Fila tenga datos, y se los damos al formulario con la función populate

El siguiente paso es crear la función DameFila en nuestro modelo, para ello iremos a: application/models; y abriremos el único que tenemos (PruebaZF.php) y copiaremos el siguiente código:

    public function DameFila ($Id)
    {
        $Id = (int)$Id;
        $Fila = $this->find($Id)->current();
        return $Fila;
    }
En el que creamos la funcion DameFila, y le pasamos como parametro el Id.
En la priemra linea de la funcion obligamos a que el Id sea un numero, asi nos aseguramos de no hacer peticiones extrañas a la base de datos, ya que nuestro Id siempre sera un numero.
En la siguietne guardamos la Fila entera en nuestra variable
Y para finalizar devolvemos la variable, que es lo que le va a llegar al Controlador

Hecho esto nos quedaris hacer la vista, para ello haremos click derecho sobre application/views/scripts/tablaprueba/insertar.phtml y le daremos a copiar, para despues copiar en la carpeta TablaPrueba poniendole el nombre de editar.phtml
Con esto ya podemos ver nuestros datos para despues editarlos, pero aun no lo podemos guardar, para poder guardarlos iremos a nuestro modelo, y editaremos la función de guardar, para dejarla asi:

    public function Guardar($datos , $Id =null)
    {
        if (is_null($Id)){
            $row =$this->createRow();
        }else{
            $row = $this->DameFila($Id);
        }

       
        $row->setFromArray($datos);
        return $row->save();
    }
Como antes marco en negrita los cambios; estamos pidiendo una variable mas "Id" la cual no tiene por que pasarse siempre, y si no se pasa, sera nula; si es nula, creamos la fila, tal y como hacíamos antes, si no es nula, llamamos a nuestra función DameFila, para así obtenerla, y después guardar con los nuevos datos.
Como en el Controlador, no le dábamos el Id al modelo debemos pegar el siguiente código:
$model->Guardar($form->getValues(),$this->_getParam('Id'));
Sustituyendo:
$model->Guardar($form->getValues());
Ya podemos probar a editar los valores que tengamos insertados
Para finalizar este post nos queda comentar como Borrar los registros, para ello iremos a nuestro controlador, y pegaremos este código:

        public function borrarAction()
    {
        if  (!$this->_hasParam('Id')){
            return $this->_redirect('http://localhost/ZendPrueba/public/tablaprueba/mostrartodo');
        }
       
        $Datos =new Application_Model_PruebaZF();
        $Fila = $Datos->DameFila($this->_getParam('Id'));
       
        if($Fila){
            $Fila->delete();
           
        }
        return $this->_redirect('http://localhost/ZendPrueba/public/tablaprueba/mostrartodo');
    }

 En el que miramos si nos viene el parámetro Id, y si no, lo redirigimos a mostrartodo, después instanciamos el modelo, para pedirle los datos mediante la función DameFila; si Fila tiene existe, la borramos, y terminamos redirigiendo a mostrartodo

sábado, 14 de abril de 2012

Formularios e insertar datos

En el anterior post ya vimos como mostrar los datos, aunque desgraciadamente no teníamos nada guardado en nuestra base de datos, ahora vamos a crear un formulario para agregarlos y poderlos ver en la vista que ya hicimos.
Normalmente en la misma pagina que se ven los datos hay un botón de añadir, o editar, y puede que ambos, de momento vamos a poner solo un enlace que nos lleve a nuestra función de insertar, para ello, copiaremos el siguiente código justo al donde termina la tabla, en nuestra pagina de mostrartodo.phtml quedando algo así:

</table>
<a href="http://localhost/ZendPrueba/public/tablaprueba/insertar">insertar</a>

Si le hacemos click nos llevara hasta nuestra vista de insertar, aunque todavia no la hemos creado, por lo que debe dar error, vamos a ello, pero antes, debemos crear el formulario que nos va a permitir ingresar los datos

Modelos y ver datos dinamicos

Por fin vamos a empezar con las paginas dinamicas, para ello usaremos la base de datos que hemos creado hace un momento.

Lo primero que necesitamos es habilitar en la configuración el uso de datos, para ello en application.ini (ya sabemos dnd esta) y escribiremos lo siguiente, en la etiqueta de Production

resources.db.adapter = 'PDO_Mysql'
resources.db.params.host = 'localhost'
resources.db.params.username = 'Rogama'
resources.db.params.password = '1234'
resources.db.params.dbname = 'rogama_pruebazf'

  1. La primera linea nos dice que tipo de base de datos estamos usando, si no es MySql deberemos cambiarlo por la correspondiente