Android scanning bar code (Zxing plug-in) and androidzxing
Use Android Studio
1. Add code download in build. gradle (Module: app) and call the plug-in
1 apply plugin: 'com.android.application' 2 3 android { 4 compileSdkVersion 24 5 buildToolsVersion "24.0.1" 6 7 defaultConfig { 8 applicationId "com.example.ly.scanrfid" 9 minSdkVersion 1910 targetSdkVersion 2411 versionCode 112 versionName "1.0"13 }14 buildTypes {15 release {16 minifyEnabled false17 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'18 }19 }20 repositories {21 mavenCentral()22 maven {23 url "http://dl.bintray.com/journeyapps/maven"24 }25 }26 }27 28 dependencies {29 compile fileTree(dir: 'libs', include: ['*.jar'])30 testCompile 'junit:junit:4.12'31 compile 'com.android.support:appcompat-v7:24.2.1'32 // Supports Android 4.0.3 and later (API level 15)33 compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar'34 35 // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.36 // If you only plan on supporting Android 4.0.3 and up, you don't need to include this.37 compile 'com.journeyapps:zxing-android-legacy:2.0.1@aar'38 39 // Convenience library to launch the scanning and encoding Activities.40 // It automatically picks the best scanning library from the above two, depending on the41 // Android version and what is available.42 compile 'com.journeyapps:zxing-android-integration:2.0.1@aar'43 44 // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.45 // This mostly affects encoding, but you should test if you plan to support these versions.46 // Older versions e.g. 2.2 may also work if you need support for older Android versions.47 compile 'com.google.zxing:core:3.0.1'48 }
View Code
2. Add Permissions
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ly.scanrfid"> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android: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"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application></manifest>
View Code
3. Activity Code
Package com. example. ly. scanrfid; import android. content. intent; import android. support. v7.app. appCompatActivity; import android. OS. bundle; import android. util. log; import android. view. view; import android. widget. toast; import com. google. zxing. integration. android. intentIntegrator; import com. google. zxing. integration. android. intentResult; public class MainActivity extends AppCompatActivity {@ Override protect Ed void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main);} // scan button click listener event public void clickScan (View view) {// scan IntentIntegrator integrator = new IntentIntegrator (MainActivity. this); integrator. initiateScan () ;}@ Override protected void onActivityResult (int requestCode, int resultCode, Intent data) {// jump to the scan page and return the scan data IntentResult s CanResult = IntentIntegrator. parseActivityResult (requestCode, resultCode, data); // judge whether the returned value is null if (scanResult! = Null) {// return the barcode data String result = scanResult. getContents (); Log. d ("code", result); Toast. makeText (this, result, Toast. LENGTH_LONG ). show ();}}}
View Code