본문 바로가기

Android/Application

바코드, QR코드 생성

바코드, 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();
}


코드는 간단하다.

  1. 바코드 이미지 비트맵 생성을 위해 MultiFormatWriter를 생성한다.
  2. 출력될 바코드 비트맵 이미지의 가로 세로 크기를 설정한다. 단위는 픽셀이다. 예제로 사용한 320x180으로도 충분하다.
  3. 바코드 비트맵 이미지를 생성하자. MultiFormatWriter.encode()메소드를 이용한다. 반환되는 객체는 boolean형 2차원 배열로 표현된 바코드(QR코드) 모델로, BitMatrix이다.
  4. 보통 바코드를 이미지 형태로 만들어서, ImageView를 통해 유저에게 표현할 것이 아닌가? ImageView에 넣어주기 적합한 Bitmap을 생성하자.
  5. 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