zoukankan      html  css  js  c++  java
  • android 条码识别软件开发全解析(续1详解)

    前天我发了一篇关于android开发条码识别软件应用程序的博客,没想到竟很受关注。

    我也挺受鼓舞的,好吧,我接上次的博客继续往下写。

    前篇有人讲我写的没有实质内容,我接受建议,这里我就带大家体验一下最简单最直接的完美体验。

    编写你的第一个android条码识别程序。zxing的简单使用!

    第一步:下载zxing组件:我上篇也简单介绍了一下这个组件,这里也不啰嗦了。

    下载两个东东

    源码和文档说明:

    地址下如

    http://code.google.com/p/zxing/downloads/detail?name=ZXing-1.6.zip&can=2&q=

    BarcodeScanner3.5.apk这个是编译好的一个可安装的apk程序!这个后面将用到。

    地址如下

    http://code.google.com/p/zxing/downloads/detail?name=BarcodeScanner3.51b1.apk&can=2&q=

    第二步:
    模拟器已完全打开后
    安装BarcodeScanner3.5.apk

    cmd中cd 到sdk目录

    利用adb命令安装BarcodeScanner3.5.apk

    adb install BarcodeScanner3.5.apk 所在目录,请确定安装成功了。

    第三步:ok 终于到编码了!

    代码


    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;

    publicclass MyTest extends Activity {
    /** Called when the activity is first created. */
    private TextView tv;
    @Override
    publicvoid onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.mytest);

    tv
    =(TextView) findViewById(R.id.mytxt);
    findViewById(R.id.mybtn).setOnClickListener(listener);
    }
    public Button.OnClickListener listener=new Button.OnClickListener(){
    publicvoid onClick(View v){


    Intent intent
    =new Intent("com.google.zxing.client.android.SCAN");//调用扫描的actity,这里其实只是转到刚才安装的BarcodeScanner3程序的中一个actity
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");//输入参数,(扫描类型,..二维码)
    startActivityForResult(intent, 0);//启动intent
    }
    };


    //扫描成功后回调函数,传回code
    publicvoid onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode ==0) {
    if (resultCode == RESULT_OK) {
    String contents
    = intent.getStringExtra("SCAN_RESULT");
    String format
    = intent.getStringExtra("SCAN_RESULT_FORMAT");
    // Handle successful scan

    tv.setText(
    " 条形码为:"+contents+" 条码类型为: "+format);//利用页面的textveiw显示扫描后的结果

    }
    elseif (resultCode == RESULT_CANCELED) {
    // Handle cancel
    tv.setText(" 扫描失败!");
    }
    }
    }
    }

    对应的xml如下

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:orientation="vertical" android:layout_width="fill_parent"
    	android:layout_height="fill_parent">
    	<TextView android:layout_width="fill_parent"
    		android:layout_height="wrap_content" android:text="@string/hello"
    		android:id="@+id/mytxt" />
    
    	<Button android:text="点我开始扫描" android:id="@+id/mybtn"
    		android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    </LinearLayout>
    
    


    第三步:OK我们赶快看看效果吧, 运行。
    你会看到如下:


    模拟器当然没有摄像头设备是扫描不到结果的。
    总结:
    这里只是做了一个简单的调用,调用简单但有一个很大的缺陷,这里我们要安装两个程序!

    在安装BarcodeScanner3.5.apk为前题,这明显不能接受!所以接下来我将在下篇博客继续深入。敬请关注!

  • 相关阅读:
    linux下实现在程序运行时的函数替换(热补丁)【转】
    进程的切换和系统的一般执行过程【转】
    linux 系统函数之 (dirname, basename)【转】
    PHP的ob_start()函数用法
    JavaScript闭包(Closure)学习笔记
    利用PHP的register_shutdown_function来记录PHP的输出日志,模拟析构函数
    PHP get_class_methods函数用法
    PHP中的魔术方法:__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload
    PHP get_class 返回对象的类名
    利用session_set_save_handler()函数将session保存到MySQL数据库中
  • 原文地址:https://www.cnblogs.com/tankaixiong/p/1863997.html
Copyright © 2011-2022 走看看