1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 使用开源代码实现二维码扫描和生成

使用开源代码实现二维码扫描和生成

时间:2022-09-28 02:43:06

相关推荐

使用开源代码实现二维码扫描和生成

Github下载开源代码/搜搜索zxing

把BarCodeTest导到ADT中,然后建立自己的工程TestQRcode,并关联BarCodeTest.在TestQRcode工程配置文件中添加权限

<uses-permission android:name="android.permission.VIBRATE" />

<uses-permission android:name="android.permission.CAMERA" />

TestQRcode工程下代码:

MainActivity.java

package com.zxy.testqrcode;import junit.framework.Test;import com.google.zxing.WriterException;import com.zxing.activity.CaptureActivity;import com.zxing.encoding.EncodingHandler;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import android.os.Build;public class MainActivity extends Activity {private Button scanButton;private TextView text;private EditText input;private Button genButton;private ImageView img;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);scanButton = (Button) findViewById(R.id.scan);text = (TextView) findViewById(R.id.text);scanButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {Toast.makeText(MainActivity.this, "你可以扫描二维码或者条形码", Toast.LENGTH_SHORT).show();Intent startScan = new Intent(MainActivity.this, CaptureActivity.class);startActivityForResult(startScan, 0);}});input = (EditText) findViewById(R.id.input);genButton = (Button) findViewById(R.id.gen);img = (ImageView) findViewById(R.id.img);genButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {String in = input.getText().toString();if(in.equals("")){Toast.makeText(MainActivity.this, "请输入文本", Toast.LENGTH_SHORT).show();}else {try {Bitmap qrcode = EncodingHandler.createQRCode(in, 400);img.setImageBitmap(qrcode);} catch (WriterException e) {e.printStackTrace();}}}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK) {String result = data.getExtras().getString("result");text.setText(result);}}}

activity_main.xml

<LinearLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:id="@+id/container"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.zxy.testqrcode.MainActivity"tools:ignore="MergeRootFrame" ><Buttonandroid:id="@+id/scan"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="开始扫描二维码" /><TextView android:id="@+id/text"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="展示结果"/><EditText android:id="@+id/input"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="请输入要编码的内容"/><Button android:id="@+id/gen"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="生成二维码"/><ImageView android:id="@+id/img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"/></LinearLayout>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。