二維碼掃描現(xiàn)在成為一種非常常見的APP基礎功能,附錄1是我曾經(jīng)用過的二維碼/條形碼掃描開源項目,但是附錄1的項目集成和二次定制比較繁瑣和麻煩,因此可以發(fā)現(xiàn)不少人基于ZXing做了二次的開發(fā),并貢獻出這些項目,發(fā)到github上,其中barcodescanner就是這樣的項目,barcodescanner的github項目地址:https://github.com/dm77/barcodescanner ,barcodescanner簡化了ZXing的集成和二次定制難度,方便快速集成和開發(fā),并且掃描性能和結果比較穩(wěn)定,現(xiàn)在給出基于barcodescanner的二維碼掃描示例。
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了百色免費建站歡迎大家使用!
第一,先引入對barcodescanner的引用,需要在build.gradle里面添加依賴:
compile 'me.dm7.barcodescanner:core:1.9'
compile 'me.dm7.barcodescanner:zxing:1.9'
第二,寫布局:
<?xml version="1.0" encoding="utf-8"?>
第三,上層Java代碼:
package zhangphil.mgscanner; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Toast; import com.google.zxing.Result; import me.dm7.barcodescanner.zxing.ZXingScannerView; public class MainActivity extends Activity { private boolean mFlash; private ZXingScannerView mScannerView; private ZXingScannerView.ResultHandler mResultHandler = new ZXingScannerView.ResultHandler() { @Override public void handleResult(Result result) { mScannerView.resumeCameraPreview(mResultHandler); //重新進入掃描二維碼 Toast.makeText(getApplicationContext(), "內(nèi)容=" + result.getText() + ",格式=" + result.getBarcodeFormat().toString(), Toast.LENGTH_SHORT).show(); } }; @Override public void onCreate(Bundle state) { super.onCreate(state); setContentView(R.layout.activity_main); mScannerView = (ZXingScannerView) findViewById(R.id.scannerView); mScannerView.setResultHandler(mResultHandler); findViewById(R.id.light).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { toggleFlash(); } }); } @Override public void onResume() { super.onResume(); mScannerView.setResultHandler(mResultHandler); mScannerView.startCamera(); } @Override public void onPause() { super.onPause(); mScannerView.stopCamera(); } private void toggleFlash() { mFlash = !mFlash; mScannerView.setFlash(mFlash); } }
不要忘記添加相機和閃光燈權限:
代碼運行結果如圖:
附錄:Android實現(xiàn)基于ZXing快速集成二維碼掃描功能
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。