바코드, QR코드 생성
Generate Bar or QR code
안드로이드에서 (안드로이드 외에도 많은 플랫폼을 지원한다) 바코드 또는 QR코드를 생성하는 방법.
아주 쉽고 빠른 개발을 위해 zxing 라이브러리를 사용하였다.
STEP 1> 라이브러리 추가
dependencies {
compile 'com.google.zxing:core:2.0'
}
STEP 2> 코드 작성
MultiFormatWriter gen = new MultiFormatWriter();
String data = "YOUR DATA";
try {
final int WIDTH = 320;
final int HEIGHT = 180;
BitMatrix bytemap = gen.encode(data, BarcodeFormat.CODE_128, WIDTH, HEIGHT);
Bitmap bitmap = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888);
for (int i = 0 ; i < WIDTH ; ++i)
for (int j = 0 ; j < HEIGHT ; ++j) {
bitmap.setPixel(i, j, bytemap.get(i,j) ? Color.BLACK : Color.WHITE);
}
ImageView view = (ImageView) layout.findViewById(R.id.imageView);
view.setImageBitmap(bitmap);
view.invalidate();
System.out.println("done!");
} catch (Exception e) {
e.printStackTrace();
}
코드는 간단하다.
- 바코드 이미지 비트맵 생성을 위해 MultiFormatWriter를 생성한다.
- 출력될 바코드 비트맵 이미지의 가로 세로 크기를 설정한다. 단위는 픽셀이다. 예제로 사용한 320x180으로도 충분하다.
- 바코드 비트맵 이미지를 생성하자. MultiFormatWriter.encode()메소드를 이용한다. 반환되는 객체는 boolean형 2차원 배열로 표현된 바코드(QR코드) 모델로, BitMatrix이다.
- 보통 바코드를 이미지 형태로 만들어서, ImageView를 통해 유저에게 표현할 것이 아닌가? ImageView에 넣어주기 적합한 Bitmap을 생성하자.
- ImageView.setImageBitmap()을 사용해 이미지 뷰에 넣어준다. 끝.
부록
'Android > Application' 카테고리의 다른 글
Android SearchView (0) | 2015.09.23 |
---|---|
안드로이드 상태바 색상 변경 (0) | 2015.09.23 |
Android DPI (0) | 2015.09.22 |
Android Modern Design Items (0) | 2014.12.13 |
안드로이드 파일 저장 (0) | 2014.10.08 |