當前位置:首頁 » 安卓系統 » android二維碼生成

android二維碼生成

發布時間: 2023-10-11 05:35:10

『壹』 android zbar能不能生成二維碼

ZBarReaderViewController *reader = [ZBarReaderViewController new];

reader.readerDelegate = self;

reader.sourceType = ;
這個地方可以設置sourceType,有三種:
// , 打開所有照片 獲取二維碼

// , 打開攝像頭 獲取二維碼

// 打開相冊 獲取二維碼

你可以自己選擇

『貳』 在android中使用googlezxing實現二維碼

先打開本地下載,復制文件,拷貝到他們的項目中即可。
首先我們打開google的zxing的地址,googledezxing地址(本地下載),打開之後我們會看到界面,將這個文件下載我們本地,下載好之後我們需要復制android文件下的幾個類,根據這些類名稱在android文件下找到這些類,拷貝到他們的項目中,拷貝之後會有報錯,我們需要將android文件下的res中的文件也拷貝到我們的項目中。完成之後我們還要依賴zxing的核心類庫,當我們的項目不報錯的時候,就可以先實現掃描二維碼和生成二維碼。

『叄』 android如何將一個字元串生成二維碼

二維碼應用有一個很有名的開源項目ZXing。從它的官網下載Demo,我們需要的是~\ZXingDemo\libs\zxing.jar,這是ZXing的庫,開始!
首先是AndroidMainfest.xml,要注冊activity:
<activity android:name="com.cleaderwin.home.dp." />

還要有相關操作許可權:
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
</uses-permission>
<uses-permission android:name="android.permission.CAMERA" >
</uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>

然後是.xml:
<ImageView
android:id="@+id/imageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"/>

剩下VideoActivity:
import java.util.Hashtable;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

public class VideoActivity extends Activity {
private int QR_WIDTH;
private int QR_HEIGHT;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
createQRImage("http://www..com");
}
}

// 要轉換的地址或字元串,可以是中文
public void createQRImage(String url) {
ImageView img = (ImageView)findViewById(R.id.imageView);
QR_WIDTH = 300;
QR_HEIGHT = 300;
// 判斷URL合法性
if (url == null || "".equals(url) || url.length() < 1) {
return;
}
Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
// 圖像數據轉換,使用了矩陣轉換
BitMatrix bitMatrix = null;
try {
bitMatrix = new QRCodeWriter().encode(url, BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT, hints);
} catch (WriterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int[] pixels = new int[QR_WIDTH * QR_HEIGHT];
// 下面這里按照二維碼的演算法,逐個生成二維碼的圖片,
// 兩個for循環是圖片橫列掃描的結果
for (int y = 0; y < QR_HEIGHT; y++) {
for (int x = 0; x < QR_WIDTH; x++) {
if (bitMatrix.get(x, y)) {
pixels[y * QR_WIDTH + x] = 0xff000000;
} else {
pixels[y * QR_WIDTH + x] = 0xffffffff;
}
}
}
// 生成二維碼圖片的格式,使用ARGB_8888
Bitmap bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);
// 顯示到一個ImageView上面
img.setImageBitmap(bitmap);
}
}

熱點內容
華為手機更換開機密碼如何操作 發布:2025-01-24 14:43:15 瀏覽:699
快手等待上傳 發布:2025-01-24 14:41:37 瀏覽:380
apache和php7 發布:2025-01-24 14:32:26 瀏覽:892
linuxio文件 發布:2025-01-24 13:40:21 瀏覽:438
在excel設密碼如何取消 發布:2025-01-24 13:38:54 瀏覽:483
電腦裝存儲時不能開機 發布:2025-01-24 13:38:52 瀏覽:285
2000人同時在線的小程序需要什麼伺服器 發布:2025-01-24 13:37:17 瀏覽:853
怎麼搭建linux伺服器配置 發布:2025-01-24 13:37:16 瀏覽:113
安卓版什麼時候上線麻將模式 發布:2025-01-24 13:32:48 瀏覽:966
演算法實驗分析 發布:2025-01-24 13:20:25 瀏覽:137