将输入的文字,生成相应的二维码。
这个需要个zxing.jar包
代码还是比较简单的。
xml文件中只需要三个控件,一个输入框,一个按钮,一个ImageView,这个里面放二维码。
看下面代码。
package com.example.day0215;
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;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
public class MainActivity extends Activity {
private EditText et01;
private Button bt01;
private ImageView qr_image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et01=(EditText) findViewById(R.id.editText1);
bt01=(Button) findViewById(R.id.button1);
qr_image=(ImageView) findViewById(R.id.imageView1);
bt01.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
QRCodeWriter writer=new QRCodeWriter();
String text = et01.getText().toString();
if(text==null||text.length()<1){
return;
}
try {
//把输入的文本转为二维码
BitMatrix bitMatrix=writer.encode(text, BarcodeFormat.QR_CODE, 200, 200);
System.out.println("w:"+bitMatrix.getWidth()+"h:"+bitMatrix.getHeight());
Hashtable<EncodeHintType, String> hints=new Hashtable<EncodeHintType, String>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BitMatrix bitMatrix2=new QRCodeWriter().encode(text, BarcodeFormat.QR_CODE,200,200,hints);
int[] pixels = new int[200* 200];
for (int y = 0; y < 200; y++) {
for (int x = 0; x < 200; x++) {
if (bitMatrix.get(x, y)) {
pixels[y * 200 + x] = 0xff000000;
} else {
pixels[y * 200 + x] = 0xffffffff;
}
}
}
Bitmap bitmap = Bitmap.createBitmap(200, 200,
Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, 200, 0, 0, 200, 200);
qr_image.setImageBitmap(bitmap);
} catch (WriterException e) {
e.printStackTrace();
}
}
});
}
}
《Android版本更新、热更新》系列课程视频
版本更新6.0,7.0统统搞定!!
热修复不在麻烦,再也不用担心上线后出bug!!
http://edu.youkuaiyun.com/course/detail/6523
http://edu.youkuaiyun.com/course/play/6523/131198
《Kotlin语法基础到实战开发》系列课程视频
http://edu.youkuaiyun.com/course/detail/6409?locationNum=7&fps=1&ref=srch&loc=1

被折叠的 条评论
为什么被折叠?



