2010-03-07 33 views
5

Tôi mới đến Java/Eclipse/Android, vì vậy đây có lẽ là một cách dễ dàng (nếu không nói là ngu ngốc) câu hỏi:vấn đề cơ bản Java/Eclipse: thư viện tiêu chuẩn không thể được nhập khẩu vào dự án Android

Sau khi tạo một Android mới dự án, tôi muốn nhập một số (những gì tôi nghĩ là tiêu chuẩn) thư viện java.

Tuy nhiên, một số câu lệnh import ném một lỗi:

HelloAndroid.java:

import java.awt.Color; (The java.awt.Color nhập khẩu không thể được giải quyết)

import javax.imageio.ImageIO; (Các javax.imageio nhập khẩu có thể không được giải quyết)

trong khi những người khác không:

import java.io.File; (không có lỗi)

Tôi đã thực hiện một số googling và cố gắng thêm các lớp này vào classpath của tôi bằng cách vào project-> properties-> library nhưng tôi đã không thể tìm ra phải làm gì chính xác.

Bất kỳ con trỏ nào được đánh giá cao!

Chúc mừng,

Martin

Trả lời

6

Android cung cấp riêng của mình API và chỉ có một tập hợp con của Java API chuẩn.
awtimageio không được bao gồm trong API Android, do đó bạn không thể sử dụng nó. Ví dụ, nếu bạn muốn manipulate images, hãy sử dụng các lớp học từ gói android.graphics.

3

Mặc dù các ứng dụng Android được viết bằng Java, chúng không được thực thi trên JVM, nhưng thay vào đó là một máy ảo nhỏ hơn được gọi là Dalvik. Máy này chỉ hỗ trợ một tập con của các lớp được hỗ trợ bởi máy ảo Java chuẩn, vì vậy có khả năng các lớp đó không phải là một phần của bộ hỗ trợ đó.

Nói chung:

Khi bạn không chắc chắn nơi các lớp học mà bạn muốn được nằm (tức là, những gì gói họ đang ở), một trong những phương pháp phát hiện ra nó chỉ đơn giản là không cố gắng nhập họ, nhưng thay vào đó chỉ sử dụng chúng trong mã của bạn. Hầu hết các IDE sẽ làm nổi bật mã của bạn để cho bạn biết rằng bạn cần phải nhập lớp đó trước khi sử dụng nó và họ sẽ thêm một câu lệnh nhập nếu chỉ có 1 lớp với tên đó hoặc b) cung cấp danh sách các tùy chọn chứa nhiều các gói có tất cả các lớp trong đó, từ đó bạn có thể chọn mà bạn muốn.

EDIT: Về mặt kỹ thuật, ngôn ngữ không phải là Java. Hãy xem bình luận bên dưới.

+3

Android không phải là kỹ thuật Java. Nó chỉ sử dụng cú pháp ngôn ngữ giống nhau, nhiều thư viện giống nhau và thời gian chạy tuân theo nhiều quy tắc tương tự. Nhưng vì nó không thích hợp Java nên nó không phải (và do đó không) bao gồm mọi thứ từ thư viện chuẩn. –

1

Như những người khác đã chỉ ra, không phải tất cả các lớp Java đều có trong Android. Nếu bạn muốn kiểm tra xem một lớp cụ thể có hiện diện hay không, điều đơn giản nhất là kiểm tra reference docs.

Các vấn đề liên quan