2010-03-07 11 views
5

Ich bin neu in Java/Eclipse/Android, so ist dies wahrscheinlich eine einfache (wenn auch nicht dumm) Frage:Basis Java/Eclipse-Problem: Standardbibliotheken können nicht in Android-Projekt importiert werden

Nachdem ein neues Android-Erstellung Projekt, möchte ich einige (was ich für Standard halte) Java-Bibliotheken importieren.

jedoch einige Import-Anweisungen einen Fehler aus:

HelloAndroid.java:

import java.awt.Color; (Der Import java.awt.Color nicht aufgelöst werden kann)

import javax.imageio.ImageIO; (Die javax.imageio Import kann nicht aufgelöst werden)

während andere dies nicht tun:

import java.io.File; (kein Fehler)

Ich habe etwas gegoogelt und versucht, diese Klassen zu meinem Klassenpfad hinzuzufügen, indem ich zu Projekt-> Eigenschaften-> Bibliotheken gehe, aber ich konnte nicht herausfinden, was genau zu tun ist.

Alle Zeiger werden sehr geschätzt!

Cheers,

Martin

Antwort

6

Android seine eigene API bietet und nur eine Teilmenge des Standard-Java-API.
awt und imageio sind nicht in der Android-API enthalten, so dass Sie sie nicht verwenden können. Wenn Sie beispielsweise manipulate images verwenden möchten, verwenden Sie Klassen aus dem android.graphics-Paket.

3

Obwohl Android-Apps in Java geschrieben sind, werden sie nicht auf der JVM ausgeführt, sondern auf einer kleineren virtuellen Maschine namens Dalvik. Dieser Computer unterstützt nur eine Teilmenge der Klassen, die von der Standard-Java-VM unterstützt werden. Daher sind diese Klassen wahrscheinlich nicht Teil dieses Support-Sets.

Allgemein gilt:

Wenn Sie nicht sicher sind, wo die Klassen, die Sie sich wünschen (dh, welches Paket sie sind in), eine Methode, sie zu entdecken, einfach nicht versuchen, ist, sie zu importieren, sondern verwende sie einfach in deinem Code. Die meisten IDEs heben Ihren Code hervor, um Ihnen mitzuteilen, dass Sie diese Klasse importieren müssen, bevor Sie sie verwenden, und entweder a) fügen Sie die import-Anweisung hinzu, wenn es nur eine Klasse mit diesem Namen gibt, oder b) eine Liste mit Optionen, die verschiedene enthalten Pakete, die alle diese Klasse enthalten, aus denen Sie auswählen können, welche Sie möchten.

EDIT: Technisch ist die Sprache nicht Java. Überprüfen Sie den Kommentar unten.

+3

Android ist technisch nicht Java. Es verwendet nur die gleiche Sprachsyntax, viele der gleichen Bibliotheken und die Laufzeit folgt vielen der gleichen Regeln. Da es jedoch kein richtiges Java ist, muss es nicht alles aus der Standardbibliothek enthalten (und schließt dies auch nicht ein). –

1

Wie andere Leute angegeben haben, sind nicht alle Java-Klassen in Android vorhanden. Wenn Sie überprüfen möchten, ob eine bestimmte Klasse vorhanden ist, überprüfen Sie am einfachsten die reference docs.

Verwandte Themen