Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 28/04/15, 13:46:55
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
Actualizacion de aplicacion?

Hola buenas, estoy desarrollando una aplicacion para android y tengo un par de dudas, a ver si pueden resolvermelas...

La aplicacion es para reproduccion de videos, y las dudas son:

Tengo la aplicacion con x videos (que no videos x ) y quiero poder actualizarla para descargar mas videos, como podria hacer esto? Que al actualizar la aplicacion o mediante un boton o lo que sea se descarguen mas videos al telefono para poder verlos sin internet?

Como digo tendria los videos en el telefono, como puedo hacer para reproducirlos? Hasta ahora utilizo un activity nuevo con un video view, pero un activity para cada video me parece muy mal... Hay alguna forma de reproducir el video con el reproductor preinstalado en el movil, de manera que al pinchar se reproduzca en el reproductor sin usar video views, ni activitys ni nada...?

Como puedo hacer esto? Muchas gracias!
__________________
Responder Con Cita


  #2  
Viejo 28/04/15, 14:24:39
Array

[xs_avatar]
oxot oxot no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Tu operador: Pepephone
Has probado a ejecutar un intent con action_view y un uri que sea el archivo de video?? En teoría te saldría una lista de todas la apps regristradas en el sistema que reproduzcan video para que escojas o simplemente se ejecutaría directamente con la app de vídeo por defecto.
Responder Con Cita
  #3  
Viejo 28/04/15, 17:40:45
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
 Cita: Originalmente Escrito por oxot Ver Mensaje
Has probado a ejecutar un intent con action_view y un uri que sea el archivo de video?? En teoría te saldría una lista de todas la apps regristradas en el sistema que reproduzcan video para que escojas o simplemente se ejecutaría directamente con la app de vídeo por defecto.
Lo intente, pero no me deja ejecutarlo, en el momento en que deberia ejecutarse sale un mensaje de forzar cierre...
__________________
Responder Con Cita
  #4  
Viejo 28/04/15, 18:02:17
Array

[xs_avatar]
kohario88 kohario88 no está en línea
Miembro del foro
 
Fecha de registro: abr 2015
Mensajes: 79
Tu operador: Movistar

¿Por qué no lo almacenas con un id especifico y cada vez que lo ejecutes que se te abra el activity de reproducción y pase por defecto la id de ese vídeo en cuestión? Al fin y al cabo solo necesitas un paso de parámetros entre activitis. Otra solución es una base de datos interna. Si te fuerza el cierre puede ser o cosa del manifestó o que estas reproduciendo mas de un vídeo a la vez y no lo permite.
¿Qué te pone en el Log cuando se te cierra?
Responder Con Cita
  #5  
Viejo 28/04/15, 18:10:18
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
 Cita: Originalmente Escrito por kohario88 Ver Mensaje
¿Por qué no lo almacenas con un id especifico y cada vez que lo ejecutes que se te abra el activity de reproducción y pase por defecto la id de ese vídeo en cuestión? Al fin y al cabo solo necesitas un paso de parámetros entre activitis. Otra solución es una base de datos interna. Si te fuerza el cierre puede ser o cosa del manifestó o que estas reproduciendo mas de un vídeo a la vez y no lo permite.
¿Qué te pone en el Log cuando se te cierra?
No habia pensado en pasarlo... Como podria pasar el id en cuestion?

Ahora hago captura del error y lo pongo
__________________
Responder Con Cita
  #6  
Viejo 28/04/15, 18:28:22
Array

[xs_avatar]
kohario88 kohario88 no está en línea
Miembro del foro
 
Fecha de registro: abr 2015
Mensajes: 79
Tu operador: Movistar

Cada vez que hagas una descarga, tienes que almacenar el nombre del vídeo como un recurso mas y con una id. Te creas un arraylist que beba de la carpeta vídeos(por ejemplo) que este en res. Cada vez que descargues un vídeo, que se añada como elemento al arraylist. Eso te va a servir de indice. Cuando luego pinches un vídeo en la lista desde la que accedas(El que sea) tienes que llamar a a la activiti reproducir pasándole por argumento el value(el id del que hemos hablado antes) del vídeo. Esta cargara el vídeo con dicho valor. Para que te hagas una idea, lo que haces es pasar por referencia el vídeo. Tu tienes una estantería de DVDs y un robot. tu lo que haces es decirle al robot la posición del DVD y este coge la peli y te la pone. No se si eso es a lo que te refieres. Si quieres hacer lo que he entendido este seria un método.
Responder Con Cita
  #7  
