para - scanner de codigo de barras android studio
¿Cómo integrar ZXing Library a Android Studio para escanear códigos de barras? (4)
He estado buscando en todo el Internet cómo incluir la biblioteca zxing en mi proyecto, y encontré este tutorial: http://blog.dihaw.com/integrating-zxing-in-your-android-app-as-standalone-scanner/
Pero cuando llego al punto en el que necesita verificar que BeepManager agregue la importación de R, obtengo todo tipo de errores en mi proyecto (incluso en MainActivity) que no pudo encontrar a R.
También encontré este https://github.com/journeyapps/zxing-android-embedded/blob/master/README.md que parecía mucho más fácil porque estaba integrado de forma automática por gradle, pero cuando lo sincronizo aparece un error que no pudo encontrar los archivos.
Cualquier ayuda sería apreciada :) Soy nuevo en Android Studio.
EDITAR:
Agregué la configuración del segundo método (el que tiene la configuración de gradle) a mi build.gradle y aparecen 4 errores:
Error:Failed to find: com.embarkmobile:zxing-android-legacy:2.0.0
Error:Failed to find: com.google.zxing:core:3.0.1
Error:Failed to find: com.embarkmobile:zxing-android-integration:2.0.0
Error:Failed to find: com.embarkmobile:zxing-android-minimal:2.0.0
¿Alguna ayuda?
---RESPONDER---
Para solucionar este problema necesitaba deshabilitar el trabajo sin conexión en Gradle. Vaya a la configuración de Android Studio> Gradle> Desmarque ''trabajo fuera de línea'' Después de eso, ¡ya está listo!
A partir de la versión 3 de zxing-android-embebido, solo necesita agregar estos a su archivo build.gradle
:
repositories {
jcenter()
}
dependencies {
compile ''com.journeyapps:zxing-android-embedded:3.0.2@aar''
compile ''com.google.zxing:core:3.2.0''
}
Siga los pasos en: https://github.com/journeyapps/zxing-android-embedded/
Ahora también permite el modo de retrato con cambios simples en IntentIntegrator
y formas más sencillas de personalizar las vistas.
La forma más fácil de integrar ZXing para escanear códigos de barras o Qr.
Para referencia completa: escanear código de barras ZXing Android
Añadir en dependencias
compile ''me.dm7.barcodescanner:zxing:1.9''
ScanActivity
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class ScanActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler{
private ZXingScannerView mScannerView;
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
mScannerView = new ZXingScannerView(this); // Programmatically initialize the scanner view
setContentView(mScannerView); // Set the scanner view as the content view
}
@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results.
mScannerView.startCamera(); // Start camera on resume
}
@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera(); // Stop camera on pause
}
@Override
public void handleResult(Result rawResult) {
// Do something with the result here
// Log.v("tag", rawResult.getText()); // Prints scan results
// Log.v("tag", rawResult.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.)
MainActivity.tvresult.setText(rawResult.getText());
onBackPressed();
// If you would like to resume scanning, call this method below:
//mScannerView.resumeCameraPreview(this);
}
}
Lo tengo trabajando con esto:
repositories { mavenCentral()
maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" }
}
compile ''com.google.zxing:core:3.2.1''
compile ''com.embarkmobile:zxing-android-minimal:2.0.0@aar''
compile ''com.embarkmobile:zxing-android-integration:2.0.0@aar''
Recomiendo usar el IntentIntegrator
IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.forSupportFragment(this).initiateScan();
El código de solicitud vuelve con IntentIntegrator.REQUEST_CODE
Necesita agregar lo siguiente a su archivo build.gradle
:
repositories {
mavenCentral()
maven {
url "http://dl.bintray.com/journeyapps/maven"
}
}
dependencies {
// Supports Android 4.0.3 and later (API level 15)
compile ''com.journeyapps:zxing-android-embedded:2.0.1@aar''
// Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.
// If you only plan on supporting Android 4.0.3 and up, you don''t need to include this.
compile ''com.journeyapps:zxing-android-legacy:2.0.1@aar''
// Convenience library to launch the scanning and encoding Activities.
// It automatically picks the best scanning library from the above two, depending on the
// Android version and what is available.
compile ''com.journeyapps:zxing-android-integration:2.0.1@aar''
// Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.
// This mostly affects encoding, but you should test if you plan to support these versions.
// Older versions e.g. 2.2 may also work if you need support for older Android versions.
compile ''com.google.zxing:core:3.0.1''
}
Mi archivo build.gradle
como este:
apply plugin: ''com.android.application''
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.myapplication2"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro''
}
}
}
repositories {
mavenCentral()
maven {
url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
}
}
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.android.support:appcompat-v7:21.0.3''
// Supports Android 4.0.3 and later (API level 15)
compile ''com.embarkmobile:zxing-android-minimal:2.0.0@aar''
// Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.
// If you only plan on supporting Android 4.0.3 and up, you don''t need to include this.
compile ''com.embarkmobile:zxing-android-legacy:2.0.0@aar''
// Convenience library to launch the scanning and encoding Activities.
// It automatically picks the best scanning library from the above two, depending on the
// Android version and what is available.
compile ''com.embarkmobile:zxing-android-integration:2.0.0@aar''
// Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.
// This mostly affects encoding, but you should test if you plan to support these versions.
// Older versions e.g. 2.2 may also work if you need support for older Android versions.
compile ''com.google.zxing:core:3.0.1''
}
El código está here .
También, para saber cómo usarlo, consulte mi respuesta en el here
Contiene método y también código simple que he probado.