오픈 바코드 소스인 zxing 을 사용하여 간단하게 QR 코드를 인식하는 예제를 만들어 보겠습니다.
지원되는 바코드 종류는 다음과 같습니다.
- UPC-A and UPC-E
- EAN-8 and EAN-13
- Code 39
- Code 128
- QR Code
- Data Matrix ('alpha' quality)
- PDF 417 ('alpha' quality)
- ITF
1. BarcodeScanner (.apk) 를 다운 받아 디바이스에 설치합니다. ( 갤럭시 탭을 사용했습니다. )
( 현재 최신 버전 3.53 )
download : http://code.google.com/p/zxing/downloads/list
- BarcodeScanner의 소스는 ZXing 소스 안에 있는 android 입니다.
예제 소스는
BarcodeScanner 프로그램을 인텐트를 사용하여 호출하여 실행하고 결과값을 반환받아 해당 URL 로 이동하는 내용입니다.
package exam.ZXingTest; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.widget.Toast; public class ZXingTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent = new Intent("com.google.zxing.client.android.SCAN"); intent.setPackage("com.google.zxing.client.android"); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0); } protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if(requestCode == 0) { if(resultCode == RESULT_OK) { String contents = intent.getStringExtra("SCAN_RESULT"); Intent _intent = new Intent(Intent.ACTION_VIEW, Uri.parse (contents)); startActivity(_intent); } else if(resultCode == RESULT_CANCELED) { Toast.makeText(ZXingTestActivity.this, "Cancel", } } } } |
참고 : http://code.google.com/p/zxing/wiki/ScanningViaIntent
2. 실행 화면
- 갤럭시 탭 실행 화면 ( QR 코드 인식 시 바로 해당 URL 로 이동합니다. )
- 다음 포스팅에서는 BarcodeScanner 소스를 빌드하는 방법에 대해 알아보겠습니다.
'Mobile > Android' 카테고리의 다른 글
ZXing Android Build (6) | 2011.02.09 |
---|---|
Android 개발 환경 ③ - Android SDK & ADT (0) | 2011.02.06 |
Android 개발 환경 ② - Eclipse (0) | 2011.02.06 |
Android 개발 환경 ① - Java JDK (0) | 2011.02.06 |