Viejo 28/04/15, 18:55:49
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
Si, eso me serviria bastante...

Y como puedo hacer para descargar los videos nuevos?
__________________
Responder Con Cita
  #8  
Viejo 29/04/15, 10:27:05
Array

[xs_avatar]
kohario88 kohario88 no está en línea
Miembro del foro
 
Fecha de registro: abr 2015
Mensajes: 79
Tu operador: Movistar

Depende de como lo quieras plantear. Imaginemos(Que no lo se) que te bajas vídeos mediante una lista en un activity. El principio es parecido a lo anterior: tienes unos botones que se van creando en una lista personalizada (arraylist personalizado) y los cuales tienen el nombre del vídeo pero en cambio tienen el value de la dirección de descarga. Tendrías que hacer dos métodos. Uno para que añada nuevos elementos a la lista personalizada desde donde estén los vídeos(una pag web, una base de datos...etc. En fin, el método que estés utilizando) y otro método que se llame descarga y que estará en el onclick de dichos botones. Este no solo debe descargarte el vídeo (Contando con que los vas a reproducir siguiendo el método que te dije) sino también añadirle a la lista de vídeos descargados que creaste anteriormente para con su nombre y su id de referencia para que el reproductor te lo coja.
No es por hacerte de menos pero te veo algo verde en temas de listas personalizadas y arraylist. Mi consejo es que primero y antes de meterte en faena te empapes bien de estos y de otros conceptos básicos. Sobre todo te lo comento ya que podrás ver mucho mas fácilmente como hacer diferentes cosas (aunque no sepas hacerlas directamente. Tendrás una idea mejor de lo que quieres) y sera mucho mas fácil para nosotros poder entender el problema exacto y echarte un cable
Responder Con Cita
  #9  
Viejo 29/04/15, 17:52:14
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
 Cita: Originalmente Escrito por kohario88 Ver Mensaje
Depende de como lo quieras plantear. Imaginemos(Que no lo se) que te bajas vídeos mediante una lista en un activity. El principio es parecido a lo anterior: tienes unos botones que se van creando en una lista personalizada (arraylist personalizado) y los cuales tienen el nombre del vídeo pero en cambio tienen el value de la dirección de descarga. Tendrías que hacer dos métodos. Uno para que añada nuevos elementos a la lista personalizada desde donde estén los vídeos(una pag web, una base de datos...etc. En fin, el método que estés utilizando) y otro método que se llame descarga y que estará en el onclick de dichos botones. Este no solo debe descargarte el vídeo (Contando con que los vas a reproducir siguiendo el método que te dije) sino también añadirle a la lista de vídeos descargados que creaste anteriormente para con su nombre y su id de referencia para que el reproductor te lo coja.
No es por hacerte de menos pero te veo algo verde en temas de listas personalizadas y arraylist. Mi consejo es que primero y antes de meterte en faena te empapes bien de estos y de otros conceptos básicos. Sobre todo te lo comento ya que podrás ver mucho mas fácilmente como hacer diferentes cosas (aunque no sepas hacerlas directamente. Tendrás una idea mejor de lo que quieres) y sera mucho mas fácil para nosotros poder entender el problema exacto y echarte un cable
Gracias! Lo mirare
__________________
Responder Con Cita
  #10  
Viejo 30/04/15, 20:13:23
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
He estado avanzando en la aplicacion, al final voy a guardar los videos en un servidor y usare bases de datos para los videos, pero tengo un problema que no consigo resolver...

Tengo un activity video view al que le paso los videos por referencia como me aconsejasteis, pero da igual que video le pase, en que formato o lo que sea, en todos pone que no se puede reproducir... A que se debe esto?

Habia trabajado antes con videoview y no me daban este problema... alguna ayuda?

Dios en android estoy mas verde de lo que pensaba...
__________________
Responder Con Cita
  #11  
