日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

發布時間:2023/12/9 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NextQRCode ZXing開源庫的精簡版

**基于ZXing Android實現生成二維碼圖片和相機掃描二維碼圖片即時解碼的功能
原文博客 附源碼下載地址**

與原ZXingMini項目對比

NextQRCode做了重大架構修改,原ZXingMini項目與當前NextQRCode不兼容

dependencies {compile 'com.github.yoojia:next-qrcode:2.0-2'... }

生成二維碼圖案

// 二維碼中間圖標 final Bitmap centerImage = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher); // 生成的二維碼圖案 Bitmap qrCodeImage = new QRCodeEncoder.Builder().width(size) // 二維碼圖案的寬度.height(size).paddingPx(0) // 二維碼的內邊距.marginPt(3) // 二維碼的外邊距.centerImage(centerImage) // 二維碼中間圖標.build().encode(content);

二維碼解碼

final QRCodeDecoder mDecoder = new QRCodeDecoder.Builder().build(); // 傳入二維碼圖案Bitmap對象然后解碼成文本內容 String content = mDecoder.decode(bitmap);

使用 LiveCameraView 自動掃描解碼

public class QRCodeScanActivity extends AppCompatActivity {public static final String TAG = QRCodeScanActivity.class.getSimpleName();private LiveCameraView mLiveCameraView;private ImageView mCaptureImage;private TextView mContentView;private final CaptureCallback mCaptureCallback = new CaptureCallback() {@Override public void onCaptured(Bitmap bitmap) {Log.i(TAG, "-> Got bitmap, show to capture view");mCaptureImage.setImageBitmap(bitmap);Observable.just(bitmap).map(new Func1<Bitmap, String>() {private final QRCodeDecoder mDecoder = new QRCodeDecoder.Builder().build();@Overridepublic String call(Bitmap bitmap) {return mDecoder.decode(bitmap);}}).subscribeOn(Schedulers.computation()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<String>() {@Override public void call(String content) {mContentView.setText(content);}});}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Window window = getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);setContentView(R.layout.activity_scan);mCaptureImage = (ImageView) findViewById(R.id.capture_image);mContentView = (TextView) findViewById(R.id.content);mLiveCameraView = (LiveCameraView) findViewById(R.id.capture_preview_view);mLiveCameraView.setPreviewReadyCallback(new CameraPreviewView.PreviewReadyCallback() {@Overridepublic void onStarted(Camera camera) {Log.i(TAG, "-> Camera started, start to auto capture");mLiveCameraView.startAutoCapture(1500, mCaptureCallback);}@Overridepublic void onStopped() {Log.i(TAG, "-> Camera stopped");mLiveCameraView.stopAutoCapture();}});}}

**基于ZXing Android實現生成二維碼圖片和相機掃描二維碼圖片即時解碼的功能
原文博客 附源碼下載地址**

總結

以上是生活随笔為你收集整理的基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。