• 二维码的生成和扫描


    极客学院的视频,讲解了扫描二维码,和生成二维码
    在写这些代码之前要先导一个包的,BarCodeTest
    BarCodeTest.zip
     1 package com.example.ewm;
     2 
     3 import com.google.zxing.WriterException;
     4 import com.zxing.activity.CaptureActivity;
     5 import com.zxing.encoding.EncodingHandler;
     6 
     7 import android.os.Bundle;
     8 import android.app.Activity;
     9 import android.content.Intent;
    10 import android.graphics.Bitmap;
    11 import android.view.View;
    12 import android.view.View.OnClickListener;
    13 import android.widget.Button;
    14 import android.widget.EditText;
    15 import android.widget.ImageView;
    16 import android.widget.TextView;
    17 import android.widget.Toast;
    18 
    19 public class MainActivity extends Activity {
    20     private Button scanButton,genButton;
    21     private TextView textView;
    22     private EditText editText;
    23     private ImageView imageView;
    24     @Override
    25     protected void onCreate(Bundle savedInstanceState) {
    26         super.onCreate(savedInstanceState);
    27         setContentView(R.layout.activity_main);
    28         scanButton = (Button) findViewById(R.id.scan);
    29         genButton = (Button) findViewById(R.id.button1);
    30         editText = (EditText) findViewById(R.id.editText1);
    31         imageView = (ImageView) findViewById(R.id.imageView1);
    32         textView = (TextView) findViewById(R.id.textView1);
    33         //扫描
    34         scanButton.setOnClickListener(new OnClickListener() {
    35 
    36             @Override
    37             public void onClick(View v) {
    38                 // TODO Auto-generated method stub
    39                 Toast.makeText(MainActivity.this, "你可以扫描条形码或者二维码", 100).show();
    40                 //captureactivity是在类库里面的一个页面,
    41                 Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
    42                 //这个跳转方式是能 获得一个返回值。配合下面的onActivityResult方法一起使用的
    43                 startActivityForResult(intent, 0);
    44             }
    45         });
    46         //生成
    47         genButton.setOnClickListener(new OnClickListener() {
    48 
    49             @Override
    50             public void onClick(View v) {
    51                 // TODO Auto-generated method stub
    52                 //获得EditText里面的String值
    53                 String in = editText.getText().toString();
    54                 //如果获得值为空,提示输入文本
    55                 if(in.equals("")){
    56                     Toast.makeText(MainActivity.this, "请输入文本", Toast.LENGTH_SHORT).show();
    57                 //否则,
    58                 }else {
    59                     try {
    60                         //调用类库里面的EncodingHandler这个方法来将字符串转换成二维码
    61                         Bitmap qrcode = EncodingHandler.createQRCode(in, 300);
    62                         //设置成Imageview的图片
    63                         imageView.setImageBitmap(qrcode);
    64                     } catch (WriterException e) {
    65                         // TODO Auto-generated catch block
    66                         e.printStackTrace();
    67                     }
    68                 }
    69             }
    70         });
    71     }
    72 
    73     @Override
    74     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    75         // TODO Auto-generated method stub
    76         super.onActivityResult(requestCode, resultCode, data);
    77 
    78         if(resultCode == RESULT_OK){
    79             //获得Intent返回值里面一个KEY是result的String值。
    80             String result = data.getExtras().getString("result");
    81             //加到Textview里面
    82             textView.setText(result);
    83         }
    84     }
    85 
    86 }
  • 相关阅读:
    62-函数的调用
    40-字符串类型内置方法
    47-Python进阶小结
    44-集合的内置方法
    45-数据类型分类
    43-字典类型内置方法
    42-元组类型内置方法
    41-列表类型内置方法
    es6 Reflect对象详解
    微信小程序之公共组件写法
  • 原文地址:https://www.cnblogs.com/pastor/p/5156705.html
Copyright © 2020-2023  润新知