2010-02-10 58 views
34

Xin chào, tôi đang phát triển một ứng dụng cho anh hùng HTC Android. Tôi đang tìm cách sử dụng camer sẵn có để đọc mã vạch 2D và trích xuất chuỗi trả về từ mã vạch. Tôi chỉ mới bắt đầu làm việc với sdk android nhưng tôi có một nền tảng lập trình từ làm việc trên các dự án với java. Tôi tò mò muốn biết cách tốt nhất để đọc mã vạch 2D là gì. Tôi có một số ứng dụng mẫu đọc mã vạch nhưng tất cả chúng đều là các tệp .apk và không có nguồn hoặc thư viện nào mà tôi có thể làm việc. để cung cấp cho bạn ý tưởng tốt hơn về những gì tôi đang cố gắng hoàn thành trang web này cho phép tạo mã vạch 2d được tạo thành từ dữ liệu bạn mong muốn hereĐọc mã vạch với android

Mọi thư trả lời sẽ được đánh giá cao.

Trả lời

37

chương trình Android có thể tương tác với eachother sử dụng intents. Mục đích hơi giống như các cuộc gọi thủ tục từ xa: bạn yêu cầu chương trình khác cho một hành động nhất định (ví dụ: quét mã vạch) và chương trình khác sẽ thực hiện tác vụ này cho bạn. Kết quả được trả về khi tác vụ hoàn tất.

Nếu người dùng đã cài đặt Máy quét mã vạch ZXing, bạn chỉ có thể sử dụng ý định quét mã vạch. Máy quét mã vạch sẽ bắt đầu, cho phép người dùng quét mã và trả lại kết quả cho bạn.

Thông tin thêm về máy quét này có thể được tìm thấy trên trang Google Code của dự án này: http://code.google.com/p/zxing/wiki/ScanningViaIntent

+4

Và đây là một doc giải thích làm thế nào để lập trình thử nghiệm cho một hoạt động mà có thể xử lý một ý định: http://developer.android.com/resources/ bài viết/can-i-use-this-intent.html và nếu bạn muốn hướng người dùng tải xuống ứng dụng Máy quét mã vạch, tài liệu này có tổng quan về các URI để sử dụng: http://developer.android.com/ hướng dẫn/xuất bản/publishing.html # marketintent –

+15

Có cách nào để tích hợp Zxing trong ứng dụng Android của tôi để người dùng không phải cài đặt Zxing BarCode Scanner riêng biệt không? – AKh

+0

Tôi muốn quét bằng bộ cảm biến G tích hợp, không sử dụng máy ảnh. Zxing là thư viện rất hữu ích khi chúng ta muốn quét bằng camera điện thoại. Tôi đang sử dụng thiết bị iData95E cung cấp máy quét laser tích hợp. ai cũng có thể giúp tôi. – patel

11

Tôi muốn nhìn vào dự án Android mã nguồn mở này: http://code.google.com/p/zxing/

+0

tôi đã kiểm tra nhưng làm thế nào tôi có thể intigrate api này trong ứng dụng của tôi, tôi muốn đọc mã vạch ANC giá trị trả về trong các ứng dụng của tôi – CoronaPintu

-3

Theo như tôi biết để giải mã mã vạch (ngoài các thuật toán), bạn cần phải biết độ rộng (tương đối) của thanh màu trắng và đen. Đối với điều đó, bạn sẽ phải xoay mã vạch đến vị trí nằm ngang và sau đó phát hiện độ rộng.

(Ok, những thứ ZXing cố vấn bởi những người khác nhanh hơn so với hướng dẫn này hack)

+4

Điều đó không cần thiết : miễn là bạn có thể tạo một đường ngang qua tất cả các thanh, mã vạch không phải nằm ngang - các thanh sẽ rộng hơn với số tuyệt đối, nhưng độ rộng tương đối của các thanh và khoảng trắng sẽ không thay đổi. Nói cách khác, bạn có thể quét chính xác ngay cả mã vạch xoay hoặc bị lệch. – Piskvor

+0

@Piskvor: Điểm tuyệt vời! – ron

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