2010-03-07 22 views
5

Soy nuevo en Java/Eclipse/Android, por lo que esta es probablemente una pregunta fácil (si no es estúpida):problema básico de Java/Eclipse: bibliotecas estándar no se pueden importar en el proyecto Android

Después de crear un nuevo Android proyecto, quiero importar algunas (lo que creo que son estándar) las bibliotecas de Java.

Sin embargo, algunas declaraciones de importación generará un error:

HelloAndroid.java:

import java.awt.Color; (El java.awt.Color importación no se puede resolver)

import javax.imageio.ImageIO; (El javax.imageio de importación no puede ser resuelto)

mientras que otros no lo hacen:

import java.io.File; (sin error)

He hecho algunas búsquedas en Google y traté de agregar estas clases a mi classpath yendo a project-> properties-> libraries pero no he podido averiguar qué hacer exactamente.

Cualquier punteros son muy apreciadas!

Saludos,

Martin

Respuesta

6

Android proporciona su propio API y sólo un subconjunto de la API estándar de Java.
awt y imageio no están incluidos en la API de Android, por lo que no puede usarlo.

Por ejemplo, si desea manipulate images, utilice las clases del paquete android.graphics.

3

Aunque aplicaciones de Android están escritos en Java, que no están ejecutados en la JVM, pero en lugar de una máquina virtual Dalvik más pequeña llamada. Esta máquina solo admite un subconjunto de las clases admitidas por la VM Java estándar, por lo que es probable que esas clases no sean parte de ese conjunto de soporte.

En general:

Cuando no está seguro donde las clases que desea que se encuentran (es decir, qué paquete al que pertenezcan), un método de descubrir que es simplemente no tratar de importarlos, pero en su lugar solo utilícelos en su código. La mayoría de los IDE destacarán su código para indicarle que necesita importar esa clase antes de usarlo, y a) agregarán la declaración de importación si solo hay 1 clase con ese nombre, o b) proporcionarán una lista de opciones que contienen varios paquetes que tienen toda esa clase, desde los cuales puede elegir cuál desea.

EDIT: Técnicamente, el idioma no es Java. Mira el comentario a continuación.

+3

Android no es técnicamente Java. Simplemente utiliza la misma sintaxis de lenguaje, muchas de las mismas bibliotecas y el tiempo de ejecución sigue muchas de las mismas reglas. Pero dado que no es Java adecuado, no tiene que (y por lo tanto no lo incluye) incluir todo desde la biblioteca estándar. –

1

Como otros han señalado, no todas las clases de Java están presentes en Android. Si desea verificar si una clase en particular está presente, lo más fácil es consultar el reference docs.

Cuestiones relacionadas