详解Android 扫描条形码(Zxing插件)
使用AndroidStudio
一、在build.gradle(Module:app)添加代码 下载,调用插件
applyplugin:'com.android.application'
android{
compileSdkVersion24
buildToolsVersion"24.0.1"
defaultConfig{
applicationId"com.example.ly.scanrfid"
minSdkVersion19
targetSdkVersion24
versionCode1
versionName"1.0"
}
buildTypes{
release{
minifyEnabledfalse
proguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
repositories{
mavenCentral()
maven{
url"http://dl.bintray.com/journeyapps/maven"
}
}
}
dependencies{
compilefileTree(dir:'libs',include:['*.jar'])
testCompile'junit:junit:4.12'
compile'com.android.support:appcompat-v7:24.2.1'
//SupportsAndroid4.0.3andlater(APIlevel15)
compile'com.journeyapps:zxing-android-embedded:2.0.1@aar'
//SupportsAndroid2.1andlater(APIlevel7),butnotoptimalforlaterAndroidversions.
//IfyouonlyplanonsupportingAndroid4.0.3andup,youdon'tneedtoincludethis.
compile'com.journeyapps:zxing-android-legacy:2.0.1@aar'
//ConveniencelibrarytolaunchthescanningandencodingActivities.
//Itautomaticallypicksthebestscanninglibraryfromtheabovetwo,dependingonthe
//Androidversionandwhatisavailable.
compile'com.journeyapps:zxing-android-integration:2.0.1@aar'
//Version3.0.xofzxingcorecontainssomecodethatisnotcompatibleonAndroid2.2andearlier.
//Thismostlyaffectsencoding,butyoushouldtestifyouplantosupporttheseversions.
//Olderversionse.g.2.2mayalsoworkifyouneedsupportforolderAndroidversions.
compile'com.google.zxing:core:3.0.1'
}
二、添加权限
<?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ly.scanrfid"> <uses-permissionandroid:name="android.permission.CAMERA"/> <uses-permissionandroid:name="android.permission.VIBRATE"/> <uses-permissionandroid:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activityandroid:name=".MainActivity"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
三、Activity代码
packagecom.example.ly.scanrfid;
importandroid.content.Intent;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.widget.Toast;
importcom.google.zxing.integration.android.IntentIntegrator;
importcom.google.zxing.integration.android.IntentResult;
publicclassMainActivityextendsAppCompatActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//扫描按钮点击监听事件
publicvoidclickScan(Viewview){
//扫描操作
IntentIntegratorintegrator=newIntentIntegrator(MainActivity.this);
integrator.initiateScan();
}
@Override
protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
//跳转扫描页面返回扫描数据
IntentResultscanResult=IntentIntegrator.parseActivityResult(requestCode,resultCode,data);
//判断返回值是否为空
if(scanResult!=null){
//返回条形码数据
Stringresult=scanResult.getContents();
Log.d("code",result);
Toast.makeText(this,result,Toast.LENGTH_LONG).show();
}
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!