ZXing 项目条码扫描
1. 项目主页:http://code.google.com/p/zxing/
2. Svn 地址:http://zxing.googlecode.com/svn/trunk/
Android ZXing 使用说明:
项目名称:ZXingExample
ANDROID SDK LEVEL: 2.0
入口类: DigilinxActivity.java
需要导入包: zxing.jar ,这个包是 zxing 解码包。
AndroidManifest.xml 文件中有相应的调用摄像头等权限。
DigilinxActivity.java
这里采用按钮来启动 ZXing 条码扫描,首先在 res/layout/test.xml 中添加一个 Button 按钮,
然后再看 DigilinxActivity 的 onCreate 方法:
TextView productText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
findViewById(R.id.scan_product).setOnClickListener(mScanProduct);
productText= (TextView) findViewById(R.id.TextView01);
}
在 onCreate 方法里面构造了一个按钮,通过点击按钮来启动 Zxing。
接下里开始编写 Button 的事件处理方法:
public final Button.OnClickListener mScanProduct = new Button.OnClickListener() {
public void onClick(View v) {
//启动Zxing的Activity
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, 0);
}
};
这里是通过 Intent 来启动 ZXing 条码扫描。
这里简单说明一下 为什么可以用 Ientent 来调用启动 Zxing,实践上是通过 Intent 通过传入的值找到对应
的 Activity ,这个需要在 AndroidManifest.xml 文件中做映射绑定,下面本项目中的 绑定部分:
<activity android:name=".CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
//这里就是绑定映射到指定的Activity
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
评论30
最新资源