저는 비교적 안드로이드 개발에 익숙하며 지금까지 파편의 목적을 포착하지 않았습니다. 어쨌든, 내 앱에 로그인하는 모든 사용자에 대해 고유 한 QR 코드을 만들려고합니다. 이 QR 코드는 데이터베이스에서 검색 한 사용자 정보로 가득 찬 입니다. 지금 내가 경험하고있는 유일한 문제는 qr 코드의 생성이다. 수십 개의 자습서를 살펴 보았지만 종종 유스 케이스에 대해 무효화되거나 단순히 작동시키지 못하는 경우가 있습니다. 나는 또한 XXING api을 보았습니다. 그러나 그것은 도움이되지 못했습니다. 이 노력을 돕기 위해 StackoverFlow 커뮤니티에 물어보십시오. 모든 도움을 주실 수 있습니다.파편을 사용하여 Android 용 QR 코드 생성기를 만드는 방법
0
A
답변
0
Activity와 Fragment간에 약간의 차이가 있습니다. 둘 다 UI를 표시하는 데 사용할 수 있습니다. 조각을 사용하려면 Fragment가 항상 Activity에 포함되어야하기 때문에 Activity가 해당 호스트로 필요합니다. documentation 가입일
:
는단편 행동 또는 활성 사용자 인터페이스의 일부를 나타낸다. 단일 활동에서 여러 단편을 결합하여 다중 창 UI를 작성하고 여러 활동에서 단편을 재사용 할 수 있습니다. 은 조각을 활동의 모듈 섹션으로 생각할 수 있습니다.이 섹션의 활동주기는 이며 자체 입력 이벤트를 수신하며 수행 중에는 을 추가하거나 제거 할 수 있습니다 (하위 예제 : 활동 "다른 활동에서 재사용 할 수 있음).
조각
는 항상 활동에 포함되어야하며 조각의 라이프 사이클 직접 호스트 활동의 라이프 사이클에 의해 영향을 받는다.
조각을 마스터하기 위해서는 Building a Dynamic UI with Fragments을 읽어야합니다.
- 호스트
- 활동의 레이아웃을 만듭니다로 활동을 만듭니다 단계는 조각 (주이없는 엄격한 규칙을) 만들 수 있습니다. 그 안에는 프래그먼트 홀더로 FrameLayout 뷰를 만들어야합니다.
- 는 조각
- 의 UI 레이아웃을 만들기 QR 코드 파트를 생성 지금
하여 FragmentTransaction을 사용하여 활동에 조각을 연결 조각 클래스를
QR 코드 이미지를 작성하려면 먼저 빌드에 다음 줄을 사용하여 ZXing library을 포함시켜야합니다.Gradle을는 (사용 latest version) :
compile 'com.google.zxing:core:3.3.0'
그런 다음, 다음 코드를 사용하여 QR 코드 비트 맵을 만들 :
private Bitmap textToImage(String text, int width, int height) throws WriterException, NullPointerException {
BitMatrix bitMatrix;
try {
bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.DATA_MATRIX.QR_CODE,
width, height, null);
} catch (IllegalArgumentException Illegalargumentexception) {
return null;
}
int bitMatrixWidth = bitMatrix.getWidth();
int bitMatrixHeight = bitMatrix.getHeight();
int[] pixels = new int[bitMatrixWidth * bitMatrixHeight];
int colorWhite = 0xFFFFFFFF;
int colorBlack = 0xFF000000;
for (int y = 0; y < bitMatrixHeight; y++) {
int offset = y * bitMatrixWidth;
for (int x = 0; x < bitMatrixWidth; x++) {
pixels[offset + x] = bitMatrix.get(x, y) ? colorBlack : colorWhite;
}
}
Bitmap bitmap = Bitmap.createBitmap(bitMatrixWidth, bitMatrixHeight, Bitmap.Config.ARGB_4444);
bitmap.setPixels(pixels, 0, width, 0, 0, bitMatrixWidth, bitMatrixHeight);
return bitmap;
}
그런 다음 당신이 당신의 조각에 이미지 뷰에 생성 된 이미지를 설정하는 데 사용할 수 있습니다 다음과 같이 입력하십시오 :
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.your_fragment_layout, container, false);
ImageView imvQrCode = (ImageView) view.findViewById(R.id.your_image_view);
Bitmap bitmap = textToImage("your_text_info", 500, 500);
imageView.setImageBitmap(bitmap);
return view;
}
효과가 있으며, 당신은 구세주입니다. 모든 도움에 감사드립니다 – saj5211
대단히 환영합니다. 이 대답을 수락하면 질문을 닫을 수 있습니다.) –