编写最简单的android扫描条形码功

    技术2025-04-21  14

    编写最简单的android扫描条形码功能

    已经有java的第三方开源条形码识别库(zxing)了,在自己的应用中扫描条形码实际上只需调用该第三方库的实现即可。写扫描和识别条形码的android支持库的时候还没有g1手机,现在可以试试了。

    为了能调用zxing,需要先安装google market中的barcode scanner:

    程序很简陋,第一个界面:

    第二个界面,跳到了zxing库提供的Activity去做条形码扫描,这里扫描的是生成QR二维条码中的本站url。

    qr码瞬间就可以识别到,然后从zxing的Activity返回到程序中,显示条目内容:

    编写代码很简单。

    java代码:

    package com.easymorse;

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

    public class ShowBarcodeActivity extends Activity implements OnClickListener {

    private Button button;

    private TextView textView;

    /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

    this.button = (Button) this.findViewById(R.id.Button01); this.button.setOnClickListener(this);

    this.textView = (TextView) this.findViewById(R.id.hello); }

    @Override public void onClick(View view) { Intent intent = new Intent(“com.google.zxing.client.android.SCAN”); intent.putExtra(“SCAN_MODE”, “QR_CODE_MODE”); this.startActivityForResult(intent, 0); }

    @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode != 0) { return; }

    this.textView.setText(data.getStringExtra(“SCAN_RESULT”)); } }

    layout目录下面的main.xml:

    http://schemas.android.com/apk/res/android” android:orientation=”vertical” android:layout_width=”fill_parent” android:layout_height=”fill_parent” > android:id=”@+id/hello” android:layout_width=”fill_parent” android:layout_height=”wrap_content” android:text=”@string/hello” />

    values目录下的strings.xml

    目前没有扫描结果。 购物小参考 点击开始扫描…

    从这个示例中也可以看到android强大的地方,可以复用(reuse)其他应用的服务(Service)或者Activity。

    最新回复(0)