zxing的使用

1.MyApp中初始化

package com.example.zxingdemo;

import android.app.Application;
import android.util.Log;

import com.dash.zxinglibrary.activity.ZXingLibrary;

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Log.e("MyApp","MyApp 执行了");
        //初始化类库
        ZXingLibrary.initDisplayOpinion(this);
    }
}

2.main类中

package com.example.zxingdemo;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import com.dash.zxinglibrary.activity.CaptureActivity;
import com.dash.zxinglibrary.activity.CodeUtils;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    /**
     * 开启二维码扫描
     */
    private Button mBtStart;
    /**
     * 开启自己二维码扫描
     */
    private Button mBtStart2;
    /**
     * 生成二维码
     */
    private Button mBtStart3;
    private ImageView mIv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mBtStart = (Button) findViewById(R.id.btStart);
        mBtStart.setOnClickListener(this);
        mBtStart2 = (Button) findViewById(R.id.btStart2);
        mBtStart2.setOnClickListener(this);
        mBtStart3 = (Button) findViewById(R.id.btStart3);
        mBtStart3.setOnClickListener(this);
        mIv = (ImageView) findViewById(R.id.iv);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            default:
                break;
            case R.id.btStart:
                Intent intent = new Intent(this, CaptureActivity.class);
                startActivityForResult(intent, 1);
                break;
            case R.id.btStart2:
                Intent intent2 = new Intent(this, MyCaptureActivity.class);
                startActivityForResult(intent2, 1);
                break;
            case R.id.btStart3:
                //生成二维码
                Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.a);
                Bitmap bitmap = CodeUtils.createImage("1512Q", 200, 200, logo);
                mIv.setImageBitmap(bitmap);
                break;
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
        //取Bundle
        if (requestCode == 1) {
            Bundle bundle = intent.getExtras();
            if (bundle == null) {
                return;
            }
            if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
                String string = bundle.getString(CodeUtils.RESULT_STRING);
                Toast.makeText(MainActivity.this, "扫描内容是:" + string, Toast.LENGTH_SHORT).show();
            } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
                Toast.makeText(MainActivity.this, "扫描失败", Toast.LENGTH_SHORT).show();
            }
        }
    }
}


猜你喜欢

转载自blog.csdn.net/sui_yz/article/details/80068773