Sounds War

-**-

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

martes, 24 de julio de 2012

Nuevas pruebas en Java

Todas las nuevas pruebas las iré publicando aqui: http://nandrolab.blogspot.com.es/p/pruebas.html

Vectores paralelos ordenamiento

Vectores paralelos ordenamiento

import java.util.Scanner;


public class vectorparalelo {

    private Scanner teclado;
    private String[] paises;
    private int[] habitantes;
    
    public void cargarValores(){
        paises= new String[5];
        habitantes= new int[5];
        teclado=new Scanner(System.in);
        for (int f=0;f<5;f++){
            System.out.println("Introducir país: ");
            paises[f]=teclado.next();
            System.out.println("Introducir número de habitantes: ");
            habitantes[f]=teclado.nextInt();
        }
    }
    
    public void ordenarAlfabeticamente(){        
        for (int k=0;k<paises.length;k++){
            for (int f=0;f<paises.length-1-k;f++){
                if (paises[f].compareTo(paises[f+1])>0){
                    String aux;
                    aux=paises[f];
                    paises[f]=paises[f+1];
                    paises[f+1]=aux;
                    int aux2;
                    aux2=habitantes[f];
                    habitantes[f]=habitantes[f+1];
                    habitantes[f+1]=aux2;
                }
            }
        }    
    }
    
    public void imprimir1(){
        System.out.println("Ordenado alfabéticamente el resultado es: ");
        for(int f=0;f<paises.length;f++){
            System.out.println(paises[f]+" - "+habitantes[f]);
        }        
    }
    
    public void ordenarNumHabitantes(){
        for(int k=0;k<habitantes.length;k++){
            for (int f=0;f<habitantes.length-1-k;f++){
                if (habitantes[f]>habitantes[f+1]){
                    int aux;
                    aux=habitantes[f];
                    habitantes[f]=habitantes[f+1];
                    habitantes[f+1]=aux;
                    String aux2;
                    aux2=paises[f];
                    paises[f]=paises[f+1];
                    paises[f+1]=aux2;
                }
            }
        }
    }
    
    public void imprimir2(){
        System.out.println("");
        System.out.println("Ordenado según el número de habitantes el resultado es: ");
        for (int f=0;f<habitantes.length;f++){
            System.out.println(habitantes[f]+" - "+paises[f]);
        }
    }
    
    public static void main(String[] args) {

        vectorparalelo vect1=new vectorparalelo();
        vect1.cargarValores();
        vect1.ordenarAlfabeticamente();
        vect1.imprimir1();
        vect1.ordenarNumHabitantes();
        vect1.imprimir2();
    }

}

RESULTADO

Introducir país: 
Alemania
Introducir número de habitantes: 
800000
Introducir país: 
España
Introducir número de habitantes: 
400000
Introducir país: 
Francia
Introducir número de habitantes: 
600000
Introducir país: 
Portugal
Introducir número de habitantes: 
200000
Introducir país: 
Italia
Introducir número de habitantes: 
300000
Ordenado alfabéticamente el resultado es: 
Alemania - 800000
España - 400000
Francia - 600000
Italia - 300000
Portugal - 200000

Ordenado según el número de habitantes el resultado es: 
200000 - Portugal
300000 - Italia
400000 - España
600000 - Francia
800000 - Alemania

Matrices y Vectores paralelos:

Matrices y Vectores paralelos:


import java.util.Scanner;

public class Matvec6 {

    private String[] paises;
    private Scanner teclado;
    private int[][] tempmedia;
    private int[]    temptrim;
    
    public void cargarValores(){
        paises=new String[4];
        tempmedia=new int[4][3];
        teclado=new Scanner(System.in);
        for (int f=0;f<paises.length;f++){
            System.out.println("Introducir nombre del país: ");
            paises[f]=teclado.next();
            for (int c=0;c<tempmedia[f].length;c++){
                System.out.println("Introducir temperatura media de "+paises[f]+" del mes " +(c+1)+" : ");
                tempmedia[f][c]=teclado.nextInt();
            }
        }
    }
    public void imprimir1(){
        System.out.println();
        for (int f=0;f<paises.length;f++){
            System.out.println();
            System.out.println("País: "+paises[f]);
            System.out.println("Temperaturas medias:");
            for (int c=0;c<tempmedia[f].length;c++){
                System.out.print(tempmedia[f][c]+" - ");
            }
        }
    }
    public void tempMediaTrimestal(){
        System.out.println();
        temptrim= new int[4];
        for (int f=0;f<paises.length;f++){
            int aux1=0;
            for(int c=0;c<tempmedia[f].length;c++){    
                aux1=aux1+tempmedia[f][c];
                temptrim[f]=aux1/3;
            }
            System.out.println("La temperatura media de "+paises[f]+" es: "+temptrim[f]);
        }
    }
    
