关于扫描二维码
2016-05-17 22:25
399 查看
1、关于下载二维码处理包的问题:
github上的那个zxing包太大了,很难使用,应当使用精简包,它的名字为:BarCodeTest
2、eclipse引入工程时,可以参考:http://www.cnblogs.com/SkyD/archive/2010/11/25/1887219.html
确保引入的工程在工作区间有文件夹
3、引入的工程要设置它的属性,让它变为is_library,以便其他项目能够使用
4、做为使用方,注意添加Library
5、具体使用代码:
1)视图
2)MainActivity代码
3)权限
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
github上的那个zxing包太大了,很难使用,应当使用精简包,它的名字为:BarCodeTest
2、eclipse引入工程时,可以参考:http://www.cnblogs.com/SkyD/archive/2010/11/25/1887219.html
确保引入的工程在工作区间有文件夹
3、引入的工程要设置它的属性,让它变为is_library,以便其他项目能够使用
4、做为使用方,注意添加Library
5、具体使用代码:
1)视图
<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:orientation="vertical" > <Button android:id="@+id/scan" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="开始扫描二维码" /> <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/input" android:hint="请输入要编码的内容" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/gen" android:text="生成二维码" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/img" android:layout_gravity="center_horizontal" /> </LinearLayout>
2)MainActivity代码
package com.zyhui.testqrcode; import com.google.zxing.WriterException; import com.zxing.activity.CaptureActivity; import com.zxing.encoding.EncodingHandler; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; public class MainActivity extends Activity { private Button scanButton; private TextView text; private EditText input; private Button genButton; private ImageView img; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView) findViewById(R.id.text); input = (EditText) findViewById(R.id.input); scanButton = (Button) findViewById(R.id.scan); scanButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent startScan = new Intent(MainActivity.this, CaptureActivity.class); //startActivity(startScan); startActivityForResult(startScan, 0); } }); img = (ImageView) findViewById(R.id.img); genButton = (Button) findViewById(R.id.gen); genButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String str = input.getText().toString().trim(); if(TextUtils.isEmpty(str)){ Toast.makeText(MainActivity.this, "请输入字符串", Toast.LENGTH_SHORT).show(); return; } try { Bitmap qrcode = EncodingHandler.createQRCode(str, 300); img.setImageBitmap(qrcode); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } @Override protected 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); } } }
3)权限
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
相关文章推荐
- sar命令详解
- 在组合与继承之间的选择
- 前端性能分析
- StarUML---推荐一款UML工具(很好很强大)
- 大事故发生
- autorelease 的封装
- shell脚本
- 关于java的clone方法
- Groovy入门教程
- 深入理解HashMap(及hash函数的真正巧妙之处)
- rcnn的相关的知识
- 负载均衡技术与分类
- LeetCode 237. Delete Node in a Linked List
- HDU 1114(完全背包)
- 兼容低版本浏览器的一些方法
- 作业8:单元测试练习
- MySQL Command Line Client显示中文的部分为空
- 家庭仿真机器人之任务场景截取
- UI设计实验一
- 屏蔽百度等所有搜索引擎蜘蛛方法加meta标签