最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android生成條形碼和二維碼功能

 更新時間:2019年10月11日 15:58:14   作者:zgjswp  
隨著移動互聯網的普及以及智能終端設備的廣泛應用,移動支付變得越來越便捷,通過掃描二維碼代替?zhèn)鹘y(tǒng)的刷卡行為。這篇文章給大家介紹Android生成條形碼和二維碼功能,需要的朋友參考下吧

背景:

        隨著移動互聯網的普及以及智能終端設備的廣泛應用,移動支付變得越來越便捷,通過掃描二維碼代替?zhèn)鹘y(tǒng)的刷卡行為。那么作為開發(fā)者而言生成二維碼成為了一項必備技能。

準備:

        使用zxing包

        implementation "com.google.zxing:core:3.3.1"

核心代碼:

package com.wangpengpro.h5test.utils;
import android.graphics.Bitmap;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.util.HashMap;
import java.util.Map;
/**
 * @author Created by Mr.Wang on 2019/10/10 15:05.
 * usage:
 */
public class CodeUtils {
  /**
   * 生成條形碼(不支持中文)
   *
   * @param content
   * @return
   */
  public static Bitmap createBarcode(String content) {
    try {
      BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.CODE_128, 3000, 700);
      int width = bitMatrix.getWidth();
      int height = bitMatrix.getHeight();
      int[] pixels = new int[width * height];
      for (int y = 0; y < height; y++) {
        int offset = y * width;
        for (int x = 0; x < width; x++) {
          pixels[offset + x] = bitMatrix.get(x, y) ? 0xff000000 : 0xFFFFFFFF;
        }
      }
      Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
      bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
      return bitmap;
    } catch (WriterException e) {
      e.printStackTrace();
    }
    return null;
  }
  /**
   * 生成二維碼
   *
   * @param content
   * @return
   */
  public static Bitmap createQrcode(String content) {
    Map<EncodeHintType, Object> hints = new HashMap<>();
    // 支持中文配置
    hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
    hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
    try {
      BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 1000, 1000
          , hints);
      int width = bitMatrix.getWidth();
      int height = bitMatrix.getHeight();
      int[] pixels = new int[width * height];
      for (int y = 0; y < height; y++) {
        int offset = y * width;
        for (int x = 0; x < width; x++) {
          pixels[offset + x] = bitMatrix.get(x, y) ? 0xff000000 : 0xFFFFFFFF;
        }
      }
      Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
      bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
      return bitmap;
    } catch (WriterException e) {
      e.printStackTrace();
    }
    return null;
  }
}

使用:

ImageActivity.java
public class ImageActivity extends AppCompatActivity {
  @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image);
    ImageView ivBarcode = findViewById(R.id.iv_barcode);
    ImageView ivQrcode = findViewById(R.id.iv_qrcode);
    ivBarcode.setImageBitmap(CodeUtils.createBarcode("This is a barcode"));
    ivQrcode.setImageBitmap(CodeUtils.createQrcode("This is a qrcode"));
  }
}

activity_image.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  tools:context=".ImageActivity">
  <ImageView
    android:id="@+id/iv_barcode"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
  <ImageView
    android:id="@+id/iv_qrcode"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>

運行效果:

總結

以上所述是小編給大家介紹的Android生成條形碼和二維碼功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • Android自定義View實現時鐘功能

    Android自定義View實現時鐘功能

    這篇文章主要為大家詳細介紹了Android自定義View實現時鐘功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Android高仿微信對話列表滑動刪除效果

    Android高仿微信對話列表滑動刪除效果

    這篇文章主要為大家詳細介紹了Android高仿微信對話列表滑動刪除效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android自定義View實現五子棋游戲

    Android自定義View實現五子棋游戲

    這篇文章主要為大家詳細介紹了Android自定義View實現五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android中利用C++處理Bitmap對象的實現方法

    Android中利用C++處理Bitmap對象的實現方法

    下面小編就為大家?guī)硪黄狝ndroid中利用C++處理Bitmap對象的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Android viewpager 3D畫廊的實現方法

    Android viewpager 3D畫廊的實現方法

    ViewPager在開發(fā)中的使用頻率非常的高,接下來通過本文給大家分享android viewpager 3D畫廊的實現方法,需要的朋友參考下吧
    2017-02-02
  • Android編程自定義對話框(Dialog)位置及大小的方法

    Android編程自定義對話框(Dialog)位置及大小的方法

    這篇文章主要介紹了Android編程自定義對話框(Dialog)位置及大小的方法,涉及Android對話框的定義、功能、屬性及布局相關操作技巧,需要的朋友可以參考下
    2017-08-08
  • 利用Android實現一種點贊動畫效果的全過程

    利用Android實現一種點贊動畫效果的全過程

    最近做項目需要實現點贊動畫,下面這篇文章主要給大家介紹了關于利用Android實現一種點贊動畫效果的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Android實現上傳文件功能的方法

    Android實現上傳文件功能的方法

    這篇文章主要介紹了Android實現上傳文件功能的方法,對Android初學者有一定的借鑒價值,需要的朋友可以參考下
    2014-07-07
  • Android實現九宮格圖案解鎖

    Android實現九宮格圖案解鎖

    這篇文章主要為大家詳細介紹了Android實現九宮格圖案解鎖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android藍牙通信聊天實現發(fā)送和接受功能

    Android藍牙通信聊天實現發(fā)送和接受功能

    這篇文章主要為大家詳細介紹了Android藍牙通信聊天實現發(fā)送和接受功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

房产| 东辽县| 厦门市| 南开区| 镇江市| 曲麻莱县| 镇沅| 伊宁县| 周至县| 涞源县| 旌德县| 河东区| 长顺县| 九龙坡区| 铜鼓县| 铁力市| 陇南市| 南开区| 珠海市| 凤翔县| 北安市| 资阳市| 松原市| 荔浦县| 夏津县| 凤城市| 遵化市| 滕州市| 伽师县| 绥芬河市| 开江县| 乌兰浩特市| 柞水县| 舒城县| 遵义市| 杨浦区| 宜都市| 望都县| 黄石市| 迁西县| 白山市|