android studio 利用zxing实现二维码扫描附demo

原文:http://www.cnblogs.com/xinyibufang/p/7337758.html

刚学习安卓,碰到一个需要二维码的项目,折腾了几天,网上资源一大把,可能是自己太菜了,各种bug,调试都调试不过来,最后自己捣鼓出来了。

本文分为两部分,

  1. 集成zxing,这里我们用的是精简版的包,Zxing在Github是有随便百度一下就有就不贴了

  2. 这里贴上我们用的简化的zxing包,适合只需要扫描二维码功能的同学

  3. 百度网盘:链接: https://pan.baidu.com/s/1miSk9ja 密码: 8bw9(附免费demo

  4. 解压下载好的包,在ZXing二维码\ZXingProject-master\ZXingProj\src\com\dtr目录下,复制这个zxing文件夹到我们的项目中android studio 利用zxing实现二维码扫描附demo_第1张图片
  5. 注意复制的位置                                                                    仔细看android studio 利用zxing实现二维码扫描附demo_第2张图片
  6. 重点!!!  复制下载好的项目中的zxing.jar包到我们自己项目中的libs里android studio 利用zxing实现二维码扫描附demo_第3张图片android studio 利用zxing实现二维码扫描附demo_第4张图片
  7. 然后右键AddAsLibrary这一步一定要做,不然各种bugandroid studio 利用zxing实现二维码扫描附demo_第5张图片
  8. 复制下载的reslayout文件resvalues的ids文件raw文件夹res的drawable-xhdpi文件夹到我们项目的对应位置

    android studio 利用zxing实现二维码扫描附demo_第6张图片

    android studio 利用zxing实现二维码扫描附demo_第7张图片

     

     

     

    android studio 利用zxing实现二维码扫描附demo_第8张图片

    android studio 利用zxing实现二维码扫描附demo_第9张图片

  9. 重新导入文件,记得删除原先的R包,换成自己项目的R包 这里有好几处包名对不上的,多编译几次,然后把错误的包直接删除,在飘红代码处直接按Alt+Enter自动补齐,不用手敲

    android studio 利用zxing实现二维码扫描附demo_第10张图片

    修改:

     android studio 利用zxing实现二维码扫描附demo_第11张图片

     

    全部修改完重新编译无错误

    android studio 利用zxing实现二维码扫描附demo_第12张图片

  10. 在我们Manifests的声明权限和Activity

    android studio 利用zxing实现二维码扫描附demo_第13张图片android studio 利用zxing实现二维码扫描附demo_第14张图片

  11. 贴上调用代码
    public class MainActivity extends AppCompatActivity {
    
        private Button button;
        private TextView text;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            text = (TextView) findViewById(R.id.text);
            button = (Button) findViewById(R.id.button);
    
    
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    startActivity(new Intent(MainActivity.this, CaptureActivity.class));
                }
            });
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
                if (resultCode == RESULT_OK) {
                    Bundle bundle = data.getExtras();
                    //显示扫描到的内容
                    text.setText(bundle.getString("result"));
                }
    
        }
    }
    


这里我们就不贴实际效果图啦。

附上demo










你可能感兴趣的:(android)