【Android】实现生成二维码、条形码和扫描二维码的功能

这篇具有很好参考价值的文章主要介绍了【Android】实现生成二维码、条形码和扫描二维码的功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、添加依赖

二、布局文件

三、实现生成二维码的功能

四、效果图


一、添加依赖

要先添加一个第三方库来实现二维码的生成以及扫描二维码的功能,开源库如下:

在build.grade(Moudle)中添加依赖:

implementation 'com.journeyapps:zxing-android-embedded:3.4.0'

二、布局文件

效果如下:

【Android】实现生成二维码、条形码和扫描二维码的功能

activity_main.xml:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="40dp"
        android:gravity="center">
        <EditText
            android:id="@+id/text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入文字"/>
        <Button
            android:id="@+id/generate"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:text="点击生成"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/text"/>

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/image"
            android:layout_below="@+id/generate"
            android:scaleType="fitCenter"
            android:adjustViewBounds="true"/>

    </RelativeLayout>

三、实现生成二维码的功能

MainActivity.java:

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.journeyapps.barcodescanner.BarcodeEncoder;

public class MainActivity extends AppCompatActivity {
    private Button generate;
    private TextView text;
    private ImageView image;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = this.findViewById(R.id.text);
        image = this.findViewById(R.id.image);
        generate = this.findViewById(R.id.generate);

        //生成
        generate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = text.getText().toString().trim();
                MultiFormatWriter writer = new MultiFormatWriter();
                try {
                    BitMatrix matrix = writer.encode(s, BarcodeFormat.QR_CODE,350,350);
                    BarcodeEncoder encoder = new BarcodeEncoder();
                    Bitmap bitmap = encoder.createBitmap(matrix);
                    image.setImageBitmap(bitmap);

                    InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    // manager.hideSoftInputFromWindow(editText.getApplicationWindowToken(),0);
                } catch (WriterException e) {
                    e.printStackTrace();
                }

            }
        });
    }
}

四、效果图

简单粗暴!

感谢ლ(°◕‵ƹ′◕ლ)!!!文章来源地址https://www.toymoban.com/news/detail-511076.html

到了这里,关于【Android】实现生成二维码、条形码和扫描二维码的功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包