Autor Tema: Curso Android Miriadax  (Leído 38905 veces)

0 Usuarios y 1 Visitante están viendo este tema.


Desconectado irukza

  • PIC12
  • **
  • Mensajes: 87
Re: Curso Android Miriadax
« Respuesta #151 en: 11 de Marzo de 2013, 09:04:22 »
Hola

Me sumo al grupo.
Me enteré tarde del curso pero voy a tratando de ponerme al día, hoy pretendo terminar el módulo 4.
Voy a aprovechar sus avances para no quedar trabado con dudas sencillas así que (una vez más) tengame un poco de paciencia, y  traten de tomar mis preguntas como un modo de repaso, jaja.
Prometo molestar lo menos posible :5}

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Curso Android Miriadax
« Respuesta #152 en: 11 de Marzo de 2013, 09:12:20 »
La unica pregunta que molesta es la que no se hace, o la que se hace en mal tono...
Bienvenido al barco... justo estabamos naufragando, asi que precisabamos manos extras para achicar ... :D :D :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Curso Android Miriadax
« Respuesta #153 en: 11 de Marzo de 2013, 17:46:25 »
bueno.he estado practicando .y se me ha ocurrido acompañar a los mensages de adbertencia de nuestras aplicaciones.con mesages foneticos.
asi que he encontrado una aplicacion web aqui: http://vozme.com/index.php?lang=es

en esta aplicacion escribimos un texto y nos genera un mp3.y este lo podemos incluir en la carpeta raw de nuestro proyecto.
lo malo es que el volumen es muy bajo.no se si habra alguna aplicacion mejor.


he tenido problemas con esto de reproducir sonidos.muchos problemas.

el archivo que generemos tenemos que nombrarlo con letras minusculas.

crear la carpeta raw en res.e introducir el archivo de audio dentro.

crearemos la variable:pej

 MediaPlayer sonido;

crear un metodo:

  public void soundOK(){
        sonido = MediaPlayer.create(this, R.raw.respuestarecividaok);
         sonido.start();
     
    };

y llamarlo asi:

soundOK();
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Mas problemas con "cannot be resoved"
« Respuesta #154 en: 13 de Marzo de 2013, 22:06:13 »
Esto es grande, no se si prenderle fuego al ordenador o abandonar definitivamente, (por tercera vez), el curso de Android.
Realizando la practica del tema 4, sobre "EjemploGraficos", cuando añado el codigo del ejercicio paso a paso de la clase Paint que dice:
Código: [Seleccionar]
Paint pincel = new Paint();

pincel.setColor(Color.BLUE);

pincel.setStrokeWidth(8);

pincel.setStyle(Style.STROKE);

canvas.drawCircle(150, 150, 100, pincel);

La tercera linea me muestra de nuevo el error "STROKE cannot be resolved or is not a field.".
Es el mismo famoso error del Asteroides, pero no entiendo nada, me he limitado a copiar y pegar el codigo de la pagina del curso.
Inicialmente me salia otro error, que no anote y no recuerdo, el cual al poner el raton sobre la linea erronea me indicaba dos posibles soluciones, una era declarar el sujeto de error y la otra copiarlo en la ruta correcta, elegi la de declararlo y desaparecio el problema. Pero ahora reaparece de esta nueva forma.
¿Habra algun error en mi SDK, o que es lo que esta ocurriendo?. No entiendo nada.
Voy a eliminar ese proyecto y hacerlo de nuevo y tomare nota del error inicial a ver si tiene relacion con este nuevo y en todo caso seleccionare la segunda propuesta de solucion a ver.

Saludos.

P.D: El otro error fue un fallo mio, le puse a la actividad el nombre EjemploGraficos, cuando deberia ser EjemploGraficosActivity. Una vez corregido, ese error desaparecio, pero el comentado anteriormente sigue dando la tabarra.
A ver si alguien me puede echar una mano.
« Última modificación: 13 de Marzo de 2013, 22:38:15 por AcoranTf »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Curso Android Miriadax
« Respuesta #155 en: 14 de Marzo de 2013, 02:33:06 »
Ese error también me salió a mí y simplemente pasé de él comentando la línea.

