Si lo puedes soñar, lo puedes programar

lunes, 8 de junio de 2015

7 Actividad "Desarrollo de interfaces" - Layouts: RelativeLayout y GridLayout

Continuando con los Layouts en Android, realizamos la siguiente actividad.

El layout principal estará compuesto de dos layouts, uno de tipo  RelativeLayout para álbumes y otro de tipo GridLayout para fotos .
- El marco que envuelve a cada álbum tiene un ancho de 10dp.
- El marco que envuelve los álbumes tiene un ancho de 10dp.
- El marco que envuelve las fotos tiene un ancho de 5dp.
- Opcional: si las fotos no caben en una página, se debe poder navegar hacia abajo y hacia arriba.      Observar como en la segunda imagen hemos desplazado hacia abajo lo que se ve, utilizando un ScrollView.


Share:

miércoles, 3 de junio de 2015

Proyecto final de grado



El proyecto final  DevManager, corresponde a la asignatura Proyecto de Desarrollo de Aplicaciones Multiplataforma del 2º y último curso de DAM.


La idea de este proyecto, surge de la necesidad de centralizar todos los accesos directos a blogs, así como a los perfiles de redes sociales, repositorios de Github y de paso, organizar todos los cursos que me encontraba siguiendo (de una forma un tanto desordenada).

Con los días y a medida que he ido avanzando en mis investigaciones, me han surgido nuevas ideas y necesidades para añadir al proyecto, con lo cual ha acabado convirtiéndose en un mini Manager para un developer Junior. 


En mi valoración personal del proyecto y contenido de la memoria, puedo decir que me siento muy satisfecha con el trabajo realizado. Existen otras dos razones de peso para mí, la primera es la satisfacción de finalizar el Grado, he logrado cerrar un ciclo, el de estudiante, para iniciar uno nuevo, el de ser profesional. La otra razón es la de haber realizado el proyecto sobre el tema que más me apasiona y me hace disfrutar, Android.

Durante el grado se aprenden diversas ramas de la informática y se profundiza más adelante en las que uno quiera, bien a nivel personal con nuestros propios medios, a nivel académico o cursos de formación.


Con el presente proyecto he profundizado en el lenguaje estudiado Android en la asignatura que me ha dado la libertad de elegir este tema, Programación multiplaforma, lo he realizado mediante dos formas, mis propios medios, investigando y documentándome sobre Android en Internet, y en menor grado con libros. 

Aquí dejo el link a una breve presentación y un video del funcionamiento de devManager.


Share:

domingo, 1 de marzo de 2015

6 Actividad "Desarrollo de interfaces" - Layouts: LinearLayout

El objetivo de esta actividad es familiarizarse con el concepto de Layout en Android y concretamente, con LinearLayout. El diseño es lo de menos y el color...suavicé un poco
el tema colocando un degradado de azules, pues había que seguir mas o menos el diseño que nos proporcionaban.



- El layout principal estará compuesto de dos layouts, uno para los colores y otro para las columnas.
- El marco azul que envuelve los colores tiene un ancho de 5dp.
- El marco negro que envuelve al marco azul (hasta el borde de la pantalla), tiene un ancho de 10dp.
- Las líneas verdes del layout de las columnas tienen un ancho de 10dp.

Aquí me compliqué un poco la vida y al no conocer mucho el tema de los layouts, localicé un tutorial que ayuda a colocar bordes a las etiquetas (textViews), botones, etc... a través de recursos.


Ampliaremos esta entrada mas adelante si es necesario, pues me resultó interesante, pero dado que esta actividad la realicé con eclipse y actualmente utilizo Android Studio, puede quedar  obsoleta una explicación extra.
Share:

5 Actividad "Desarrollo de interfaces" - Interfaz Biblioteca - Motor BBDD MySQL


   El objetivo de esta actividad es crear una interfaz similar a la de la actividad 4 anterior, pero que acceda a una base de datos desarrollada en MySQL para mostrar los datos.

En la siguiente entrada se va a explicar mediante capturas de pantalla y lo más brevemente posible el proceso realizado para crear una aplicación con Visual Studio y c#, que mostrará la ficha de un libro contenido en una Base de datos.
Para ello previamente se ha instalado MySQL server y se ha creado una Base de datos con su información, así como una conexión desde Visual Studio.

Debido a mi inexperiencia,  se me ha complicado en bastantes horas la instalación de MySql he decidido documentar un poco los pasos que he seguido para solventar los errores que han ido surgiendo para poder consultarlo de forma rápida  aquí en futuras instalaciones.  Dado que el informe ocupa 15 páginas dejaré el pdf generado para su descarga. 



Instalación de MySQL y resolución de  problemas

           
 En primer lugar procedí a la Descarga MySQL desde Softonic y su conector desde MySQL:
(Esta es la versión 6.0, en MySQL se encuentra la 5.6)


Instalando MySQL 6.0:
En el Config Wizard, cuando llega al último paso y después de introducir nuestra  clave para el user root, Hay cuatro puntos que debe checkear la configuración. Al llegar al punto de Start Service me lo marca con una cruz en rojo y me dice que "no puede iniciar el servicio de MySQL".
SOLUCIÓN:
1-      Cancelamos instalación, desactivamos el AV y el firewall de Windows.
2-      Procedemos a reinstalar. Es posible que nos ocurra lo mismo de nuevo.
3-      Desinstalar de nuevo, acudir a botón de inicio y teclear regedit en el cuadro de búsqueda para acceder a modificar el registro.
4-       Dentro de SYSTEM-services-MySQL


5-      Cuando desinstalas MySQL no  borra la carpeta DATA incluida en C:\Archivos de programa\MySQL\MySQL  
Hay que eliminar esta carpeta y procedemos a instalar de nuevo, así ya no debe dar problemas.

Una vez instalado hay que abrir los puertos de nuestro firewall para MySQL, este durante la instalación nos ha indicado que utiliza el 3306.

Vamos a firewall-Configuración avanzada y añadimos nueva entrada.


Después de conseguir que finalice la instalación sin errores, al ejecutar el command Line Client (cmd o consola), me solicita el password de root, pero pese a indicarlo correctamente me cerraba la consola sacando el siguiente error. Capturado a través de vídeo pues se cierra ultra rápida la consola. 


Para solucionar esto hay que modificar una línea en el localhost



Para ello vamos a C:\Windows\System32\drivers\etc\hosts
Hay que editar la entrada que pone 0.0.0.0  localhost que es la que causa el problema, debe quedar así: 120.0.0.1

Esta realiza la resolución de DNS de host "localhost" a la dirección IP 127.0.0.1.
Reiniciamos el equipo y a funcionar.
Finalmente, volví a desinstalar de nuevo todo, eliminando registros y demás para poder realizar una instalación limpia de nuevo.

Para concluir este capítulo, recomiendo instalar MySQL desde

Creación de Base de datos

              

               En esta fase de del proyecto, es dónde comenzamos a crear. Damos vida a nuestra
DB, rellenando sus entradas con algunos datos que necesitaremos extraer.
                No he utilizado PhpMy Admin que nos permite una gestión gráfica, he decidido crear la DB a través del  Command Line Client (cmd o consola) para recordar un poco las sentencias SQL necesarias y practicar de esta manera esta forma manualmente.
            Para agilizar un poco las inserciones, he creado en mi NotePad++ (o cualquier editor de texto sirve), todas las sentencias que voy a introducir poco a poco en la consola.

Creamos la base de datos, y la tabla


Realizamos los inserts correspondientes y un select para ver que tenemos
en la tabla  ya introducido.



El resto del diseño de la interfaz y la conexión de MySql se puede visualizar en el informe disponible para descarga mas arriba. 

Para concluir, diré que estoy muy cómoda trabajando con Visual Studio y seguiré profundizando con el cuando el tiempo me lo permita. (My To do list is increasing!!). 

Share:

4 Actividad "Desarrollo de interfaces" - Interfaz Biblioteca - Motor BBDD SQL Server

El objetivo de esta 4 actividad (la 1.4 según el seguimiento de la asignatura, pues cada actividad tiene varias subactividades)  es crear una interfaz gráfica que enlace con un motor de base de datos.

 Se realizará una interfaz similar a la propuesta por nuestro profesor, esta accederá a una base de datos desarrollada en SQL Server para mostrar los datos.

El resultado se puede ver en las siguientes capturas. 




Para conectar con SQL Server y diseñar la interfaz adjunto un vídeo dónde se puede entender cómo se ha realizado la aplicación. Este es uno de los primeros vídeos realizados y producidos por mí con lo cual puede ser muy básico.





Share:

domingo, 16 de noviembre de 2014

1A - Actividad ADD - Acceso a Datos.

En esta actividad, se solicita utilizar las funciones de gestión de la clase File. 


Para este programa se nos facilita la interfaz gráfica ya realizada, hay que implementar el código y los métodos necesarios, muestra el nombre, tipo (fichero o directorio), ubicación (path completo), fecha de última   modificación en formato fecha y si es oculto o no.
- Si es un fichero deberá mostrar su tamaño en bytes.
- Si es un directorio deberá mostrar el número de elementos que contiene,
espacio libre, espacio disponible y espacio total
- Hay una gestión de errores ( controlará que exista y que se tienen permisos).


Repaso Clase File de Java

Un mecanismo para localizar ficheros y gestionarlos es la técnica de árbol de carpetas, permite localizar sin equivocarse cada fihero.

