二维码的生成

我们目前用的是谷歌的zxing来生成二维码;下面呢我分别为大家介绍一下简单的二维码,中间有log的二维码,和彩色二维码;

需要两个权限;

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

简单的二维码

首先你点击的按钮去扫一扫二维码

main.xml,这个页面可以自定义

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical"tools:context=".MainActivity" ><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="Create2QR"android:text="生成二维码" /><EditTextandroid:id="@+id/ednaem"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入要生成的文字" /><ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout>

  camera.xml;直接沾

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent" ><SurfaceViewandroid:id="@+id/preview_view"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center" /><com.zxing.view.ViewfinderViewandroid:id="@+id/viewfinder_view"android:layout_width="wrap_content"android:layout_height="wrap_content" /><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_gravity="center"android:orientation="vertical" ><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerInParent="true"android:background="#b0e0e6"android:gravity="center"android:paddingBottom="10dp"android:paddingTop="10dp"android:text="开始扫描"android:textColor="@android:color/white"android:textSize="24sp"android:textStyle="bold" /><Button android:id="@+id/openLight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="80dp"android:layout_centerHorizontal="true"android:text="开启闪光灯"android:textColor="@android:color/white"android:onClick="IfOpenLight"android:background="#00000000"android:textSize="16sp"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="40dp"android:layout_below="@id/openLight"android:layout_centerHorizontal="true"android:text="从相册中选取照片"android:textColor="@android:color/white"android:onClick="pickPictureFromAblum"android:background="#00000000"android:textSize="16sp"/><Buttonandroid:id="@+id/btn_cancel_scan"android:layout_width="200dp"android:layout_height="60dp"android:layout_alignParentBottom="true"android:layout_centerInParent="true"android:layout_marginBottom="75dp"android:background="#FFA500"android:text="取    消"android:textSize="24sp"android:textStyle="bold" /></RelativeLayout></FrameLayout>

  Mainactivity.java

package com.exaple.day09rikao;import com.google.zxing.WriterException;
import com.zxing.zxingframe.BitmapUtil;import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;public class MainActivity extends Activity {private ImageView image;private EditText edname;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);image = (ImageView) findViewById(R.id.image);edname = (EditText) findViewById(R.id.ednaem);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}// 鐢熸垚浜岀淮鐮�public void Create2QR(View v) {String uri = edname.getText().toString();// Bitmap bitmap = BitmapUtil.create2DCoderBitmap(uri, mScreenWidth/2,// mScreenWidth/2);Bitmap bitmap;try {bitmap = BitmapUtil.createQRCode(uri, 400);//鐢熸垚浜岀淮鐮乴og//bitmap = addLogo(bitmap, BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.ke));if (bitmap != null) {image.setImageBitmap(bitmap);}} catch (WriterException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** 鍦ㄤ簩缁寸爜涓棿娣诲姞Logo鍥炬*/private static Bitmap addLogo(Bitmap src, Bitmap logo) {if (src == null) {return null;}if (logo == null) {return src;}//鑾峰彇鍥剧墖鐨勫楂�int srcWidth = src.getWidth();int srcHeight = src.getHeight();int logoWidth = logo.getWidth();int logoHeight = logo.getHeight();if (srcWidth == 0 || srcHeight == 0) {return null;}if (logoWidth == 0 || logoHeight == 0) {return src;}//logo澶у皬涓轰簩缁寸爜鏁翠綋澶у皬鐨�/5float scaleFactor = srcWidth * 1.0f / 5 / logoWidth;Bitmap bitmap = Bitmap.createBitmap(srcWidth, srcHeight, Bitmap.Config.ARGB_8888);try {Canvas canvas = new Canvas(bitmap);canvas.drawBitmap(src, 0, 0, null);canvas.scale(scaleFactor, scaleFactor, srcWidth / 2, srcHeight / 2);canvas.drawBitmap(logo, (srcWidth - logoWidth) / 2, (srcHeight - logoHeight) / 2, null);canvas.save(Canvas.ALL_SAVE_FLAG);canvas.restore();} catch (Exception e) {bitmap = null;e.getStackTrace();}return bitmap;}}

  