Desconectado irukza

  • PIC12
  • **
  • Mensajes: 87
Re: Curso Android Miriadax
« Respuesta #156 en: 14 de Marzo de 2013, 13:09:13 »
A mi me da error siempre en esta linea.

xmlns:android="http://schemas.android.com/apk/res/android"

Por ejemplo cuando hubo que crear la vista "acerca de", y no me acuerdo en que otra parte del curso. Y yo también me limito a copiar y pegar el código (apenas). Supongo que será un problema de versiones, ya que el material que se brinda en el curso tiene algún tiempo de elaborado.
Yo comenté esa línea para ver que pasaba y simplemente funcionó  :huh:

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Curso Android Miriadax
« Respuesta #157 en: 15 de Marzo de 2013, 08:49:44 »
parece como si no tubieras declarada la clase en el manifest.o si la has declarado,no has creado la variable dentro de la declaracion del manifest.


Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Curso Android Miriadax
« Respuesta #158 en: 15 de Marzo de 2013, 09:03:01 »
Groundman, he buscado si es posible hacer arrays de controles, y he encontrado algo que podrá simplificar bastante tu programa. Mira este ejemplo:



gracias Nocturno.no me habia dado cuenta del ejemplo.ya lo utilize una vez.y aunque te genera algunas vistas.no las identifica.
yo suelo usar esto:

for(int i=0; i<buttons.length; i++) {
         {
              String buttonID = "button" + (i+1);

              int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
              buttons = ((Button) findViewById(resID));
              buttons.setOnClickListener(this);// implementar OnClickListener en la linea main para que funcione
         
         }
         }


