Vorrei implementare un lettore di codici QR/codice a barre all'interno della mia applicazione. Mi piacerebbe sapere quale sia la soluzione più leggera per fare ciò (ignorando l'integratore di intent da zxing).Lettore codice a barre/codice QR per Android
risposta
Ho usato zxing per costruire nella mia applicazione. Avrai bisogno di un po 'di codice. Prima di tutto, core.jar, relativo a core/core.jar, nel tuo percorso di build, quindi vai al loro client, a android /..../ com.google.zxing, e ottieni il loro codice (questo non è raccomandato da . gli sviluppatori, perché la vostra copia e incolla) ultimo, aggiungere questo codice:
package com.wtsang02.activities;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.ChecksumException;
import com.google.zxing.FormatException;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.NotFoundException;
import com.google.zxing.Reader;
import com.google.zxing.Result;
import com.google.zxing.ResultPoint;
import com.google.zxing.common.HybridBinarizer;
public class QRDecoder extends Activity implements OnClickListener {
private String text;
private Button webbutton;
private Bitmap bmp;
private ImageView ivPicture;
private TextView textv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mysales);
webbutton = (Button)findViewById(R.id.webbutton);
ivPicture = (ImageView) findViewById(R.id.ivPicture);
textv= (TextView) findViewById(R.id.mytext);
webbutton.setOnClickListener(this);
}
private void decode() {
if (bmp == null) {
Log.i("tag", "wtf");
}
bmp = bmp.copy(Bitmap.Config.ARGB_8888, true);
int[] intArray = new int[bmp.getWidth() * bmp.getHeight()];
bmp.getPixels(intArray, 0, bmp.getWidth(), 0, 0, bmp.getWidth(),
bmp.getHeight());
LuminanceSource source = new com.google.zxing.RGBLuminanceSource(
bmp.getWidth(), bmp.getHeight(), intArray);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Reader reader = new MultiFormatReader();
try {
Result result = reader.decode(bitmap);
text = result.getText();
byte[] rawBytes = result.getRawBytes();
BarcodeFormat format = result.getBarcodeFormat();
ResultPoint[] points = result.getResultPoints();
textv.setText(text);
} catch (NotFoundException e) {
e.printStackTrace();
} catch (ChecksumException e) {
e.printStackTrace();
} catch (FormatException e) {
e.printStackTrace();
}
Log.i("done", "done");
if(text!=null)
Toast.makeText(getBaseContext(), text, Toast.LENGTH_LONG).show();
else{
Toast.makeText(getBaseContext(), "QQ", Toast.LENGTH_LONG).show();
}
}
@Override
public void onClick(View v) {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
bmp = (Bitmap) extras.get("data");
ivPicture.setImageBitmap(bmp);
decode();
}
}
}
questo codice utilizzare la fotocamera di default del telefono, se avete bisogno di usare il loro cliente, è necessario iniziare la loro CaptureActivity
, il layout dovrebbe includere un TextView
per mostrare i risultati, ImageView
per mostrare l'immagine catturata e Button
per avviare la fotocamera. . Questo è basato su 2.1zxing.
ottenere quale codice dal client? Ho frainteso quella parte – user1437481
+1 per mostrare come per creare una nuova app semplice invece di copiare completamente l'app Barcode Scanner. –
ha aggiornato il post, dove dichiaro la posizione. Si trova tutto nel file zip, dove hai scaricato zxing2.1 – wtsang02
Ehi, scarica un campione di scanner di codici a barre Biggu da questo link, estrai il progetto demo e importalo in eclissi. Il file zip ha Demo Esempio, che è possibile utilizzare e integrare nella vostra applicazione secondo il vostro requisito
andando a provarlo in un minuto – user1437481
non riesco a scegliere QR o codice a barre solo su questo – user1437481
- 1. Codice sorgente lettore musicale Android
- 2. Come creare un lettore di codici QR per iOS
- 3. Codice a barre azteco vs codice QR
- 4. Lettura codice QR con fotocamera - Android
- 5. java lettore codice a barre
- 6. Android, Come leggere il codice QR nella mia applicazione?
- 7. Immagine codice a barre QR torna al testo
- 8. Come creare un'applicazione con codice QR?
- 9. Come sviluppare un lettore di codici QR multipiattaforma?
- 10. lavoro QR scanner di codice per PhoneGap
- 11. Funzione nativa per scansionare il codice QR
- 12. creare un codice QR per inviare e-mail sia su iPhone che su Android
- 13. Codice lettore di codici a barre Delphi
- 14. Lettore di codice QR JavaScript - può essere fatto? O servizio remoto?
- 15. Scansione codice QR senza fotocamera a schermo intero
- 16. Android/QR-Code: è possibile aprire direttamente Google Play Store utilizzando un codice QR?
- 17. Scansione del codice QR utilizzando l'API di Android Mobile Vision
- 18. qr reindirizzamento codice per google play su dispositivo o desktop
- 19. Generazione di un codice QR in rotaie
- 20. QR library per MonoTouch?
- 21. lettore multimediale Android ritorna IllegalStateException
- 22. Creazione del codice QR con Coldfusion
- 23. Creare un codice QR per l'applicazione nel mercato
- 24. Codice QR, può essere generato con R?
- 25. Generazione codice QR in ASP.NET MVC
- 26. Leggi codice binario QR con AVFoundation
- 27. Cosa corrisponde a questa espressione regolare: qr/(?!) /;
- 28. Codice QR con URL, lo fa * DAVVERO * bisogno di http: //?
- 29. Lettore RFID per dispositivi mobili
- 30. Android: Lettore video come Dailymotion App
ciò che è sbagliato con l'intento integratore da ZXing? – kjurkovic
non voglio che gli utenti abbandonino l'app per scaricare il lettore di codici a barre, voglio una soluzione all'interno dell'app – user1437481
Zxing fornisce il codice completo, è possibile integrarlo con l'app –