转载于:https://www.cnblogs.com/jsonfan/p/5406991.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python读取python源代码文件_python 读写excel文件操作示例【附源码下载】

本文实例讲述了python 读写excel文件操作。分享给大家供大家参考&#xff0c;具体如下&#xff1a;对excel文件的操作&#xff0c;python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等工具包.利用这些工具&#xff0c;可以方便的对excel 进行操作。2. 安装,解…

Java工艺路线和工序_工序分散表现为工序多,工序内容( ),工艺路线长。

【其它】Baby-boomer parents seem to struggle with two things: saying no and letting go. (Para. 9)【填空题】若x5,y10,则x>y&&xy--的逻辑值是____________。【单选题】若a的值为3时,下面程序段被执行后,C的值是() c1 if(a>0) if(a>3) c2; else c3; else…

【代码升级】【iCore3 双核心板】例程二十八:FSMC实验——读写FPGA

实验指导书及代码包下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1i6WL51V 密码&#xff1a;1mk4 iCore3 购买链接&#xff1a; https://item.taobao.com/item.htm?id524229438677 转载于:https://www.cnblogs.com/xiaomagee/p/5409024.html

sqlserver连接字符串_【自学C#】|| 笔记 39 SQL server 连接数据库

一、ADO.NET数据库操作 任何一个应用程序都离不开数据的存储&#xff0c;数据可以在内存中存储&#xff0c;但只能在程序运行时存取&#xff0c;无法持久保存。数据还可以在磁盘中以文件的形式存储&#xff0c;但文件的管理和查找又十分烦琐无法胜任大数量的存储。将数据存储…

roll() java_Java Calendar roll()用法及代码示例