Viejo 04/05/15, 11:28:12
Array

[xs_avatar]
kohario88 kohario88 no está en línea
Miembro del foro
 
Fecha de registro: abr 2015
Mensajes: 79
Tu operador: Movistar

Es muy poca información para poder ayudarte a ver, puede ser por problemas con la consulta en el server, con los permisos al cargarlo, con el formato o el peso del video etc. No se que mas decirte. Yo en vídeos no controlo tanto como me gustaría. Lo siento Te he dicho todo lo que se tal y como lo haría yo. Intenta encontrar el error especifico en el log o probando a buscar videos de diferentes pesos, formatos y direcciones a ver me dices a ver si te puedo echar una mano.
Responder Con Cita
  #12  
Viejo 04/05/15, 18:04:36
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
He probado con diversos videos, entre ellos algunos de tutoriales sacados de internet pero nada...

Este es mi codigo:

Código:
    
        if (v.getId()==R.id.tv1) {
            Intent int1=new Intent(this,video.class);
            String idn = "R.raw.y1b1w_bc.mp4";
            Bundle id = new Bundle();
            id.putString("id",idn);
            int1.putExtras(id);
            startActivity(int1);
        }
        if (v.getId()==R.id.tv2) {
            Intent int1=new Intent(this,video.class);
            String idn = "R.raw.y1b1w_6m";
            Bundle id = new Bundle();
            id.putString("id",idn);
            int1.putExtras(id);
            startActivity(int1);
        }

        v1 = (VideoView)findViewById(R.id.v1);
        Bundle idR = getIntent().getExtras();
        String id = idR.getString("id");
        try {
            String uri = ("android://com.example.marcos.proyecto1"+id);
            v1.setVideoPath(uri);
            MediaController mc = new MediaController(this);
            v1.setMediaController(mc);
        } catch (Exception e) {
                Log.e("Error", e.getMessage());
                   e.printStackTrace();
         }
        v1.requestFocus();
        v1.start();
Tengo un activity solo para el video al que le paso la ruta a traves de un extra.

No se que puede ser...
__________________
Responder Con Cita
  #13  
Viejo 04/05/15, 18:19:34
Array

[xs_avatar]
kohario88 kohario88 no está en línea
Miembro del foro
 
Fecha de registro: abr 2015
Mensajes: 79
Tu operador: Movistar

pasa también lo que te ponga en el log cuando te da fallo en el vídeo por favor .
Responder Con Cita
  #14  
Viejo 04/05/15, 18:21:31
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
Es que en el emulador no lo puedo probar, y en el movil al ejecutarlo me pone:

Este video no se puede reproducir.

Como miro el problema del log?
__________________
Responder Con Cita
  #15  
Viejo 04/05/15, 18:25:05
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
He conseguido esto, no se si tendra algo que ver:

java.lang.IllegalStateException: Could not find a method Star(View) in the activity class com.example.marcos.proyecto1.weapons for onClick handler on view class android.widget.RelativeLayout
at android.view.View$1.onClick(View.java:3816)
at android.view.View.performClick(View.java:4444)
at android.view.View$PerformClick.run(View.java:18457 )
at android.os.Handler.handleCallback(Handler.java:733 )
at android.os.Handler.dispatchMessage(Handler.java:95 )
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.jav a:5034)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:807)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:623)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: Star [class android.view.View]
at java.lang.Class.getConstructorOrMethod(Class.java: 472)
at java.lang.Class.getMethod(Class.java:857)
at android.view.View$1.onClick(View.java:3809)
__________________
Responder Con Cita
  #16  
Viejo 04/05/15, 19:46:03
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
He creado otro proyecto similar solo para ver si ejecutaba el video, y nada...

Este es el log:

