AndroidStudio导入zxing包实现二维码扫描

AndroidStudio导入zxing包实现二维码扫描

  • zxing包、zxing源码及本博客示例代码下载,下载地址:
    [下载]

1、新建一个空白工程
2、将压缩包中的文件按目录顺序放入工程目录中
3、在项目中导入zxing.jar包
4、在..\src\main\res\values中打开string.xml,注意第一行标签代表的是自己的APP的名称,可自行修改。
同时在第二行添加“action_setting”的值


  <string name="app_name">填入自己的APP名称string>
  <string name="action_settings">设置string>
  .......

5、在项目中打开zxing的源码,将其中报错的源文件(主要是报错R找不到)顶部的import juicyactive.recodetest.R;改为自己的包名
6、在AndroidManifest.xml的application标签中添加zxing.android.CaptureActivity并添加相关权限

<uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
            <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            intent-filter>
        activity>
        <activity android:name="zxing.android.CaptureActivity">activity>
    application>

7、在zing.andoird.CaptureActivity的handleDecode()函数中编写得到扫描结果后所做的操作。

/**
     * 扫描成功,处理反馈信息
     * 
     * @param rawResult
     * @param barcode
     * @param scaleFactor
     */
    public void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor) {
        inactivityTimer.onActivity();

        boolean fromLiveScan = barcode != null;
        //这里处理解码完成后的结果,此处是用Toast显示结果
        if (fromLiveScan) {
            beepManager.playBeepSoundAndVibrate();
            Toast.makeText(this,"内容为:" + rawResult.getText(), Toast.LENGTH_SHORT).show();
            finish();
        }

    }

注意:
1、如果本身项目中的string.xml等文件中已有内容,只需要将string.xml等文件中的内容复制到自己项目中的对应文件中即可。
2、本文所提供的示例程序源码基于Android5.0,SDK版本为21.0,请注意修改成自己SDK版本

你可能感兴趣的:(AndroidStudio学习)