반응형
- QR코드 및 바코드 인식을 하기 위하여 오픈소스인 zxing 을 다운받아 라이브러리를 추가후 사용할수 있다.
https://code.google.com/p/zxing/downloads/list - zxing 다운 받는곳 에서 받아서 사용할수 있으며.
또한 밑의 주소에서 수정된 소스를 사용할수 있다.
- 참고 싸이트 아이군의 블로그 참초 !!(첨부파일은 참고싸이트에 있음.)
[ZXING]이라는 정말 잘 만들어진 안드로이드에서도 사용할 수 있는 QR코드/바코드 스캐너가 있습니다. 아이폰에서는 적당히 자유롭게 쓸 수 있지만 안드로이드에서는 Intent라는 좋은(?) 개념때문인지 Barcode Scanner라는 프로그램을 설치하여 그것을 Intent로 호출해 사용하게끔 하고 있더군요.
그리하여 ZXing의 안드로이드 소스를 커스터마이징 해서 그냥 사용할 수 있도록 약간 고쳐보았습니다. 만들어진 소스는 ZXing android + android-integration을 통합하여 제작하였습니다.
사용하시는 방법은 소스코드를 그냥 통채로 올리니 참고하시면 되겟지만 간단하게 기록을 해보겠습니다.
1. AndroidManifest.xml에 다음을 추가합니다.
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
...
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2. 리소스 파일을 복사합니다. UI를 변경하고 싶을 경우 capture.xml을 변경하시면 됩니다.
res/layout/capture.xml
res/layout/ids.xml
res/layout/ids.xml
3. 스캐너 호출 방법 (android-integration)
// QR코드/바코드 스캐너를 구동합니다.
IntentIntegrator.initiateScan(MainActivity.this);
4. 결과 처리 방법
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();
}
반응형
'프로젝트' 카테고리의 다른 글
AJAX(수정요망) (0) | 2013.07.22 |
---|---|
소스 분석 2) Json파서를 이용하여 값읽어오기. (0) | 2013.07.22 |
소스 분석 1) Android 에서의 HttpClient (0) | 2013.07.22 |
개요 (0) | 2013.07.22 |