    public void temptrimM(){
        int temptrimMa=temptrim[0];
        String temptrimMaP=paises[0];
        for (int f=0;f<temptrim.length-1;f++){
            if (temptrim[f]>temptrimMa){
                int aux;
                aux=temptrimMa;
                temptrimMa=temptrim[f];
                temptrim[f]=aux;
                String aux2;
                aux2=temptrimMaP;
                temptrimMaP=paises[f];
                paises[f]=aux2;
            }
        }
        System.out.println();
        System.out.println("El país con la mayor temperatura media trimestral es "+temptrimMaP+" con una temperatura media de: "+temptrimMa+" cº");
    }
    
    public static void main(String[] args) {
        Matvec6 mat6=new Matvec6();
        mat6.cargarValores();
        mat6.imprimir1();
        mat6.tempMediaTrimestal();
        mat6.temptrimM();
    }

}


RESULTADO

Introducir nombre del país: 
PORTUGAL
Introducir temperatura media de PORTUGAL del mes 1 : 
22
Introducir temperatura media de PORTUGAL del mes 2 : 
25
Introducir temperatura media de PORTUGAL del mes 3 : 
29
Introducir nombre del país: 
ESPAÑA
Introducir temperatura media de ESPAÑA del mes 1 : 
27
Introducir temperatura media de ESPAÑA del mes 2 : 
34
Introducir temperatura media de ESPAÑA del mes 3 : 
32
Introducir nombre del país: 
ALEMANIA
Introducir temperatura media de ALEMANIA del mes 1 : 
15
Introducir temperatura media de ALEMANIA del mes 2 : 
14
Introducir temperatura media de ALEMANIA del mes 3 : 
19
Introducir nombre del país: 
FRANCIA
Introducir temperatura media de FRANCIA del mes 1 : 
16
Introducir temperatura media de FRANCIA del mes 2 : 
22
Introducir temperatura media de FRANCIA del mes 3 : 
25


País: PORTUGAL
Temperaturas medias:
22 - 25 - 29 - 
País: ESPAÑA
Temperaturas medias:
27 - 34 - 32 - 
País: ALEMANIA
Temperaturas medias:
15 - 14 - 19 - 
País: FRANCIA
Temperaturas medias:
16 - 22 - 25 - 
La temperatura media de PORTUGAL es: 25
La temperatura media de ESPAÑA es: 31
La temperatura media de ALEMANIA es: 16
La temperatura media de FRANCIA es: 21

El país con la mayor temperatura media trimestral es: ESPAÑA con una temperatura media de: 31

martes, 28 de febrero de 2012

Proyecto 2: Encuentra a ---

Encuentra a (nombre por determinar) es un nuevo proyecto basado en el libro ''encuentra a Wally''. Poco a poco iré añadiendo información sobre él al igual que estoy haciendo con el proyecto anterior.






lunes, 2 de enero de 2012

Proyecto 1: War Sounds

Como dije en la anterior entrada, este es el primer proyecto que desarrollo para android. Aun no tiene nombre pero si (mas o menos) función. Es simple, al iniciarse la aplicación aparece una serie de botones, el primero lleva a la aplicación en si, y los otros dos son un "Acerca de..." y otro para Salir.
Al ser presionado el botón "Inicio" se activa la clase Inicio, en ella aparece una lista de imágenes que al pulsarse reproducen un sonido.  Como no sabia que hacer, y como esta app será base de otras diferentes, no me compliqué mucho y decidir que trataria sobre sonidos de dinosaurios. Por lo cual, apareceria una lista de imágenes de dinosaurios y cada una de ellas activaría el sonido de sus rugidos según correspondan.

(Captura Inicio 25/1)





--V.0.1----- 26~/12/11
-Cambiar valores strings.xml

--V.0.1.2----- ~30/12/11
-Añadidos tres botones en el layout principal sin ninguna función.



--V.0.1.3----- 02/01/12
-Añadida función a los botones
-Prueba Layout inicio (sustituido en la v.0.2 por un Activity)
-----
-Menu -> 3 opciones (Inicio, Acerca de...,Salir) [Interfaz Terminada: 10%]
  -Inicio -> Lista de imágenes las cuales reproducen un sonido al pulsar sobre ellas.(Activity, layout) [Terminado: 0%]
  -Acerca de... -> Información sobre mi y enlace al blog (Activity, layout) [Terminado: 0%]
  -Salir -> Termina Activity mediante "finish();" [Terminado: 100%]
-----

                     (Menú permanente)                           (Probando funciones y botones en menú Inicio)                                                                                   



--V.0.2----- 18/01/12

Bitácora:
La aplicación empieza a tomar ''forma'' y debido a que la aplicación que estaba desarrollando era altamente similar a una ya existente en el market he decidido cambiar la temática, esta vez será sobre sonidos de guerra, pasando por las armas de la segunda guerra mundial hasta los vehículos de combate.

App:
Después de una semana y media sin actividad he avanzado la aplicación en:
-Cuando eliges cualquier opción del menú y le das a la tecla regreso te devuelve a la sección visitada anteriormente. Esto se debe a que cada Layout dispone de su Activity. (Muchas gracias a Esteve Aguilera)
-Imagen de fondo añadida y botones.
-Limpiado un montón de código sin utilizar de pruebas hechas en el Activity principal que declaraban librerias y elementos del layout no usados.

