¿Cuál es la mejor manera de serializar una imagen (compatible con Swing) de Java a Android?

Estoy desarrollando una aplicación de Android que es un concurso. Por otro lado, estoy desarrollando una herramienta de escritorio que se basa totalmente en Swing. La herramienta de escritorio se utiliza para insertar las preguntas del cuestionario y produce un archivo de objeto serializado que contiene todas las preguntas sobre el mismo. Utilicé java.awt.Image para sostener una imagen que se adjunta con una pregunta.

Lamentablemente, cuando he terminado de desarrollar la herramienta de escritorio e ir al lado de Android, me di cuenta de que Android no tiene java.awt.Image . Así que mi pregunta es , ¿hay de todos modos para incluir el java.awt.Image dentro de la aplicación para Android? O hay otra clase disponible en Java y Android que se ocupa de Image, además de apoyar los componentes Swing? O al menos, hay una alternativa para resolver el problema que he enfrentado?

Notas: Usted puede preguntarse por qué estoy serializando el objeto y no sólo buscar las preguntas de XML o base de datos. Eso es porque, tengo una necesidad de tener una estructura de datos de árbol como categorías de las preguntas; Cada categoría tiene una lista de preguntas al lado de una subcategoría.

Aquí está la solución: Utilizar BufferedImage en Java y convertirlo en matriz de bytes, luego en el lado de Android, obtener la matriz de bytes y convertirlo en Bitmap .

Lado Java:

 public static byte[] imageToByteArray(BufferedImage image) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(image, "png", baos); return baos.toByteArray(); } /* public static BufferedImage byteArrayToImage(byte[] imageArray) throws IOException { return ImageIO.read(new ByteArrayInputStream(imageArray)); } */ 

Lado de Android:

 BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inDither = true; opt.inPreferredConfig = Bitmap.Config.ARGB_8888; byte[] imageByteArray = getImageByteArray(); Bitmap bitmap = BitmapFactory.decodeByteArray(imageByteArray, 0, imageByteArray.length, opt); imageView.setImageBitmap(bitmap); 

Utilice ImageIO para escribir la imagen en "png" o "jpg". Por ejemplo http://docs.oracle.com/javase/tutorial/2d/images/saveimage.html

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.