Autore Topic: QRcode reader  (Letto 1490 volte)

Offline sirtraco

  • Utente junior
  • **
  • Post: 92
  • Respect: 0
    • Mostra profilo
QRcode reader
« il: 13 Novembre 2011, 19:27:32 CET »
0
ciao,


mi sapete dire come vanno inserite le librerie zxing per sviluppare la classe qrcode reader?altrimenti conoscete un link dove scaricare il sorgente?

Grazie mille ;-)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline sirtraco

  • Utente junior
  • **
  • Post: 92
  • Respect: 0
    • Mostra profilo
Re:QRcode reader
« Risposta #2 il: 14 Novembre 2011, 14:22:17 CET »
0
scusa qualcosa di più chiaro non esiste???  :'( :'( :'( :'( :-\ :-\ :-\ :-\

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:QRcode reader
« Risposta #3 il: 14 Novembre 2011, 14:44:17 CET »
0
scusa qualcosa di più chiaro non esiste???  :'( :'( :'( :'( :-\ :-\ :-\ :-\

Io non conosco altre fonti, se tu ne trovi, postale qua che così sarai di aiuto ai prossimi che ci incapperanno.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aw4y

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung i5500
  • Sistema operativo:
    osx/linux
Re:QRcode reader
« Risposta #4 il: 14 Novembre 2011, 15:31:01 CET »
0
io ho seguito quel tutorial e tutto ha funzionato. se magari hai qualche dubbio puoi postarlo.

Offline sirtraco

  • Utente junior
  • **
  • Post: 92
  • Respect: 0
    • Mostra profilo
Re:QRcode reader
« Risposta #5 il: 14 Novembre 2011, 15:57:29 CET »
0
il problema è che non riesco a inserire le librerie sul progetto che ho iniziato...

Offline sirtraco

  • Utente junior
  • **
  • Post: 92
  • Respect: 0
    • Mostra profilo
Re:QRcode reader
« Risposta #6 il: 16 Novembre 2011, 10:17:39 CET »
0
allora, stò provando a seguire il tutoria non capisco come fare a creare il jar con apache ant mi potete aiutare???

Offline sirtraco

  • Utente junior
  • **
  • Post: 92
  • Respect: 0
    • Mostra profilo
Re:QRcode reader
« Risposta #7 il: 21 Novembre 2011, 18:36:18 CET »
0
il problema è che non riesco a inserire le librerie sul progetto che ho iniziato...
up up :-\ :-\ :-\ :-\ :'( :'( :'( :-)

Offline salvatore cino

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy s i9000
  • Play Store ID:
    wb apps
  • Sistema operativo:
    ubuntu 11.04
R: QRcode reader
« Risposta #8 il: 21 Novembre 2011, 22:33:55 CET »
0
Se hai scaricato il progetto zxing dovrebbe esserci una cartella chiamata core da terminale portati li e poi digita

ant build

E dovrebbe crearti il jar core.jar

Facci sapere

Inviato dal mio GT-I9000 usando Tapatalk

Offline sirtraco

  • Utente junior
  • **
  • Post: 92
  • Respect: 0
    • Mostra profilo
Re:R: QRcode reader
« Risposta #9 il: 22 Novembre 2011, 15:15:13 CET »
0
Se hai scaricato il progetto zxing dovrebbe esserci una cartella chiamata core da terminale portati li e poi digita

ant build

E dovrebbe crearti il jar core.jar

Facci sapere

Inviato dal mio GT-I9000 usando Tapatalk


perfetto grazie mille ha funzionato, dopo ho seguito il tutorial sopra e sono riuscito a inserire le librerie nel progetto, un ultima cosa, alla fine questa applicazione funziona anche se non è installata l'applicazione ZXing sul telefono oppure l'installazione è obbligatoria???

Offline salvatore cino

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy s i9000
  • Play Store ID:
    wb apps
  • Sistema operativo:
    ubuntu 11.04
R: QRcode reader
« Risposta #10 il: 23 Novembre 2011, 09:14:11 CET »
0
Se hai fatto tutto correttamente dovrebbe funzionare anche senza l applicazione barcode scanner di zxing

Inviato dal mio GT-I9000 usando Tapatalk

Offline sirtraco

  • Utente junior
  • **
  • Post: 92
  • Respect: 0
    • Mostra profilo
Re:QRcode reader
« Risposta #11 il: 25 Novembre 2011, 10:38:42 CET »
0
Allora ragazzi girando sul forum ho trovato questo codice per richiamare la fotocamera, l'ho anche un pò modificato, lo scopo della mia app è quello di decodificare i qrcode, quindi vorrei sapere quale metodo della classe zxing devo usare per decodificare l'immagine che fotografo, in secondo luogo esiste un metodo per passare direttamente l'anteprima della fotocamera invece di salvare l'imagine sulla root??

Codice (Java): [Seleziona]
package com.tutorial.camera;
import java.util.GregorianCalendar;
import java.util.Calendar;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;

import android.app.Activity;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.hardware.Camera.Size;
import android.os.Bundle;
import android.os.Environment;
//import android.util.Log;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.ImageButton;

public class CameraView extends Activity implements SurfaceHolder.Callback{
       
/* VARIABILI PRIVATE */
private SurfaceView mSurfaceView;
private SurfaceHolder mSurfaceHolder;
private Camera mCamera;
private boolean mPreviewRunning;
//private GregorianCalendar temp = new GregorianCalendar();
private String nameFile="qrcode.jpg";
private int i= 0;
private String contatore;

/** Called when the activity is first created. */
@Override

public void onCreate(Bundle savedInstanceState) {
               
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT); //aggiungo il traslucido
        requestWindowFeature(Window.FEATURE_NO_TITLE);  //no barra titolo
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);   //full screen
        setContentView(R.layout.main);
        ImageButton buttonPicture = (ImageButton) findViewById(R.id.camera_surface_button);
                buttonPicture.setOnClickListener(new OnClickListener(){
                        public void onClick(View v) {
                                        i++;
                                        contatore=Integer.toString(i);
                                       
                                mCamera.takePicture(null, null, jpegCallback);
                                nameFile = "qrcode" + contatore + ".jpg";
                        }
                });
               
        mSurfaceView = (SurfaceView)findViewById(R.id.camera_surface);
        mSurfaceHolder = mSurfaceView.getHolder();      //recupero l'holder della surfaceview
        mSurfaceHolder.addCallback(this);       //faccio la bind alla nostra activity
        mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);//tipo di surface, suggerito nei tutorial ufficiali
    }
   
   
   
    PictureCallback jpegCallback = new PictureCallback() {
                public void onPictureTaken(byte[] _data, Camera _camera) {
                       
                        //File sdImageMainDirectory = new File("/sdcard");
                    File root=Environment.getExternalStorageDirectory();
                   
                   
                    File img=new File(root,nameFile);
       
                    try {
                        //BitmapFactory.Options options=new BitmapFactory.Options();
                        //options.inSampleSize = 1;                  
                        BitmapFactory.decodeByteArray(_data,0,_data.length).compress(CompressFormat.JPEG, 100, new FileOutputStream(img));

                         
                    } catch (FileNotFoundException e) {
                        Log.e("demo", e.toString());
                    }
                        //riparte la preview della camera
                        mCamera.startPreview();
                       
                }
        };

        @Override
        public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
                if (mPreviewRunning)
                        mCamera.stopPreview();
               
                //setto le preferenze
                Camera.Parameters p = mCamera.getParameters();  //prendo le preferenze della camera
                p.setPreviewSize(arg2, arg3);
                ArrayList<Size> list = (ArrayList<Size>) p.getSupportedPictureSizes();//recuepro le risoluzioni supportate dalla camera
        int picture_width = list.get(list.size()-1).width;
        int picture_height = list.get(list.size()-1).height;
        p.setPictureSize(picture_width, picture_height);        //setto la camera alla risoluzione più bassa
        p.setJpegQuality(80);   // qualità compressione JPEG
       
        // salvo le pref
        mCamera.setParameters(p);
        try {
                //lancio la preview
                        mCamera.setPreviewDisplay(arg0);        
                        mCamera.startPreview();
                        mPreviewRunning = true;
                } catch (IOException e) {
                        //gestione errore
                }
       
               
        }

        @Override
        public void surfaceCreated(SurfaceHolder holder) {
                mCamera = Camera.open();
               
        }

        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
        mCamera.stopPreview();
        mPreviewRunning = false;
        mCamera.release();
               
        }
}