2010-04-09 40 views
20

Tôi muốn tạo một ứng dụng cho Android có thể quét mã vạch, lấy thông tin chứa trong mã vạch và sau đó có thể sử dụng thông tin đó theo một cách nào đó.Android - Quét mã vạch, Tùy chọn? Zxing?

Tôi không biết cách tạo máy quét mã vạch để tôi đi Google và có vẻ như Zxing là cách được sử dụng phổ biến nhất để triển khai máy quét mã vạch trong ứng dụng.

Một số Links:


http://code.google.com/p/zxing/

http://awalkingcity.com/blog/2008/08/25/qr-codes-made-easy-in-android/

Using ZXing to create an android barcode scanning app


Tuy nhiên các mẫu tôi tìm thấy trên ZXing tham gia cần phải nhắc nhở người dùng để đi chợ và cài đặt máy quét mã vạch zxing để ứng dụng của tôi có thể gọi máy quét mã vạch khi cần và máy quét mã vạch sau đó sẽ trả lại thông tin cho ứng dụng của tôi.

Mặc dù đây sẽ là điểm khởi đầu tốt cho tôi nhưng tôi tự hỏi có tùy chọn nào khác cho phép tôi có máy quét mã vạch được nhúng trong ứng dụng của riêng mình mà không phải nhắc người dùng tải xuống ứng dụng thứ cấp không?

+0

thể trùng lặp của http://stackoverflow.com/questions/2050263/using-zxing-to-create-an-android-barcode-scanning-app –

+0

Hãy thử của tôi blog về điều này, có thể hữu ích. http://mcondev.wordpress.com/2011/06/24/zxing-1-7-for-android-on-eclipse/ – Siddharth

+0

Chỉ cần một FYI - http://code.google.com/p/zxing có chuyển đến https://github.com/zxing/zxing – Les

Trả lời

21

Nhà phát triển tại đây. Tôi nghĩ rằng bạn sẽ chỉ muốn tích hợp thông qua Intent cuối cùng. Bạn nhận được các cải tiến, sửa lỗi và giải pháp cụ thể cho nền tảng miễn phí. Nó cũng ít mã hơn. Nhưng tôi hiểu bạn đang yêu cầu thay thế.

Bạn có thể muốn loại bỏ Máy quét mã vạch (có nguồn là trong android/trong dự án) và loại bỏ mọi thứ bạn không cần. Điều đó có nghĩa là chỉ để lại các gói com.google.zxing.client.androidcom.google.zxing.client.android.camera. Giải mã lõi là trong DecodeThread, nhưng mã khác trong các gói này thực hiện điệu nhảy gọi lại nhỏ mà quét liên tục và nhận giao diện người dùng quét thông thường.

Nếu bạn nhúng mã, bạn cần tuân theo các điều khoản của Apache License.

+0

@ james-baca chỉnh sửa của bạn cho câu trả lời của tôi về cơ bản là phá hoại và đã được khôi phục . Viết câu trả lời của riêng bạn quảng cáo dịch vụ của bạn. –

+0

er, và theo đó tôi có nghĩa là Dịch vụ Google Play, đó là một điều tuyệt vời. Điểm đã được về việc ghi đè câu trả lời của người khác trong một chỉnh sửa. –

7

Tải xuống và mở rộng ứng dụng "Máy quét mã vạch" Zxing bằng cách thêm mã của riêng bạn. Nó thuộc giấy phép Apache 2.0.

+0

Vì vậy, về cơ bản lấy mã nguồn Zxing và viết lại nó để làm những gì tôi muốn? –

+0

Đó sẽ là đề nghị của tôi. Bạn có thể chỉ cần bao gồm các nguồn hiện có, gọi nó, và nắm bắt các mã vạch trả lại khá dễ dàng. Tôi đoán bạn sẽ không phải thay đổi rất nhiều mã. –

2

Tôi khuyên bạn nên sử dụng Zxing thông qua ý định và chuyển hướng đến trang Android Market ("market://details?id=com.google.zxing.client.android") nếu không có ở đó (bắt ActivityNotFoundException). Mục đích là tuyệt vời cho các liên lạc giữa các ứng dụng như thế này.

+4

Có, tôi biết rằng tôi có thể làm điều đó, nhưng những gì tôi muốn là lựa chọn thay thế để yêu cầu người dùng cài đặt ứng dụng riêng biệt chỉ để quét –

4

Xem Dịch vụ Google Play mới 7.8 API mà bao gồm theo dõi mã vạch:

0

Tôi có nó làm việc với điều này:

repositories { mavenCentral() 
    maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" } 
} 

compile 'com.google.zxing:core:3.2.1' 
compile 'com.embarkmobile:zxing-android-minimal:[email protected]' 
compile 'com.embarkmobile:zxing-android-integration:[email protected]' 

tôi khuyên bạn nên sử dụng IntentIntegrator

IntentIntegrator integrator = new IntentIntegrator(getActivity()); 
integrator.forSupportFragment(this).initiateScan(); 

Các requestCode trở lại với

IntentIntegrator.REQUEST_CODE 

Không cần phải cài đặt một máy quét riêng biệt

0

Tôi khuyên bạn nên sử dụng quét mã vạch google. Nó khá nhạy. Nó được gọi là Google Mobile Vision.

API máy quét mã vạch phát hiện mã vạch trong thời gian thực theo bất kỳ hướng nào . Bạn cũng có thể phát hiện và phân tích cú pháp một số mã vạch trong các định dạng khác nhau cùng một lúc.

https://developers.google.com/vision/

https://codelabs.developers.google.com/codelabs/bar-codes/#0

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