* 안드로이드에서 바코드 스캐너 zxing library. 좋음
* 나의 목표
- portrait만 지원,
- 스캐너 화면에 디자인 레이아웃 xml 이 필요함
- Android Studio 1.5.1
* build.gradle 의 dependencies 항목에 아래의 2라인 추가
compile 'com.journeyapps:zxing-android-embedded:3.0.3@aar'
compile 'com.google.zxing:core:3.2.1'
* CaptureActivity 를 상속받는 activity를 만든다
CaptureActivity를 상속받으면 자동으로 바코드스캐너가 실행된다
public class barcode_scan_activity extends CaptureActivity
* barcode_scan_activity의 onCreate 에서 setContentView를 하면 안된다.
디자인을 입히려면, view를 만들어서 addContentView 한다.
@Override protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// 이거하면, 카메라화면이 안보임
//setContentView(R.layout.barcode_scan_activity);
// 상단 타이틀 뷰
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
barcode_scan_title_view title_view = new barcode_scan_title_view(this);
this.addContentView(title_view, layoutParams);
}
* barcode_scan_activity 를 호출하는 activity(caller_activity라고 하자)에서 아래처럼 호출한다.
IntentIntegrator zxingII = new IntentIntegrator(this);
zxingII.setCaptureActivity(barcode_scan_activity.class);
zxingII.setOrientationLocked(true);
zxingII.initiateScan();
* 바코드스캔결과는 caller_activity에서 아래처럼 받는다.
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
// QR코드/바코드를 스캔한 결과
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
// result.getFormatName() : 바코드 종류
// result.getContents() : 바코드 값
}
* 참고 사이트 : https://github.com/journeyapps/zxing-android-embedded
'Android 초보' 카테고리의 다른 글
HTTPS with Client Certificates on Android (0) | 2016.01.26 |
---|---|
LocalBroadcastManager (0) | 2015.12.21 |
android. 구글맵 (0) | 2015.08.11 |
leftmargin 애니메이션 (0) | 2015.01.06 |
안드로이드, 배경화면 이미지. 버그 수정 (0) | 2014.12.16 |