반응형

예전에 이클립스로 ZXing을 구현을 한적이 있었다. 라이브러리 파일을 가져다가 커스터마이징을 하여 구현을 했었었는데... 최근 안드로이드 스튜디오를 사용하다보니 라이브러리파일을 어디다가 넣어야할지.. 어떻게 해야할지 모르겠다.

방법을 찾다보니.. 아주 간단히 구현이 가능하다.

build.gradle파일에

dependencies {

compile 'com.journeyapps:zxing-android-embedded:3.0.0@aar'
compile 'com.google.zxing:core:3.2.0'
}

그리고 intent를 호출하듯이...

new IntentIntegrator(this).initiateScan();

 

이것만으로 내프로젝트 내부의 바코드스캐너가 호출이된다.

 

또한...

 

IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.setCaptureActivity(ActivityScanner.class);
integrator.setOrientationLocked(true);
integrator.initiateScan();

setCaptureActivity 로 나만의 엑티비티를 지정할 수가 있다.

 

setOrientationLocked이 false이면 가로, 세로일 경우 자동으로 바뀐다.

 

 

그리고... 스캔한 값은 .. 호출한 엑티비티 안에 onActivityResult를 구현해준다.

 

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

// QR코드/바코드를 스캔한 결과 값을 가져옵니다.
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);

// 결과값 출력
new AlertDialog.Builder(this)
.setTitle(R.string.app_name)
.setMessage(result.getContents() + " [" + result.getFormatName() + "]")
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
}
 
10분만에 간단히 구현 완료~~~^^

 

반응형

WRITTEN BY
아카이시

,