QR 코드 생 성과 식별

QR 코드 QR 코드
위 챗 시대 가 도래 함 에 따라 QR 코드 가 사람들의 시선 에 들 어가 면서 사람들 이 QR 코드 를 사용 하 는 곳 이 많아 지고 QR 코드 도 점점 뜨 거 워 지고 있다.QR 코드 는 개인 명함,상품 정보,가게 정보 와 기업 정보 에 자주 사 용 됩 니 다.저 희 는 QR 코드 를 스 캔 하여 친 구 를 추가 하고 소프트웨어 를 다운로드 할 수 있 습 니 다.
    QR 코드 가 비교적 유명한 QR 코드 제3자 라 이브 러 리 ZXing(구 글 이 오픈 한 QR 코드 스 캔 라 이브 러 리,Android,javaSE 에 사용)
Zxing 은 구 글 이 소스 코드 를 개방 하고 자바 로 이 루어 진 다양한 형식의 1d,2d 바코드 이미지 처리 로 다른 언어 와 연 결 된 포트 를 포함한다.
ZXing 은 핸드폰 에 내 장 된 카 메 라 를 이용 하여 바코드 스 캔 과 디 코딩 을 완성 할 수 있 습 니 다.
https://github.com/ThePacific/zxing-barcode
그러나 구 글 의 ZXing 오픈 소스 라 이브 러 리 기능 이 너무 강하 고 우리 프로젝트 에 신속하게 통합 되 기 어렵 기 때문에 ZXing 이 처 리 된 제3자 오픈 소스 라 이브 러 리 를 제공 하여 사용 하기에 편리 합 니 다.다운로드 주소:https:/y


unpan.cn/cPaUIBZE3Npiy 
접근 암호
b316
사용 도구:Android Studio
libzxing 프로젝트 를 우리 프로젝트 에 가 져 옵 니 다.구체 적 인 절 차 는 다음 과 같 습 니 다.
STEP 1:libzxing 프로젝트 도입 필요    선택 메뉴:File/new/import module
두 번 째 단계:libzxing 프로젝트 를 프로젝트 에 도입 합 니 다.  오른쪽 키 항목 선택 메뉴 openmodule settings
           app/dependencies/+플러스/module dependencies 를 선택 하여 libzxing 을 선택 하고 추가 합 니 다.
세 번 째 단계:프로젝트 에서 MainActivity(Activity)만 들 기
MainActivity
  import android.content.Intent;
  import android.graphics.Bitmap;
  import android.graphics.BitmapFactory;
  import android.hardware.camera2.CaptureRequest;
  import android.support.v7.app.AppCompatActivity;
  import android.os.Bundle;
  import android.util.Log;
  import android.view.View;
  import android.widget.CheckBox;
  import android.widget.EditText;
  import android.widget.ImageView;
  import android.widget.TextView;
  import android.widget.Toast;
  import com.xys.libzxing.zxing.activity.CaptureActivity;
  import com.xys.libzxing.zxing.encoding.EncodingUtils;
 public class MainActivity extends AppCompatActivity {

    private TextView tv_ScanResult;

    private EditText et_Text;

    private ImageView imgv_QRcode;

    private CheckBox cb_includeLogo;
  

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_zxing_main);

        tv_ScanResult= (TextView) findViewById(R.id.tv_ScanResult);

        et_Text= (EditText) findViewById(R.id.et_Text);

        imgv_QRcode= (ImageView) findViewById(R.id.imgv_QRcode);

        cb_includeLogo= (CheckBox) findViewById(R.id.cb_includeLogo);

    }


    //       ZXing  api    

    public void scan(View view){

        startActivityForResult(new Intent(XZingMainActivity.this,

                CaptureActivity.class),0);

    } 

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode==RESULT_OK){

            Bundle bundle=data.getExtras();//  Bundle          

            String sResult=bundle.getString("result");

            tv_ScanResult.setText(sResult);
 
            System.out.println("      "+sResult);

        }
    }
 

    public void CreateQRode(View view){

        String sInput=et_Text.getText().toString();

        if (sInput.equals("")){

            Toast.makeText(XZingMainActivity.this,"            ",Toast.LENGTH_SHORT).show();
        }else{

            if (cb_includeLogo.isChecked()==false){

                //  ZXing   createQRCode     ----     

                Bitmap bitmap= EncodingUtils.createQRCode(sInput,500,500,null);

                imgv_QRcode.setImageBitmap(bitmap);
            }else{

                //  ZXing   createQRCode     ----    

                Bitmap bitmap= EncodingUtils.createQRCode(sInput,500,500,

                        BitmapFactory.decodeResource(getResources(),R.drawable.appicon));

                imgv_QRcode.setImageBitmap(bitmap);

            } 

        }
  
    }

}
activity_main.xml    


  
 
    
  
    
  
    

    

좋은 웹페이지 즐겨찾기