Calendar类中的roll(int calndr_field&#xff0c;boolean up_down)方法用于通过上下移动传递的字段单个时间单位来对传递的日历字段进行操作。这涉及在不更改较大字段的情况下对时间字段进行加法或减法。用法:public abstract void roll(int calndr_field, boolean up_down)参…

Android Studio、 补充知识以及主要组件

转载于:https://www.cnblogs.com/arxk/p/5410597.html

python如何全网爬取_如何通过Python爬取互联网

大家用过谷歌&#xff0c;百度吧。这类搜索引擎是怎么对外提供服务的呢&#xff1f;显然&#xff0c;这不是本文要说的事情。但是&#xff0c;任何一个搜索引擎&#xff0c;都缺不了网页收录这个步骤&#xff0c;所以网络爬虫是搜素引擎最重要&#xff0c;也是最基本的组成部分…

using(){},Close(),Dispose()的区别

//用Close(),Dispose()方式关闭连接 string connString "Data Source(local);Initial CatalogLinq;Integrated SecuritySSPI"; SqlConnection conn new SqlConnection(connString); conn.Open(); conn.Close(); conn.Dispose();//用using方式关闭连接 string connS…

python+selenium获取cookie session_Python Selenium模拟登录成功后,使用此cookie、利用requests库进行get时,提示“非法登陆”。...

一. 步骤概述a. 模拟登录学校选课系统(使用Selenium库登陆http://xk.suibe.edu.cn/xsxk/login.xk)b. 取得cookie后传入requests的session中。(参考博客&#xff1a;https://blog.csdn.net/big__v/article/details/78151940)c. 使用requests库中的post提交选课序号至http://xk.s…

python分类时特征选择_关于python:是否有可用于分类数据输入的特征选择算法?...

我正在训练一个具有10个左右分类输入的神经网络。 在对这些分类输入进行一次热编码之后&#xff0c;我最终将大约500个输入馈入网络。我希望能够确定我每个分类输入的重要性。 Scikit-learn具有许多功能重要性算法&#xff0c;但是这些算法中的任何一种都可以应用于分类数据输入…

java隐含转化_java中自动转换和强制转换还有隐含转换

匿名用户1级2016-08-29 回答转型被用来将一个数值从一种类型转换到另一种类型。下面的程序连续使用了三个转型。那么它到底会打印出什么呢&#xff1f;public class Multicast{public static void main (String[] args){System.out.println((int)(char)(byte) -1);}}无论你怎样…

一个域名解析到另一个域名_注册域名公司|教你如何注册一个.net域名

近几年各后缀域名注册量都在增加&#xff0c;很多行业知道线上业务平台搭建的重要性&#xff0c;都优先制作网站布局线上&#xff0c;建站肯定需要域名&#xff0c;所以这也是带动域名注册量上涨原因之一。.COM、.NET域名一直是建站注册域名首选&#xff0c;.COM域名大家可能相…

java jedis connect timed out_Java连接Redis connection timed out 报错的解决方法

Java连接Redis connection timed out 报错的解决方法踩坑场景在使用 RedisTemplate 连接 Redis 进行操作的时候&#xff0c;发生了如下报错&#xff1a;报错信息如下&#xff1a;Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: /192.168.73.10:6…

python自动保存ping结果_利用python获取Ping结果示例代码

前言本文主要跟大家分享了关于利用python获取Ping结果的相关内容&#xff0c;分享出来供大家参考学习&#xff0c;下面话不多说&#xff0c;来一起看看详细的介绍吧。示例代码&#xff1a;# -*- coding: utf-8 -*-import subprocessimport redef get_ping_result(ip_address):p…

富文本存储型XSS的模糊测试之道

富文本存储型XSS的模糊测试之道 凭借黑吧安全网漏洞报告平台的公开案例数据&#xff0c;我们足以管中窥豹&#xff0c;跨站脚本漏洞&#xff08;Cross-site Script&#xff09;仍是不少企业在业务安全风险排查和修复过程中需要对抗的“大敌”。 XSS可以粗分为反射型XSS和存储型…

java join()用法_四种联系(join)的区别及用法

链接&#xff1a;作为动词&#xff0c;它表示将两个或多个表的内容结合在一起并产生一个结果集&#xff0c;该结果集对每个表的列和行进行合并。表的联接一般都使用它们共有的数据。例如&#xff0c;您可以对有一个共同 pub_id 列的 titles 表和 publishers 表联接&#xff0c;…

python无效的类字符串_Python基础-字符串处理

​你好&#xff0c;我是goldsunC让我们一起进步吧&#xff01;字符串操作与处理字符串是编程语言中经常会遇见的东西&#xff0c;而字符串又和那些编程语句什么的不太一样&#xff0c;我们可能需要对一个字符串进行各种各样的处理&#xff0c;后面我将给出我整理的一些常用的对…

phpstorm xdebug配置

phpstorm 8.0.3版本 1.本身自带xdebug插件 2.在xampp的php.ini中最后中添加&#xff08;如果有[XDebug]配置替换&#xff09; [XDebug]zend_extension "D:\Program Files\xampp\php\ext\php_xdebug.dll";xdebug.profiler_append 0;xdebug.profiler_enable 1;xdebu…

php xml 返回 微信,php版微信返回用户text输入的方法

本文实例讲述了php版微信返回用户text输入的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;获得用户输入的内容&#xff0c;并发回相同内容//获取post数据// $PostData $HTTP_RAW_POST_DATA;$PostData file_get_contents("php://input");//判断POST是…

python加密敏感信息_仅需10行代码,使用python加密用户敏感数据

原标题&#xff1a;仅需10行代码&#xff0c;使用python加密用户敏感数据数据分析师必须要遵守的一个规则就是数据保密&#xff0c;但在跨部门沟通的时候&#xff0c;难免会有数据泄露的情况&#xff0c;所以&#xff0c;对于用户的姓名、手机号、地址等敏感信息&#xff0c;一…