- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[안드로이드] zxing을 활용한 QR code, 바코드 앱개발하기 본문
1. ZXing2.1.zip을 다운 받는다. 다운로드 받는 곳 : http://code.google.com/p/zxing/downloads/list
2. 압축을 해제하면 다음과 같은 폴더구조가 나타난다.
3. 여기서 core/core.jar를 사용하면 ZXing의 QR 코드 및 바코드 인식 기능을 사용할 수 있다. 라이브러리를 다운받아서 android/ 폴더에 있는 예제를 실행해보면 알 수 있겠지만 라이브러리에 함께 들어가 있는 core.jar를 그대로 사용하면 android 버전에 따라 앱이 비정상 종료를 일으키는 경우가 있다. 이를 해결하기 위해서는 별도로 core.jar를 빌드해주어야 한다.
4. core.jar를 빌드하기 위해서 ant.apache.org에서 ant관련 package를 다운 받는다.
다운로드 받는 곳 : http://ant.apache.org/bindownload.cgi
아래 이미지 처럼 왼쪽의 Binary Distributions를 누르고 apache-ant-1.8.4-bin.zip을 다운 받는다. linux나 다른 OS의 경우는 적당한 binary를 다운 받는다.
5. 적당한 곳에 압축을 푼다. 여기서는 D:/program Files/apache-ant-1.8.4에 압축을 풀었다.
6. 제어판 > 시스템 > 고급시스템 설정 > 환경변수 > 시스템 변수에서 아래 그림과 같이 path 맨 마지막에 ant의 경로를 추가한다.
7. ZXing 의 core/ 폴더로 이동해서 다음과 같이 빌드한다.
C:\ZXing-2.1\core>ant Buildfile: C:\ZXing-2.1\core\build.xml init: build: [jar] Building jar: C:\ZXing-2.1\core\core.jar BUILD SUCCESSFUL Total time: 2 seconds C:\ZXing-2.1\core>_
|
8. 빌드하고 나면 해당 폴더에 core.jar가 생성된 것을 확인할 수 있다.
9. core.jar를 개발하는 Project에 Lib폴더를 만들어 추가한다음 Window > Preferences > Java Build Path > Add JARs...를 통해 Build Path에 추가한다.
10. 그 후 아래와 같은 코드로 QR code Reader기를 호출할 수 있다.
Intent intent = new Intent("com.google.zxing.client.android.SCAN"); startActivityForResult(intent, 0);
|
11. 위의 코드를 실행하면 다음과 같은 화면이 실행된다.
12.위의 화면에서 QR Code를 비추면 인식이되며 읽어온 값에 대한 처리는 아래와 같이 할 수 있다.
@Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == 0) { if (resultCode == RESULT_OK) { String contents = intent.getStringExtra("SCAN_RESULT"); String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); //여기서 Contents가 인터넷 주소라면 당 URL로 이동하는 코드를 넣는다. } else if (resultCode == RESULT_CANCELED) { //에러 처리를 해준다. } } |
'★─Programing > ☆─Android' 카테고리의 다른 글
[안드로이드] 블루투스 활성/비활성화 (on/off) (0) | 2016.06.01 |
---|---|
[안드로이드] 이클립스 내에서 안드로이드 제공하는 소스 난독화(ProGuard) 적용 (0) | 2016.06.01 |
[안드로이드] FrameLayout 내의 ChildView들의 위치제어하기 (0) | 2016.05.31 |
[안드로이드] Spannable 사용하기 (0) | 2016.05.31 |
[안드로이드] 동적으로 layout width, height 변경하기 (0) | 2016.05.27 |