Integrare lo scanner QR Code ZXing senza installare BarCode Scanner

Sto cercando di integrare ZXing QR Code nella mia applicazione Android senza installare BarCode Scanner, ho seguito i passaggi come:

1) In primo luogo ho scaricato il file ZXing.zip e estratto

  • Intenzione della camera Android restituisce null ... a volte
  • Prevenzione di forms scaling in LayeredList senza utilizzare Bitmap
  • Espresso IdlingResource con RxJava
  • Che cosa è il file mainfest in android?
  • Android: Il tipo java.awt.Image non può essere risolto. Si indirizza indirettamente dai file .class richiesti
  • Imansible trovare la class javax.naming.directory.InitialDirContext
  • 2) aprire il progetto ZXing come un progetto android esistente e poi andare alla cartella android e aprire la cartella android e includere anche il file core.jar nel progetto ZXing chiamato CaptureActivity.

    3) Ho utilizzato il progetto CaptureActivity come libreria nel mio progetto denominato "QRCodeSample". (Problema nel includere CaptureActivity come libreria)

    4) Il mio codice è come sotto3:

    public class QRCodeSampleActivity extends Activity { Button b1; static String contents; public static final int REQUEST_CODE = 1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub /*Intent intent = new Intent("com.google.zxing.client.android.SCAN"); intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0);*/ Intent intent = new Intent("com.google.zxing.client.android.SCAN"); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0); } }); } public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == 0) { if (resultCode == RESULT_OK) { contents = intent.getStringExtra("SCAN_RESULT"); String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); Log.i("Barcode Result", contents); Intent i1 = new Intent(QRCodeSampleActivity.this, webclass.class); startActivity(i1); // Handle successful scan } else if (resultCode == RESULT_CANCELED) { // Handle cancel Log.i("Barcode Result","Result canceled"); } } } } 

    Il file manifesto è:

     <uses-permission android:name="android.permission.CAMERA"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name="com.google.zxing.client.android.CaptureActivity" android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <intent-filter> <action android:name="com.google.zxing.client.android.SCAN"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> <activity android:label="@string/app_name" android:name=".QRCodeSampleActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".webclass"></activity> </application> </manifest> 

    e la sua libreria non aggiungendo anche

    LibraryInformation

    Quando sto cercando di eseguire il mio progetto, il messaggio di errore è:

    Imansible istanziare l'attività ComponentInfo {com.qr.code / com.qr.code}: java.lang.ClassNotFoundException: com.qr.code nel loader dalvik.system.PathClassLoader [/data/app/com.qr.code-1 .apk]

  • StreamCorruptedException durante l'invio di oggetti seriali tramite Bluetooth
  • Qual è la differenza tra setWebViewClient vs setWebChromeClient?
  • Android OKHttp aggiungendo params
  • Come posso visualizzare una visualizzazione di elenco in un dialogo di allarme Android?
  • Colbind l'applicazione Android con i contatti / rubrica telefonica in modo programmato
  • Come call il metodo Activity in un AsyncTask
  • 7 Solutions collect form web for “Integrare lo scanner QR Code ZXing senza installare BarCode Scanner”

    Finalmente ho la risposta,

    A partire da ADT 14, i campi delle risorse (ad esempio R.id.decode) non sono più costanti quando sono definiti nei progetti di libreria

    Così nella libreria ZXing-> android-> com.google.zxing.client.android.CaptureActivityHandler.java e DecodeHandler.java

    Sostituire entrambe queste classi con l'if-else e quindi importre questa libreria ZXing nel progetto.

    Il resto della codifica del mio progetto è lo stesso … solo il problema con le classi della biblioteca poiché queste non vengono aggiornate come secondo l'ADT 14.

    Kanika

    Per tutti gli utenti di Android Studio / Gradle là fuori

    Okay ragazzi, come oggi ho dovuto integrare ZXING in un'applicazione Android e non ci sono buone fonti per l'input in tutto, vi darò un suggerimento su cosa mi ha reso ansible – perché è risultato molto facile (sulla versione 2 . *).

    C'è un vero e proprio repository di git che fornisce il progetto della libreria zxing android come un archivio AAR.

    Tutto quello che devi fare è aggiungere questo al tuo build.gradle

     repositories { mavenCentral() maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" } } dependencies { compile 'com.google.zxing:core:2.2' compile 'com.embarkmobile:zxing-android-minimal:1.2.1@aar' } 

    e Gradle fa tutta la magia per compilare il codice e lo rende accessibile nella tua app.

    Per avviare lo scanner in seguito, utilizzare questa class / metodo:

     IntentIntegrator.initiateScan(this); // `this` is the current Activity 

    Se hai già visitato il link, vedrai che ho appena copiato e incollato il codice da lì il git readme. Se non andate lì per avere qualche esempio di esempi e di codice!

    Spero di essere utile per i lettori futuri. Pace 🙂

    È necessario seguire il passaggio indicato dal link

    http://www.androidaz.com/development/zxing-qr-reader-direct-integration

    è ansible scaricare core.jar da

    http://repo1.maven.org/maven2/com/google/zxing/core/2.2/

    Quanto sopra funziona per me se il tuo programma ancora mette il core-2.2.jar in libs e pulisce il tuo progetto

    Ho avuto lo stesso problema e dopo le ore che lottano con esso ho finalmente riuscito a risolverlo come questo. come punta Rubiraj

    * Fare clic destro sul progetto> Proprietà> Android> (sotto la scheda di libreria) Aggiungi il progetto Zxing *

    Supponendo che sia stato in grado di creare correttamente il progetto Zxing come biblioteca come è spiegato qui: http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app- nativamente-con-eclipse /

    MaterialBarcodeScanner: facile da usare il lettore di codici a barre per il tuo progetto Android (utilizza Google Mobile Vision API).

    1. Fornire dipendenza da gradi

      compilare 'com.edwardvanraak: MaterialBarcodeScanner: 0.0.6-ALPHA'

    2. Costruisci un MaterialBarcodeScanner

       private void startScan() { /** * Build a new MaterialBarcodeScanner */ final MaterialBarcodeScanner mBarcodeScanner = new MaterialBarcodeScannerBuilder() .withActivity(MainActivity.this) .withEnableAutoFocus(true) .withBleepEnabled(true) .withBackfacingCamera() .withText("Scanning...") .withResultListener(new MaterialBarcodeScanner.OnResultListener() { @Override public void onResult(Barcode barcode) { barcodeResult = barcode; result.setText(barcode.rawValue); } }) .build(); mBarcodeScanner.startScan(); } 
    3. Agganciarlo a un button

       fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startScan(); } }); 
    4. Avvia la scansione!

    Passo dopo passo per impostare zxing 3.2.1 in eclipse

    1. Scarica zxing-master.zip da " https://github.com/zxing/zxing "
    2. Unzip zxing-master.zip, Utilizza eclipse per importre il progetto "android" in zxing-master
    3. Scarica il core-3.2.1.jar da " http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/ "
    4. Crea la cartella "libs" nel progetto "android" e incolla cor-3.2.1.jar nella cartella libs
    5. Clicca sul progetto: scegli "properties;" -> "Java Compiler" per cambiare livello a 1.7. Quindi fare clic su "Android" cambiare "Project build target" per android 4.4.2+, perché utilizzando 1.7 richiede la compilazione con Android 4.4
    6. Se "CameraConfigurationUtils.java" non esiste in "zxing-master / android / app / src / main / java / com / google / zxing / client / android / camera /". Puoi copiarlo da "zxing-master / android-core / src / main / java / com / google / zxing / client / android / camera /" e incollarlo al tuo progetto.
    7. Pulire e build il progetto. Se il tuo progetto mostra un errore di "switch – case", dovresti cambiarli in "if – else".
    8. Completato. Pulire e build il progetto. Puoi click su "Proprties"> "Android"> click su "È Librerie" da utilizzare per il tuo progetto
    1. Dopo aver importto Zxing come progetto esistente, fare clic su Proprietà> Java Buildpath> Controlla "è libreria" (button di controllo) e quindi cercare di aggiungere Zxing come libreria.

    2. Assicurati che webclass.class esista nel tuo QRcodesampleActivity.java

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.