Código:
05-04 13:42:33.910    1751-1751/com.example.video D/dalvikvm﹕ Not late-enabling CheckJNI (already on)
05-04 13:42:34.280    1751-1751/com.example.video D/﹕ HostConnection::get() New Host Connection established 0xb78cc600, tid 1751
05-04 13:42:34.460    1751-1751/com.example.video W/EGL_emulation﹕ eglSurfaceAttrib not implemented
05-04 13:42:34.500    1751-1751/com.example.video D/OpenGLRenderer﹕ Enabling debug mode 0
05-04 13:42:34.580    1751-1751/com.example.video D/MediaPlayer﹕ Couldn't open file on client side, trying server side
05-04 13:42:34.610    1751-1762/com.example.video E/MediaPlayer﹕ error (1, -2147483648)
05-04 13:42:34.820    1751-1751/com.example.video D/dalvikvm﹕ GC_FOR_ALLOC freed 72K, 6% free 3155K/3336K, paused 6ms, total 7ms
05-04 13:42:34.860    1751-1751/com.example.video D/dalvikvm﹕ GC_FOR_ALLOC freed 2K, 6% free 3457K/3640K, paused 4ms, total 4ms
05-04 13:42:34.880    1751-1751/com.example.video D/dalvikvm﹕ GC_FOR_ALLOC freed <1K, 5% free 3761K/3944K, paused 14ms, total 14ms
05-04 13:42:34.880    1751-1751/com.example.video D/dalvikvm﹕ GC_FOR_ALLOC freed <1K, 5% free 4065K/4248K, paused 2ms, total 3ms
05-04 13:42:34.990    1751-1751/com.example.video I/Choreographer﹕ Skipped 43 frames!  The application may be doing too much work on its main thread.
05-04 13:42:35.160    1751-1751/com.example.video E/MediaPlayer﹕ Error (1,-2147483648)
05-04 13:42:35.160    1751-1751/com.example.video D/VideoView﹕ Error: 1,-2147483648
05-04 13:42:35.260    1751-1751/com.example.video D/dalvikvm﹕ GC_FOR_ALLOC freed 17K, 4% free 4416K/4560K, paused 5ms, total 5ms
05-04 13:42:35.340    1751-1751/com.example.video I/dalvikvm-heap﹕ Grow heap (frag case) to 5.493MB for 1127532-byte allocation
05-04 13:42:35.350    1751-1760/com.example.video D/dalvikvm﹕ GC_FOR_ALLOC freed 2K, 3% free 5514K/5664K, paused 11ms, total 11ms
05-04 13:42:35.640    1751-1751/com.example.video W/EGL_emulation﹕ eglSurfaceAttrib not implemented
Codigo fuente:

Código:
package com.example.video;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.MediaController;
import android.widget.VideoView;


public class MainActivity extends Activity {

    VideoView v1;

    @override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        v1 = (VideoView)findViewById(R.id.v1);
        String uri = ("android://com.example.video/"+R.raw.y1b1w_bc);
        Uri uric = Uri.parse(uri);
        v1.setVideoURI(uric);
        MediaController mc = new MediaController(this);
        v1.setMediaController(mc);
        v1.requestFocus();
        v1.start();
    }


    @override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
Alguna ayuda?
__________________
Responder Con Cita
  #17  
Viejo 05/05/15, 17:34:44
Array

[xs_avatar]
oxot oxot no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Tu operador: Pepephone
MediaPlayer﹕ Error (1,-2147483648) -> Concretamente ese error no da mucha información ya que se trata, digamos, de un error genérico. Un Unknown_Error.
Cuál es el formato del video? Has probado con otros formatos?
Responder Con Cita
  #18  
Viejo 05/05/15, 18:30:54
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
Si, he probado con varios formatos y videos, entre ellos algunos sacados de tutoriales que aseguran que funcionan... pues a mi nada...
__________________
Responder Con Cita
  #19  
Viejo 07/05/15, 13:39:14
Array

[xs_avatar]
markoster markoster no está en línea
Miembro del foro
 
Fecha de registro: may 2013
Localización: Zaragoza
Mensajes: 389
Modelo de smartphone: Xiaomi Mi2S 32Gb
Tu operador: Movistar
Ya lo he solucionado, no se lo que pasaba, pero cambiando la version del gradle se ha solucionado, muchas gracias!
__________________
Responder Con Cita


  #20  
Viejo 08/05/15, 11:22:09
Array

[xs_avatar]
kohario88 kohario88 no está en línea
Miembro del foro
 
Fecha de registro: abr 2015
Mensajes: 79
Tu operador: Movistar

Me alegro de que lo hayas arreglado
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 17:12:45 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /