国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android studio 實(shí)現(xiàn)生成二維碼和掃描二維碼

這篇具有很好參考價(jià)值的文章主要介紹了Android studio 實(shí)現(xiàn)生成二維碼和掃描二維碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

效果圖
Android studio 實(shí)現(xiàn)生成二維碼和掃描二維碼,android studio,android,ide

Android studio 實(shí)現(xiàn)生成二維碼和掃描二維碼,android studio,android,ide

build.gradle(:app)添加依賴

dependencies {
    implementation 'com.google.zxing:core:3.3.3'
    implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
    implementation 'com.google.zxing:javase:3.0.0'
}

Manifests.xml

	<uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    >

    <ImageView
        android:id="@+id/qr_code_image"
        android:layout_width="200dp"
        android:layout_height="200dp" />
    <EditText
        android:id="@+id/creat_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="請(qǐng)輸入想要生成二維碼的文字"
        android:layout_marginTop="20dp"
        android:textSize="20dp"/>
    <Button
        android:id="@+id/creat_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="生成二維碼"
        android:layout_marginTop="20dp"/>
    <Button
        android:id="@+id/scan_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="掃描二維碼"
        android:layout_marginTop="20dp"/>
</LinearLayout>

MainActivity

import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
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.qrcode.QRCodeWriter;
import com.journeyapps.barcodescanner.BarcodeEncoder;

/**
 * 實(shí)現(xiàn)生成二維碼和掃描二維碼的功能
 */
public class MainActivity extends AppCompatActivity {

    private ImageView qrCodeImageView;
    private Button scanButton;
    private Button creatButton;
    private EditText creatText;

    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        qrCodeImageView = findViewById(R.id.qr_code_image);
        scanButton = findViewById(R.id.scan_button);
        creatButton = findViewById(R.id.creat_button);
        creatText = findViewById(R.id.creat_text);

        // 生成二維碼
        creatButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                generateQRCode(creatText.getText().toString());
            }
        });


        // 掃描二維碼
        scanButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ScanActivity.class);
                startActivity(intent);            }
        });
    }

    private void generateQRCode(String text) {
       MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
        try {

            //使用 multiFormatWriter.encode() 函數(shù)將文本 text 編碼為一個(gè)二維碼的 BitMatrix 對(duì)象
            BitMatrix bitMatrix = multiFormatWriter.encode(text, BarcodeFormat.QR_CODE, 200, 200);
            BarcodeEncoder barcodeEncoder = new BarcodeEncoder();

           //使用 BarcodeEncoder 類的 createBitmap() 函數(shù)將 BitMatrix 對(duì)象轉(zhuǎn)換為一個(gè) Bitmap 對(duì)象
            Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);

            //使用 qrCodeImageView.setImageBitmap() 方法將生成的二維碼圖像顯示在 qrCodeImageView 這個(gè) ImageView 上
            qrCodeImageView.setImageBitmap(bitmap);
        } catch (WriterException e) {
            e.printStackTrace();
        }
    }
}

ScanActivity文章來源地址http://www.zghlxwxcb.cn/news/detail-694756.html

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.google.zxing.Result;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;

/**
 * 創(chuàng)建一個(gè)新的Activity用于掃描二維碼,在該Activity中,使用ZXing提供的庫來實(shí)現(xiàn)二維碼的掃描功能
 */
public class ScanActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 初始化二維碼掃描
        //創(chuàng)建了一個(gè)新的IntentIntegrator對(duì)象,并傳入當(dāng)前上下文(this)作為參數(shù)。IntentIntegrator是一個(gè)用于集成掃描儀應(yīng)用程序的類
        IntentIntegrator intentIntegrator = new IntentIntegrator(this);

        //設(shè)置了IntentIntegrator對(duì)象期望的條形碼格式為QR碼。
        //通過調(diào)用setDesiredBarcodeFormats()方法并傳入IntentIntegrator.QR_CODE,表示只掃描QR碼格式的條形碼
        intentIntegrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE);

        //將提示信息設(shè)置為"Scan a QR Code"
        intentIntegrator.setPrompt("Scan a QR Code");

        //通過調(diào)用setCameraId()方法并傳入0,表示使用默認(rèn)的攝像頭設(shè)備進(jìn)行掃描
        intentIntegrator.setCameraId(0);

        //通過調(diào)用setBeepEnabled()方法并傳入false,表示在掃描過程中不發(fā)出蜂鳴聲音效
        intentIntegrator.setBeepEnabled(false);

        //通過調(diào)用setOrientationLocked()方法并傳入true,表示在掃描過程中保持設(shè)備豎直方向不變
        intentIntegrator.setOrientationLocked(true);

        //通過調(diào)用initiateScan()方法,IntentIntegrator對(duì)象將啟動(dòng)掃描儀應(yīng)用程序并等待掃描結(jié)果
        intentIntegrator.initiateScan();

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
        if (result != null && result.getContents() != null) {
            String scannedText = result.getContents();
            Toast.makeText(this, "掃描結(jié)果: " + scannedText, Toast.LENGTH_SHORT).show();
            // 在這里處理掃描到的二維碼內(nèi)容
        }
        finish();
    }
}

到了這里,關(guān)于Android studio 實(shí)現(xiàn)生成二維碼和掃描二維碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于java服務(wù)端實(shí)現(xiàn)二維碼掃描

    在Java中,可以使用第三方庫來識(shí)別二維碼內(nèi)容。一個(gè)常用的庫是ZXing(Zebra Crossing),它提供了強(qiáng)大的二維碼處理功能。 首先,確保已將ZXing庫添加到項(xiàng)目中??梢允謩?dòng)下載ZXing JAR文件,也可以使用構(gòu)建工具(如Maven或Gradle)來管理依賴。 下面是使用ZXing庫識(shí)別二維碼內(nèi)容的示

    2024年02月08日
    瀏覽(18)
  • UNI-APP實(shí)現(xiàn)掃描二維碼

    UNI-APP實(shí)現(xiàn)掃描二維碼

    前言:在物聯(lián)網(wǎng)的應(yīng)用中,掃描功能是一種很常用的功能,這篇文章將教你怎么通過UNI-APP實(shí)現(xiàn)掃描二維碼 找到掃碼功能的API UNI-APP已經(jīng)有了掃碼功能的API了,通過API可以非常簡(jiǎn)單的實(shí)現(xiàn)掃碼功能 UNI-APP官網(wǎng) 查看API 有API可以方便我們進(jìn)行開發(fā),所以,會(huì)看API也是程序員的必備

    2024年02月13日
    瀏覽(23)
  • 微信公眾號(hào)開發(fā)—掃描二維碼實(shí)現(xiàn)登錄方案

    微信公眾號(hào)開發(fā)—掃描二維碼實(shí)現(xiàn)登錄方案

    ?? @ 作者: 一恍過去 ?? @ 主頁: https://blog.csdn.net/zhuocailing3390 ?? @ 社區(qū): Java技術(shù)棧交流 ?? @ 主題: 微信公眾號(hào)開發(fā)—掃描二維碼實(shí)現(xiàn)登錄方案 ?? @ 創(chuàng)作時(shí)間: 2022年12月21日 1、調(diào)用微信公眾號(hào)接口,需要實(shí)現(xiàn)獲取 AccessToken ,參考《獲取AccessToken接口調(diào)用憑據(jù)》 2、在

    2024年02月14日
    瀏覽(26)
  • 小程序調(diào)用掃碼接口,實(shí)現(xiàn)掃描二維碼

    小程序?qū)崿F(xiàn)掃描二維碼,需要調(diào)用微信掃碼的api,如下: wxml文件代碼如下: js文件代碼如下: 注意: success函數(shù)回調(diào)成功后的res值 res.result 所掃碼的內(nèi)容 res.scanType 所掃碼的類型 res.charSet 所掃碼的字符集 res.path 當(dāng)所掃的碼為當(dāng)前小程序二維碼時(shí),會(huì)返回此字段,內(nèi)容為二維碼攜帶

    2024年02月04日
    瀏覽(22)
  • npstion實(shí)現(xiàn)通過手機(jī)掃描二維碼向電腦錄入信息

    npstion實(shí)現(xiàn)通過手機(jī)掃描二維碼向電腦錄入信息

    今天介紹大家如何使用手機(jī)掃描二維實(shí)現(xiàn)Excel表格自動(dòng)錄入數(shù)據(jù),我們用到的工具是“NPS二維碼服務(wù)器”,這是一款可以實(shí)現(xiàn)內(nèi)網(wǎng)穿透的數(shù)據(jù)庫交互程序,使用是完全免費(fèi)的。通過它我們是可以不用寫任何程序代碼,就可以實(shí)現(xiàn)手機(jī)掃描自動(dòng)上傳數(shù)據(jù)到自己的電腦。也可以通

    2024年02月09日
    瀏覽(41)
  • uniapp寫微信小程序?qū)崿F(xiàn)二維碼條形碼掃描識(shí)別

    1.最重要的就是一個(gè)函數(shù)uni.scanCode() 下邊是我的代碼可以直接使用 上述代碼就直接實(shí)現(xiàn)了掃描功能很簡(jiǎn)單記得定義下掃描結(jié)果!有啥問題隨時(shí)@我

    2024年04月09日
    瀏覽(26)
  • 【微信小程序】使用 wx.scanCode方法實(shí)現(xiàn)掃描二維碼的功能

    在微信小程序中,你可以使用 wx.scanCode 方法實(shí)現(xiàn)掃描二維碼的功能。以下是一個(gè)簡(jiǎn)單的示例代碼: 在上述代碼中,我們使用 wx.scanCode 方法來調(diào)用掃描二維碼的功能。當(dāng)掃描成功時(shí), success 回調(diào)函數(shù)將會(huì)被調(diào)用,而當(dāng)掃描失敗時(shí), fail 回調(diào)函數(shù)將會(huì)被調(diào)用。通過 res.result 可以

    2024年02月15日
    瀏覽(31)
  • vue3 - 最新手機(jī)掃碼PC網(wǎng)站二維碼登錄功能,用手機(jī)端掃描PC端vue3網(wǎng)頁的登錄二維碼,然后在手機(jī)上點(diǎn)擊“確認(rèn)登錄“完成登錄,PC網(wǎng)頁生成登錄二維碼,用戶拿手機(jī)掃碼,手機(jī)上點(diǎn)確定后電腦端做出響應(yīng)

    vue3 - 最新手機(jī)掃碼PC網(wǎng)站二維碼登錄功能,用手機(jī)端掃描PC端vue3網(wǎng)頁的登錄二維碼,然后在手機(jī)上點(diǎn)擊“確認(rèn)登錄“完成登錄,PC網(wǎng)頁生成登錄二維碼,用戶拿手機(jī)掃碼,手機(jī)上點(diǎn)確定后電腦端做出響應(yīng)

    在vue3開發(fā)中,詳細(xì)實(shí)現(xiàn) “PC電腦網(wǎng)站生成微信登錄二維碼+手機(jī)掃碼登錄+雙端同步數(shù)據(jù)”,利用掃碼實(shí)現(xiàn)網(wǎng)站登錄功能、用戶用手機(jī)掃描電腦端二維碼進(jìn)行登錄的詳細(xì)教程步驟(電腦端PC網(wǎng)頁、手機(jī)端都是vue3開發(fā),支持將手機(jī)端改造成微信小程序、uniapp安卓蘋果app、H5網(wǎng)頁等

    2024年04月13日
    瀏覽(21)
  • H5項(xiàng)目實(shí)現(xiàn)掃描二維碼功能 -- html5-qrcode

    H5項(xiàng)目實(shí)現(xiàn)掃描二維碼功能 -- html5-qrcode

    vue3中使用 html5-qrcode 實(shí)現(xiàn)掃描二維碼功能。 實(shí)現(xiàn)原理:調(diào)取手機(jī)攝像頭掃一掃功能實(shí)現(xiàn) 注:調(diào)取手機(jī)攝像頭需要再 https協(xié)議 下才可以,有的項(xiàng)目啟動(dòng)配置 https:true 可以實(shí)現(xiàn)啟動(dòng)的項(xiàng)目協(xié)議為 https 且可以訪問,有的還是需要證書才能訪問 1、下載 html5-qrcode 2、使用

    2024年02月06日
    瀏覽(23)
  • java實(shí)現(xiàn)二維碼生成功能

    java實(shí)現(xiàn)二維碼生成功能

    由于現(xiàn)在對(duì)二維碼的使用比較多,正好我在項(xiàng)目里面也使用到了,所以寫篇博客記錄一下。 這里我是將我博客主頁的url生成二維碼,微信掃一掃可以看到我的博客主頁(歡迎騷擾) 4.1、設(shè)置參數(shù) 上面這個(gè)只是簡(jiǎn)單的生成二維碼,接下來說說自定義參數(shù)的方式生成,如長(zhǎng)、寬

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包