-----
-Menu -> 3 opciones (Inicio, Acerca de...,Salir) [Interfaz Terminada: 30%]
  -Inicio -> Lista de imágenes las cuales reproducen un sonido al pulsar sobre ellas.(Activity, layout) [Terminado: 10%]
  -Acerca de... -> Información sobre mi y enlace al blog (Activity, layout) [Terminado: 0%]
  -Salir -> Termina Activity mediante "finish();" [Terminado: 100%]
-----

--V.0.3----- 20/01/12

Bitácora:
Estoy centrándome ya en terminar la app en sí, es decir, el Activity y Layout de Inicio. La parte gráfica es algo que estoy intentando llevar al mismo tiempo, pero es algo mas complicado por falta de tiempo.
Ya diseñada como será las funciones de inicio, así como su interfaz, si sale como tengo pensado estaria muy chulo y personalmente satisfecho! ya que prácticamente habría terminado el 80% de la aplicación.
La versión que publicaré en el Market será la 1.0 y espero tenerla preparada de aqui a una semana.

App:
-Interfaz menú principal renovada.
-----
-Menu -> 3 opciones (Inicio, Acerca de...,Salir) [Interfaz Terminada: 85%]
  -Inicio -> Lista de imágenes las cuales reproducen un sonido al pulsar sobre ellas.(Activity, layout) [Terminado: 15%]
  -Acerca de... -> Información sobre mi y enlace al blog (Activity, layout) [Terminado: 0%]
  -Salir -> Termina Activity mediante "finish();" [Terminado: 100%]
-----











<--->
Antes y Después








--V.0.5----24/01/12

Bitácora:
La aplicación estaba avanzando de forma rápida y correcta, de hecho tenia pensado publicarla ya el viernes en el market. Pero ha surgido un problema, cuando ya estaba terminando la interfaz y código de 'inicio' ha surgido un problema, al presionar el botón de inicio en el menú principal la aplicación se cierra 'inesperadamente'. No se exactamente si el problema está en el layout, en el activity o en ambos, pero algo me hace sospechar que está en el layout.

App:
-Interfaz menú principal renovada.
-Interfaz 'inicio' casi terminada.
-Añadidos botones, nuevas imágenes y sonidos.
-Limpiado mas código inservible que utilizo para hacer pruebas.
-----
-Menu -> 3 opciones (Inicio, Acerca de...,Salir) [Interfaz Terminada: 95%]
  -Inicio -> Lista de imágenes las cuales reproducen un sonido al pulsar sobre ellas.(Activity, layout) [Terminado: 65%]
  -Acerca de... -> Información sobre mi y enlace al blog (Activity, layout) [Terminado: 0%]
  -Salir -> Termina Activity mediante "finish();" [Terminado: 100%]
-----



--V.0.5----27/02/12

Bitácora:
Después de un mes vuelvo a las andadas, principalmente he parado por el instituto, carnavales, Madrid, etc. Como ya dije en la anterior bitácora, ha surgido un problema con la aplicación. Al principio pensé que estaba en el layout, me costó un poco darme cuenta que era una estupidez que estuviese en el layout, asique investigando descubrí que se localizaba en el Activity 'Inicio'. Todavía no estoy al 100% seguro del motivo, pero casi seguro que es por problemas de memoria.
No voy a continuar con la aplicación hasta que consiga informarme mas sobre 'SurfaceView' y otro método de reproducción de audio de bajo nivel, ya que podría ser la solución definitiva al problema.

Aprovecho para decir que hoy he empezado otro proyecto que me ayudará también a la hora de desarrollar este, asi que intentaré llevarlos al mismo tiempo. El nuevo proyecto será un juego que entre otras cosas, me ayudará a aprender la física en un juego y mucho mas código nuevo.

Espero continuar en estos dias actualizando esta aplicación y seguir con la otra la cual haré una entrada en breve.







Programando en Android

Creo que no hace falta explicar mucho mas con ese título. Hace poco, estuve aprendiendo java, lo mas básico, y aun lo sigo haciendo, estando ahora con una base mas o menos estable, pero aprendiendo cada dia que abro Eclipse algo nuevo. Ahora mismo, a la par de ir aprendiendo, estoy haciendo un primer proyecto, muy simple, pero al fin y al cabo programando se aprender a programar, esta formado por:

--V.1----- 02/01/12
  -Menu -> 3 opciones (Inicio, Acerca de...,Salir) [Interfaz no terminada]
  -Inicio -> Lista de imágenes las cuales reproducen un sonido al pulsar sobre ellas.(Activity, layout) [ni imágenes ni sonidos ni lista]
  -Acerca de... -> Información sobre mi y enlace al blog [Sin hacer](Activity, layout)
  -Salir -> Termina Activity mediante "finish();" [Hecho]

Desarrollada android 1.6


La aplicación está muy verde pero es la primera que hago. Prefiero llamarlo objetivo antes que sueño; me gustaria terminarla y publicarla en el market, y a lo largo de este 2011/2012 seguir aprendiendo java/android. El cometido del blog es publicitar mis proyectos, pero principalmente, mostrar un avance sobre mis conocimientos y mis proyectos.