Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 25/05/12, 13:34:44
Avatar de monchyrcg
monchyrcg monchyrcg no está en línea
Miembro del foro
Mensajes: 384
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Versión de ROM: v10d
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Foto al MapView

Bueno estoy haciendo una aplicación que te va pintando los puntos por donde andas. Algo simple pero ahora lo que quiero es que cuando le de a un botón hacer una "foto" a ese mapa con mis puntos pintados. Entendéis???

Cuando le de al botón 'Terminar' hacer una foto o como puedo guardar la vista exacta de ese mapa?
Perdón por el tamaño de la foto.
Imágenes Adjuntas
Tipo de Archivo: png 2012-05-25 13.17.52.png (82.9 KB, 30 visitas)

Última edición por monchyrcg Día 25/05/12 a las 15:38:59
Responder Con Cita


  #2  
Viejo 25/05/12, 15:35:35
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Me ha parecido interesante la idea, parece ser que algo se puede hacer: http://stackoverflow.com/questions/1...t-and-share-it

El resumen, las Views tienen un método que es draw(Canvas c) para dibujarse donde le digas, si le pasas un canvas que has creado tú luego puedes guardar el contenido como imagen tranquilamente o enviarlo.
Responder Con Cita
  #3  
Viejo 25/05/12, 15:37:29
Avatar de monchyrcg
monchyrcg monchyrcg no está en línea
Miembro del foro
Mensajes: 384
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Versión de ROM: v10d
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Fijate que fácil es:
Código:
public class Pantalla {

    private final View view;
    
    public Pantalla(View root) {
            this.view = root;
    }
    
    public Pantalla(Activity activity) {
            final View contentView = activity.findViewById(android.R.id.content);
            this.view = contentView.getRootView();
    }
    
    public Bitmap snap() {
            Bitmap bitmap = Bitmap.createBitmap(this.view.getWidth(), this.view.getHeight(), Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            view.draw(canvas);
            return bitmap;
    }
}
Sólo me falta guardar la imagen en una bd y luego recuperla.
Responder Con Cita
  #4  
Viejo 25/05/12, 16:06:51
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Sí señor, cuando sabes qué métodos son todo es fácil

Por cierto, me ha surgido una cuestión con eso de hacer "fotos" a los mapas de Google y guardarlas para tu servicio. Asegúrate de no estar infringiendo las condiciones de uso de Google Maps relativas al almacenamiento, cache y creación de obras derivadas. Así como las propias de Google sobre capturas de pantalla donde aparezca su logo.
Responder Con Cita
  #5  
Viejo 25/05/12, 16:12:24
Avatar de monchyrcg
monchyrcg monchyrcg no está en línea
Miembro del foro
Mensajes: 384
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Versión de ROM: v10d
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Joder no me asustes. Sabes donde puedo buscar información sobre esto?
Sabes algo de guardar imágenes en BD y recuperarlas.

Última edición por monchyrcg Día 25/05/12 a las 16:25:43
Responder Con Cita
  #6  
Viejo 25/05/12, 16:46:43
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Pues aquí están:

http://www.google.com/permissions
Son los permisos "generales" de Google, en el apartado de screenshots dice que no hace falta pedir permiso para hacer una captura del buscador... pero que el google maps y los mapas son caso aparte.

https://developers.google.com/maps/terms
Son los términos de uso de Google Maps, mira el apartado "10.1.3 Restrictions against Data Export or Copying.". Básicamente se curan en salud diciendo que no puedes hacer nada con el contenido, ni editarlo, ni guardarlo, ni enviarlo a un servidor.

Aunque los ejemplos que ponen de uso incorrecto van orientados a que no les copies el servicio, también hay que tener en cuenta que los mapas como tal son propiedad del proveedor de mapas y no tienes permiso para almacenarlos y redistribuirlos.

Por eso te digo que te asegures bien de que no lo incumple, aunque el simple hecho de almacenar "el contenido" ya hace que lo incumpla. Lo suyo sería guardar la lista de puntos, el punto central y el nivel de zoom, así puedes reconstruir el mapa cuando quieras sin hacer la captura e incluso cambiar de proveedor de mapas en cualquier momento.

EDIT: Sobre las imágenes en base de datos, no soy muy amigo de guardar información binaria en bases de datos, prefiero guardar las imágenes en un servicio tipo Amazon S3 y guardar la URL en la base de datos. O si es en local, como ficheros directamente.
Responder Con Cita
  #7  
Viejo 25/05/12, 17:52:44
Avatar de monchyrcg
monchyrcg monchyrcg no está en línea
Miembro del foro
Mensajes: 384
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Versión de ROM: v10d
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Soy incapaz de guardar la imagen en la SD. Ayuda?

Ya esta solucionado. Gracias por todo!

Última edición por monchyrcg Día 25/05/12 a las 18:14:24
Responder Con Cita
Respuesta

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

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 01:05:27 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007