본문 바로가기
Android

Android QRcode Create

by 캡틴노랑이 2021. 3. 17.
반응형

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

댓글