国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

基于barcodescanner實現(xiàn)Android二維碼掃描功能

2019-12-12 02:29:41
字體:
供稿:網(wǎng)友

二維碼掃描現(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ā),并且掃描性能和結(jié)果比較穩(wěn)定,現(xiàn)在給出基于barcodescanner的二維碼掃描示例。

第一, 先引入對barcodescanner的引用,需要在build.gradle里面添加依賴:

compile 'me.dm7.barcodescanner:core:1.9'
compile 'me.dm7.barcodescanner:zxing:1.9'

第二, 寫布局:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <me.dm7.barcodescanner.zxing.ZXingScannerView android:id="@+id/scannerView" android:layout_width="match_parent" android:layout_height="match_parent" /> <Button android:id="@+id/light" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="開/關燈" /></RelativeLayout>

第三, 上層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); }}

不要忘記添加相機和閃光燈權(quán)限:

<uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.FLASHLIGHT" />

代碼運行結(jié)果如圖:

附錄:Android實現(xiàn)基于ZXing快速集成二維碼掃描功能

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 绥棱县| 霍山县| 鹿邑县| 永胜县| 个旧市| 盐源县| 宣城市| 太谷县| 江津市| 河东区| 突泉县| 庄河市| 佳木斯市| 远安县| 蓬安县| 湘潭市| 定安县| 商河县| 澎湖县| 茶陵县| 志丹县| 枝江市| 九台市| 商南县| 威宁| 黑龙江省| 井研县| 北辰区| 左权县| 阜康市| 丰原市| 罗江县| 房山区| 荃湾区| 丰都县| 拜泉县| 宁海县| 宿州市| 马龙县| 林周县| 西丰县|