반응형
test device : note 4
android os : Marshmallow 6.0
build.gradle
1 2 3 4 | implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.journeyapps:zxing-android-embedded:3.6.0' |
activity_qrcode.xml
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 31 32 33 34 35 36 37 38 | <? xml version = "1.0" encoding = "utf-8" ?> < androidx.constraintlayout.widget.ConstraintLayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:app = "http://schemas.android.com/apk/res-auto" xmlns:tools = "http://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".QrcodeActivity" > < LinearLayout android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" > < androidx.appcompat.widget.Toolbar android:id = "@+id/tbToolBar" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:background = "?attr/colorPrimary" android:minHeight = "?attr/actionBarSize" android:theme = "?attr/actionBarTheme" app:title = "Barcode Print" /> < ImageView android:id = "@+id/ivQRcode" android:layout_width = "match_parent" android:layout_height = "275dp" /> < EditText android:id = "@+id/etQRcode" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:text = "bardcode1234" /> < Button android:id = "@+id/btnCreate" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:text = "QR code Create" android:onClick = "btnCreateOnClick" /> </ LinearLayout > </ androidx.constraintlayout.widget.ConstraintLayout > |
QrcodeActivity.java
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | package com.example.sampleproject; import androidx.appcompat.app.AppCompatActivity; import android.graphics.Bitmap; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import com.example.sampleproject.Norang.NorangActivity; import com.google.zxing.BarcodeFormat; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.journeyapps.barcodescanner.BarcodeEncoder; public class QrcodeActivity extends NorangActivity { private EditText etQRcode; private ImageView ivQRcode; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_qrcode); InitializeControl(); InitializeCommonDataBind(); } private void InitializeCommonDataBind() { } private void InitializeControl() { ivQRcode = findViewById(R.id.ivQRcode); etQRcode = findViewById(R.id.etQRcode); toolbar = findViewById(R.id.tbToolBar); setToolbar( "" ); } public void btnCreateOnClick(View view) { String qrCodeText = etQRcode.getText().toString(); try { MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); BitMatrix bitMatrix = multiFormatWriter.encode(qrCodeText, BarcodeFormat.QR_CODE, 300 , 300 ); BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix); ivQRcode.setImageBitmap(bitmap); } catch (Exception e){ Log.e( "btnCreateOnClick" , e.getMessage()); } } } |
반응형
'Android' 카테고리의 다른 글
Android FileList 파일 탐색기 (0) | 2021.04.04 |
---|---|
Android Dialog (3) | 2021.04.02 |
Android Barcode Create (555) | 2021.03.17 |
Bluetooth file & text transfer #3 client (4) | 2021.03.17 |
Bluetooth file & text transfer #2 server (4) | 2021.03.17 |
댓글