En cada Sistema Operativo, en adelante S.O, se identifica de distinta forma:
  • Linux: /home/eri/fichero.txt
  • Windows: c:\Users\eri\fichero.txt
La clase File, NO representa el contenido de ningún fichero, si no que representa rutas del sistema de ficheros. Como representa rutas, puede hacer referencia a un fichero o un directorio. 

Esta clase, encapsula toda la funcionalidad para gestionar sistemas de ficheros en forma de árbol.

Existen distintos tipos de funciones/métodos de manipulación y consulta:
  • Funciones de la estructura jerárquica( Creación, eliminación, obtención de ubicación).
  • Funciones de las características de los elementos (Nombre, tamaño).
  • Funciones de los atributos de cada S.O (Permisos, atributos de ocultación).
Funciones para la obtención de información básica:
  • getName()                = Para obtener el nombre relativo del objeto file.
  • getAbsolutePath()   = Permite obtener el nombre/ruta absoluto       C:\projects\sandbox\trunk\test\..\.\file.txt
  • getCanonicalPath() =  Permite obtener el nombre/ruta                                      absoluto  C:\projects\sandbox\trunk\file.txt
  • list                             = Cuando el objeto file sea un directorio/carpeta, este método devuelve un objeto de array con el nombre de todos los archivos y carpetas que hay dentro de ese directorio. 
  • listFiles = Para saber más información de cada elemento que haya dentro de ese directorio. 







Share:

sábado, 15 de noviembre de 2014

Proyecto 2 PMM - Act2 Blog Analisis App

 

Escoger una App para analizar no es tarea fácil, pues en un primer momento piensas en un juego, pero hay más que juegos en el mundo de las apps y además nos encontramos con muchas categorías diferentes.


     Entre mis preferidas y más usadas se encuentra una de optimización, Clean Master (sí, la de la escobita). Todo el mundo conoce esta app por su icono, realmente ha funcionado el diseño. Ahora mismo dispongo de un teléfono con poca memoria Ram y esta app ayuda a acelerar la cpu del terminal, a vaciar la ram, cerrando apps que no se use, a eliminar archivos basura, a optimizar y gestionar el terminal android en general.  
Clean Master ha sido desarrollada por Cheetah Mobile , posee +2946514  recomendaciones de usuarios, y 17.316.924 valoraciones. Ocupa el lugar número 4 por descargas totales entre las apps que no están catalogadas en juegos a nivel mundial, después de Facebook, WhatsApp y messenger.

¿Quiénes son?

Cheetah Mobile es una compañía líder de Internet móvil con más de 340 millones de usuarios activos mensuales a partir de febrero de 2014.  Con sede en Beijing(China), nació en 2009 como spin-off(proyecto nacido como extensión de otro anterior) de Kingsoft.

Parte del éxito proviene probablemente de cuando llegó a ser el segundo mayor proveedor de software de seguridad de Internet en China según iResearch.
Utilizarían la BBDD de usuarios para enviar publicidad de la nueva app, se posicionarían previo pago los primeros en Google play y a esperar. Existe un foro donde solicitan ayuda a usuarios para probar las nuevas versiones http://www.androidpit.es/foro/561057/aplicaciones-apps-android-clean-master/page/2.

¿Cómo gana dinero Cheetah móvil?

 Al igual que Qihoo 360 (Qihu),  regala sus aplicaciones de servicios móviles de forma gratuita, pero genera ingresos a través de publicidad .
Cheetah ya es rentable, ganó 62 millones de yuanes en ingresos netos el año pasado. Morgan Stanley espera ver como Cheetah aumenta sus ingresos en un 90 a 100% por año en los próximos dos años.


Personalmente he probado muchas aplicaciones parecidas a este todo en 1, pues son de gran ayuda para acelerar el funcionamiento de nuestros terminales. 
Algunas de ellas son:

      Con estas aplicaciones he detectado en algunos casos que el % de optimizado del teléfono es falso, pues cierra procesos de android que se inician acto seguido de recibir el informe de optimización y volvemos a estar como antes. También he detectado que algunas de estas aplicaciones pesan mucho y gastan mas ram de la que liberan, debido a sus widgets y continuas actualizaciones, así como la introducción de publicidad encubierta de avisos de falsos virus  para hacer al usuario descargar un antivirus de la misma empresa. Ninguna se libra, aunque vuelvo siempre a Cleaner Master.
Es por esto que en breve intentaré realizar la mi propio “e-Optimizator” con las actividades necesarias para su objetivo acelerar y optimizar nuestro terminal.

Via:

http://www.xatakandroid.com/productividad-herramientas/clean-master-limpia-tu-android-de-forma-sencilla
Share:

Blogroll

BTemplates.com

Con la tecnología de Blogger.

Banner

Banner

Datos personales