2012-01-03 30 views
14

Tôi mới sử dụng Zxing. Tôi đang làm chuyển đổi mã vạch bằng cách sử dụng zxing trong ứng dụng Android của tôi. Bất cứ ai có thể hướng dẫn tôi làm thế nào để bao gồm zxing để thiết bị Android.Cách sử dụng Zxing trong android

Trả lời

38

Nếu máy quét mã vạch ZXing được cài đặt trong điện thoại di động, nó rất dễ dàng:

Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.putExtra("SCAN_MODE", "PRODUCT_MODE");//for Qr code, its "QR_CODE_MODE" instead of "PRODUCT_MODE" 
     intent.putExtra("SAVE_HISTORY", false);//this stops saving ur barcode in barcode scanner app's history 
     startActivityForResult(intent, 0); 

và trong OnActivityResult:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == 0) { 
      if (resultCode == RESULT_OK) { 
        String contents = data.getStringExtra("SCAN_RESULT"); //this is the result 
      } else 
      if (resultCode == RESULT_CANCELED) { 
       // Handle cancel 
      } 
     } 
    } 

Nếu nó không được cài đặt: u có thể đặt mã này trong try- bắt khối và bắt ngoại lệ, bạn có thể làm điều này:

Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android"); 
Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri); 
startActivity(marketIntent); 

Vì vậy, nó chuyển hướng ứng dụng t o android market và ứng dụng ur tiếp tục chạy một lần nếu cài đặt barcode scanner.

Nếu bạn không muốn sử dụng ứng dụng khác trong ứng dụng ur, bạn phải tải xuống thư viện zxing và thử sử dụng các lớp từ tệp core.jar (nó được tạo bằng cách sử dụng kiến ​​apache). Thực hiện theo hướng dẫn này để làm điều đó: https://github.com/zxing/zxing/wiki/Getting-Started-Developing

Tất cả các tùy chọn Ý định có thể được tìm thấy ở đây:

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java

+0

Cảm ơn bạn, điều này có nhiều thông tin hơn. tôi đã tải xuống mã từ google. và bất cứ khi nào tôi biên dịch kịch bản được xây dựng, tôi nhận được lỗi. chúng ta có thể tải xuống core.jar từ mạng không? hoặc bạn có tệp core.jar không. – RAAAAM

+0

tệp core.jar phải được tạo theo cách riêng của bạn. –

+0

coz của nó không di động –

6

Bạn cần tải xuống tệp .Jar của Zing. & thêm vào thư mục ứng dụng của bạn. Sau đó, bạn có thể gọi các lớp học & phương pháp của nó.

+2

lý do bỏ phiếu xuống là gì? – Android

+0

Tích hợp Zxing không hoạt động theo cách đó .. – Siddharth

+2

@Siddharth - vâng, có. Đó là mã nguồn mở và đây là một lựa chọn thực hiện phổ biến. –

2

Từng bước để thiết lập ZXing 3.2.1 trong eclipse

  1. Tải ZXing -master.zip từ "https://github.com/zxing/zxing"
  2. Giải nén zxing-master.zip, Sử dụng nhật thực để nhập dự án "android" vào zxi ng-master
  3. Tải lõi-3.2.1.jar từ "http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/"
  4. Tạo "libs" thư mục trong dự án "android" và dán cor-3.2.1.jar vào libs thư mục
  5. Bấm vào dự án : chọn "properties" -> "Java Compiler" để thay đổi mức thành 1.7. Sau đó nhấp vào "Android" thay đổi "Project build target" thành android 4.4.2+, vì việc sử dụng 1.7 yêu cầu biên dịch với Android 4.4
  6. Nếu "CameraConfigurationUtils.java" không tồn tại trong "zxing-master/android/app/src/main/java/com/google/zxing/máy khách/android/máy ảnh/". Bạn có thể sao chép từ "zxing-master/android-core/src/main/java/com/google/zxing/máy khách/android/máy ảnh /" và dán vào dự án của bạn.
  7. Làm sạch và xây dựng dự án. Nếu dự án của bạn hiển thị lỗi về "switch - case", bạn nên thay đổi chúng thành "if - else".
  8. Đã hoàn tất. Làm sạch và xây dựng dự án
Các vấn đề liên quan