直接上代码:

public class MainActivity extends Activity {    private TextView tv;    private ImageView iv;    private int QR_WIDTH, QR_HEIGHT;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tv = (TextView) findViewById(R.id.tv);        iv = (ImageView) findViewById(R.id.iv);        QR_WIDTH = 300;        QR_HEIGHT = 300;        createImage();    }    // 生成QR图    private void createImage() {        try {            // 需要引入core包            QRCodeWriter writer = new QRCodeWriter();            String text = tv.getText().toString();            if (text == null || "".equals(text) || text.length() < 1) {                return;            }            // 把输入的文本转为二维码            BitMatrix martix = writer.encode(text, BarcodeFormat.QR_CODE,                    QR_WIDTH, QR_HEIGHT);            Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();            hints.put(EncodeHintType.CHARACTER_SET, "utf-8");            BitMatrix bitMatrix = new QRCodeWriter().encode(text,                    BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT, hints);            int[] pixels = new int[QR_WIDTH * QR_HEIGHT];            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;                    }                }            }            Bitmap bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT,                    Bitmap.Config.ARGB_8888);            bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);            iv.setImageBitmap(bitmap);        } catch (WriterException e) {            e.printStackTrace();        }    }}


要注意,需要导入一个core.jar包。见附件

更多相关文章

  1. Android(Java):jni源代码
  2. Android重启应用程序代码
  3. Android实现手机定位的案例代码
  4. Android写文件到SDCard的简单代码
  5. Android手电筒小程序实现代码
  6. Android中通过代码检测系统是否有root权限
  7. Android 代码片段---获取手机通讯录列表

随机推荐

  1. 使用GitHub Actions实现Android自动打包a
  2. Android(安卓)获取前台应用
  3. Android(安卓)Textview控件
  4. android 自定义文字跑马灯 支持拖拽,按住
  5. Android下打开/关闭wifi 及 状态(5个)的
  6. Android(安卓)fragment 与Activity 互相
  7. Android(安卓)Touch事件传递机制解析
  8. Android(安卓)OpenGl展示视频内容
  9. Android布局管理
  10. Android开发高级进阶02