二维码的 扫描和生成
2016-08-18 12:10
232 查看
这里要引用一个第三方开源库,真的功能太强大了。
先看一下在手机上模拟的图片:
这是扫描之后的结果:
这是看了徐大神eclipse_xu的视频之后,总结的,希望以后能在以后用的上。
activity_main.xml
create_code.xml
MainActivity.java
先看一下在手机上模拟的图片:
这是扫描之后的结果:
这是看了徐大神eclipse_xu的视频之后,总结的,希望以后能在以后用的上。
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.example.myscan.MainActivity"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/mstart" android:text="START SCAN" android:textSize="18sp" android:onClick="start"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Result:" android:textSize="20sp" android:layout_marginTop="10dp" /> <TextView android:layout_width="match_parent" android:layout_height="30dp" android:id="@+id/mshowText" android:background="#9FA8DA" android:textSize="20dp" android:gravity="center" android:text="hello" android:textColor="#ee0000" /> </LinearLayout>
create_code.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="制作自己的二维码" android:textSize="20sp" /> <EditText android:id="@+id/inputText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请在这里输入文字" android:textColorHint="#aaee00" android:textSize="18sp" /> <Button android:id="@+id/markCode" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="MarkYourCode" android:text="生成二维码" android:textSize="16sp" /> <CheckBox android:id="@+id/addLogo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:text="Logo" /> <ImageView android:id="@+id/showImg" android:layout_width="280dp" android:layout_height="280dp" android:gravity="center" /> </LinearLayout>
MainActivity.java
package com.example.myscan; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.xys.libzxing.zxing.activity.CaptureActivity; import com.xys.libzxing.zxing.encoding.EncodingUtils; public class MainActivity extends AppCompatActivity { private TextView mshowText; private EditText inputtring; private ImageView showImg; private CheckBox addLogo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main);这是扫描二维码的布局 setContentView(R.layout.create_code);//这是生成二维码的布局 mshowText = (TextView) findViewById(R.id.mshowText); inputtring = (EditText) findViewById(R.id.inputText); showImg = (ImageView) findViewById(R.id.showImg); addLogo = (CheckBox) findViewById(R.id.addLogo); } /** * 点击扫描二维码,CaptureActivity是一个封装好的类 * * @param v */ public void start(View v) { startActivityForResult(new Intent(MainActivity.this, CaptureActivity.class), 0); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { Bundle bundle = data.getExtras(); String result = bundle.getString("result"); mshowText.setText(result); } } /** * 点击生成二维码 */ public void MarkYourCode(View v) { //libzxing这个第三方开源库中encoding包里有一个类EncodingUtils里面封装了生成二维码的方法 //二维码是一张图片,这里用BitMap接受这里传入四个参数,第一个是输入的字符串,第二个和第三个是生成二维码的长度和宽度,第四个是中间的logo图片 String inputdata = inputtring.getText().toString(); if (inputdata == null) { Toast.makeText(MainActivity.this, "输入不能为空", Toast.LENGTH_SHORT).show(); } else { Bitmap bitmap = EncodingUtils.createQRCode(inputdata, 300, 300, addLogo.isChecked() ? BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher) : null); showImg.setImageBitmap(bitmap); } } }
相关文章推荐
- 详细易懂的二维码的扫描、识别与生成
- 二维码的扫描和生成原生实现
- android 二维码 扫描与生成(内置)
- zxing for javascript 扫描二维码和生成二维码
- 用google zxing生成二维码和扫描二维码
- 二维码的扫描与生成
- iOS自带扫描 和 生成二维码
- Android 使用Zxing实现二维码的生成,扫描
- Java生成二维码实现扫描次数统计并转发到某个地址 分类: 二维码 Java 2015-01-08 10:38 407人阅读 评论(0) 收藏
- IOS扫描链接生成的二维码,window.history.go(-1);window.history.back()代码不生效
- ZXing二维码、条形码生成和扫描
- Android之扫描二维码和根据输入信息生成名片二维码
- IOS 开发笔记——二维码的生成和扫描
- 二维码生成及扫描
- Android-扫描二维码、生成二维码(Zxing库)
- android 使用开源库zxing生成二维码,扫描二维码
- iOS开发--生成二维码及扫描二维码(原生)
- iOS自带扫描 和 生成二维码
- Ionic3 生成项目及扫描二维码
- android 二维码,条形码生成与扫描识别