Intégrer ZXing un lecteur de QR code sans l'installation de Scanner de code à Barres
Je suis en train d'Intégrer ZXing QR Code dans mon application android sans installation de lecteur de code-Barres, j'ai suivi les étapes comme:
1) tout d'Abord j'ai téléchargé ZXing.zip fichier et l'extraire
2)ouvrez le ZXing projet comme une androïde projet existant, puis aller pour android dossier et ouvrir android dossier et également inclure core.jar fichier dans le ZXing projet nommé CaptureActivity.
3)j'ai utilisé le CaptureActivity projet comme une bibliothèque dans mon projet nommé "QRCodeSample'.
(Problème notamment CaptureActivity comme une bibliothèque)
4)Mon code est comme qui suivent3:
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");
}
}
}
}
Le fichier manifeste est :
<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>
et ce n'est pas l'ajout de la bibliothèque aussi
Quand je suis en train de lancer mon projet,le msg d'erreur est:
Impossible d'instancier l'activité ComponentInfo{com.qr.code/com.qr.code}: java.lang.ClassNotFoundException: com.qr.code dans le chargeur de dalvik.système.PathClassLoader[/data/app/com.qr.code-1.apk]
- Pour inclure ZXing est possible je l'ai fait. Je pense que l'utilisation de certains autres classes. Je ne me souviens pas que zxing utilise l'espace de noms com.qr.code
- Pourquoi êtes-vous à l'aide de la bibliothèque de projet. Vous pouvez construire le téléchargement de la bibliothèque zxing à un fichier jar à l'aide de fourmi et d'inclure ce fichier jar dans votre projet. Voici le lien pour les instructions de code.google.com/p/zxing/wiki/GettingStarted
- Êtes-vous sûr que cela fonctionne pour Android trop? J'ai fait ma propre lib avec certaines extensions personnalisées.
- Quand j'ai eu extrait le ZXing fichier, puis je me suis converti le dossier core en elle comme core.jar fichier et l'ajouter à mon projet
- vous avez mis le projet et la bibliothèque à la même partition de disque
- J'ai répondu à une question similaire ici stackoverflow.com/a/35822289/3470479
Vous devez vous connecter pour publier un commentaire.
Enfin j'ai eu la réponse,
Comme de l'ADT 14,les champs de ressources(comme R. id.décoder) ne sont plus des constantes définies dans la bibliothèque de projets
Donc dans la bibliothèque ZXing->android->com.google.zxing.client.android.CaptureActivityHandler.java et DecodeHandler.java
Remplacer ces deux classes commutateur cas d'instructions avec des if-else,puis importer ce ZXing bibliothèque dans votre projet..
Reste du codage de mon projet est de même...tout le problème avec les classes de la bibliothèque en tant que ce ne sont pas mis à jour selon les ADT 14..
Kanika
Pour tous ceux Android Studio/Gradle d'utilisateurs là-bas
Bon, les gars, que ma tâche aujourd'hui est d'intégrer l'ZXING dans une application Android et il n'y avait pas de bonnes sources pour l'entrée de tous les cours, je vais vous donner un indice de ce que fait mon succès - cause il s'est avéré pour être très facile (sur la version 2.*).
Il y a une réelle pratique dépôt git qui fournit la zxing android projet de bibliothèque comme un AAR archive.
Tout ce que vous avez à faire est d'ajouter à votre construction.gradle
et Gradle fait toute la magie de compiler le code et le rend accessible dans votre application.
Pour démarrer le Scanner par la suite, l'utilisation de cette classe/méthode:
Si vous avez déjà visité le lien, vous allez voir que j'ai juste copier&collé le code à partir de là, le git readme. Si y allez pas pour obtenir un peu plus de réflexion et des exemples de code!
Espère être utile pour les futurs lecteurs. La paix 🙂
Vous avez besoin de suivre étape est donnée par le lien
http://www.androidaz.com/development/zxing-qr-reader-direct-integration
vous pouvez télécharger core.jar de
http://repo1.maven.org/maven2/com/google/zxing/core/2.2/
Ci-dessus est de travailler pour moi, si votre programme encore il suffit de mettre la core-2.2.jar dans libs et le nettoyage de votre projet
J'ai eu le même Problème et après les heures d'ouverture de la difficulté avec elle, j'ai enfin réussi à le résoudre comme ça. comme Rubiraj pointe
*Clic droit sur votre projet > Propriétés > Android > (sous l'onglet bibliothèque) Ajouter le Zxing projet *
En supposant que vous avez été en mesure de créer correctement Zxing projet comme une Bibliothèque comme c'est expliqué ici :
http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/
MaterialBarcodeScanner: Facile à utiliser lecteur de code à barres pour votre Projet Android (Utilise Google Mobile Vision de l'API).
Fournir gradle dépendance
compiler 'com.edwardvanraak:MaterialBarcodeScanner:0.0.6-ALPHA"
Construire un MaterialBarcodeScanner
De le raccorder à un bouton
Commencer la numérisation!
Étape par étape pour l'installation de zxing 3.2.1 dans eclipse
Après l'importation de Zxing comme projet existant, les Propriétés > Java Buildpath > cochez la Case "est la bibliothèque" (bouton à cocher), puis essayez d'ajouter Zxing que d'une bibliothèque.
Assurez-vous que
webclass.class
existent dans votreQRcodesampleActivity.java