// Gestion vento clic de los botones
   public void onClick(View v) {

   
   int index = 0;
   for (int i = 0; i < buttons.length; i++)
   {
   if (buttons.getId() == v.getId())
   {
   index = i;
   //en el evento clic se actualizan los valores a comparar con la clave de entrada.
   compClave=Teclado.getText().toString();
   compClave2=conf.Clave();
      
   break;
   }
   }
   
   
   
   
   switch (index){
   
   
   case 0:
      :codigo......
      break;
        case 1:
      :codigo......
      break;

         etc........................................

como ves tambien implementa OnClicListener.lo que pasa es que este sistema no funciona con todas las vistas.o no lo he hecho bien.no lo se.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado irukza

  • PIC12
  • **
  • Mensajes: 87
Re: Curso Android Miriadax
« Respuesta #159 en: 15 de Marzo de 2013, 10:10:42 »
Gracias Groudman

Ya se cual es el problema.
Cuando armé esa vista use un linearlayout para contener el textview "acerca de". En la declaración del linearlayout ya había declarado el espacio de nombres xmlns:android="http://schemas.android.com/apk/res/android". Luego, el textview hereda dicho espacio por estar contenido dentro del linearlayout, es decir, es un error tratar de asignar un espacio de nombres (aunque sea el mismo espacio) a algo que ya lo tiene asignado

Código: [Seleccionar]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  

    xmlns:android="http://schemas.android.com/apk/res/android"    <<<---------------------------

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
          xmlns:android="http://schemas.android.com/apk/res/android"  <<<---------------------------
          
          android:id="@+id/TextView01"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
         android:text="Este programa ha sido desarrollado como ejemplo en el curso de Android para demostrar cómo se pueden lanzar nuevas actividades desde la actividad principal.">
    </TextView>

</LinearLayout>

Recién entiendo para que está esa línea  :oops:
« Última modificación: 15 de Marzo de 2013, 10:12:56 por irukza »

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Curso Android Miriadax
« Respuesta #160 en: 15 de Marzo de 2013, 11:23:41 »
cualquier pequeño fallo es un gran desastre.por eso hay que comprobar las cosas paso a paso.y hacer copias cada cierto tiempo.
por si tenemos que ir un paso atras.no siempre podremos deshacer los cambios en un proyecto.

pongo una rutina que nos seribira a todos:

   //Identificamos los radioButton dinamicamente
      
         radioButtons= new RadioButton[8];
         
         for(int i2=0; i2<radioButtons.length; i2++) {
            
                 String radioButtonID = "radioButton" + (i2+1);
                 int resID = getResources().getIdentifier(radioButtonID, "id", getPackageName());
                 if (DEBUG)Log.e(LOG_TAG, "radioButtons "+resID);
                 radioButtons[i2]=((RadioButton)findViewById(resID));
               
            }
      
      
      
      
lo que Nocturno puso anteriormente es para crear vistas.es decir botones,edittext,radiobutton,etc

lo que yo he puesto es para identificarlos dinamicamente.para no tener que realizar 20 lineas si queremos poner 20 botones.
« Última modificación: 15 de Marzo de 2013, 11:32:00 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Curso Android Miriadax
« Respuesta #161 en: 15 de Marzo de 2013, 20:04:13 »
tambien quiero contribuir con esto:

   RadioOut=255;
        
        int i3;
        for   (i3=0;i3<8;++i3){
           int RadioOut1=RadioOut;
           if (((RadioOut1 >>>  i3 )  & 1 )  !=  0 ){   radioButtons[i3].setChecked(true);}else{radioButtons[i3].setChecked(false);};
           
           
        }

es un codigo que me ha costado algunas horas de experimentacion.lo que hace es convertir el valor que pongamos en RadioOut,en la activacion
de 8 RadioOut.que previamente habremos definido.

yo lo uso para representar las salidas del PORTB del pic virtualmente .con un valor entre 0 y 255.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Re: Curso Android Miriadax
« Respuesta #162 en: 15 de Marzo de 2013, 21:33:25 »
Ese error también me salió a mí y simplemente pasé de él comentando la línea.

Asi lo he hecho y me funciona. En realidad ya lo hice varias veces en otras ocasiones.
Pero al avanzar, me vuelve a aparecer el dichoso error en trozos de codigo donde no vale comentar o borrar la linea problematica, porque simplemente no funcionara el programa.
La unica opcion que me queda es descubrir el motivo de esos errores y solucionarlos. Pero me temo que no tengo base suficiente para hacerlo.

Saludos.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Curso Android Miriadax
« Respuesta #163 en: 27 de Marzo de 2013, 07:20:16 »
bueno.ya han pasado casi dos semanas que descanse del android.y parece que me voy a tener que dar prisa.que el plazo de finalizacion esta cerca.ahoramismo estoy
en el modulo 7.Un Ejemplo simple con googleMaps.pero no lo veo tan simple.
el treabajazo que me ha dado lo de la obtencion de la clave.no tenia manera de agregar las librerias de google play service.no porque no siguiera los pasos.
si no.porque cuando eclipse le da la gana.te toca los huev...  un monton de fallos.se bloquea,hay que reiniciarlo,se buelve a bloquear.cuando no,te dice falta algo.
total que encima hay que tener suerte.y se pierde mas tiempo en arreglar los fallos del eclipse.que el tiempo que se dedica a estudiar android.

bueno ya esta todo solucionado.pero no porque haya encontrado el fallo.si no,porque le ha dado la gana de funcionar despues de dejar el portatil toda la noche apagado.
uno de los problemas que veo en eclipse.es cuando se pone a compilar todos los proyectos.aunque solo necesitaemos compilar uno de ellos.
no se si habra alguna opcion para compilar solo con el que estemos trabajando.asi creo que no se bloqueara tanto.algo manual y no automatico.



en el ejemplo que estoy del modulo 7.la aplicacion no funciona.y eso que he seguido todos los pasos dos veces.el error es algo de la clase fragment.
pero claro.los mensages de la consola de error no es que sean de mucha ayuda.almenos para los principiantes.a alguien le ha sucedido este error?
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Curso Android Miriadax
« Respuesta #164 en: 27 de Marzo de 2013, 08:45:57 »
este es el error:

03-27 12:39:58.154: E/AndroidRuntime(5301): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.example.ejemplogooglemaps/org.example.ejemplogooglemaps.MainActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class fragment

parece que esta relacionado con el fragment que esta hubicado en activity_main.xml

supongo que sera culpa de la linea:  class="com.google.android.gms.maps.SupportMapFragment"/>   que no pueda coger algun dato de la clase.
Montando mi primera impresora 3D (Raprep Prusa i3)


 

anything