CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Q.dino con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 32 Thanks ricevuti nell'ultimo mese

Pagina 1 di 6 123 ... ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 58
Discussione:

lettore barcode

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    lettore barcode

    Ciao a tutti,

    devo realizzare al fly un applicazione tipo la standrad lettore barcode. Il risultato deve essere che leggendo il codice a barre, mi apra in automaitoc un URL con alla fine il parametro letto.

    Vorrei realizzarla io (per un discorso di customizzazione) anche se potrei usare quella già presente. Qaulcuno è in grado di darmi un dritta?Pezzi di codice?Ecc?

    Grazie!
    _Il passante, in quanto tale, passò

  2.  
  3. #2
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    229

    Ringraziamenti
    27
    Ringraziato 77 volte in 35 Posts
    Predefinito

    mai lavorato con i barcode su android, ma ho sentito parlare da più parti di questa libreria: zxing - Multi-format 1D/2D barcode image processing library with clients for Android, Java - Google Project Hosting Se può esserti utile
    Felice possessore di un LG O1 con GingerLOL 1.5.2 e di un Mediacom Smartpad 810c con Pistoneone 4.2.1 / 5.0 Samsung Galaxy Tab 10.1 P7510 (originale per ora) Mediacom Smartpad 715i (ROM smartpao 2.1), Mediacom Smartpad 842i (ROM smartpao 2.0)
    Mini-Forum-FAQ per Mediacom Smartpad 810c

  4. #3
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    Grazie pourquoipas, adesso sto scaricando l SDK che pensavo di aver già installato, si evde che l ho tolta.

    Poi vedo. Dovrebbe essere un componente base, il barcode. Magari scrivendo del codice, riesco a mettere la mia icona e togliere opzioni inutili. Programmi?
    _Il passante, in quanto tale, passò

  5. #4
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    229

    Ringraziamenti
    27
    Ringraziato 77 volte in 35 Posts
    Predefinito

    Sia programmazione che analisi, Java ma su application server, android è un passatempo per il poco tempo libero
    Felice possessore di un LG O1 con GingerLOL 1.5.2 e di un Mediacom Smartpad 810c con Pistoneone 4.2.1 / 5.0 Samsung Galaxy Tab 10.1 P7510 (originale per ora) Mediacom Smartpad 715i (ROM smartpao 2.1), Mediacom Smartpad 842i (ROM smartpao 2.0)
    Mini-Forum-FAQ per Mediacom Smartpad 810c

  6. #5
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    pourquoipas sto leggendo una guida, ho già provato qualcosa con bottoni e textview ma vado avanti così e finisco tra trent anni.

    Sto inziando a capire i passaggi dichiarazione degli "stili", importazione del widget, dichirazione oggetto e utilizzo nelle funzioni (? passaggio un po meno chiaro) ma le robette che ho fatto funzionano.
    Ma per aprire la app direttamente sul barcode, analizzare il codice a barre, e inviarlo ad un url predefinito, mi è ancora sfuocato del tutto. Nà dritta?
    _Il passante, in quanto tale, passò

  7. #6
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    Lui dice:
    Per codificare una stringa in un codice QR semplicemente creare un Intent con l'azione Decode specificato, due extra stringa che specifica il tipo e dati e startActivity call ():
    codice:
    Intent intent = new Intent("com.google.zxing.client.android.ENCODE");  
                    intent.addCategory(Intent.CATEGORY_DEFAULT);  
                    intent.putExtra("ENCODE_TYPE", "TEXT_TYPE");  
                    intent.putExtra("ENCODE_DATA","HELLO WORLD");  
    startActivity(intent)
    Ma come faccio a "creare un Intent con l'azione Decode specificato" e le due extra stringhe?
    _Il passante, in quanto tale, passò

  8. #7
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Quote Originariamente inviato da Ferri Visualizza il messaggio
    Lui dice:
    Per codificare una stringa in un codice QR semplicemente creare un Intent con l'azione Decode specificato, due extra stringa che specifica il tipo e dati e startActivity call ():
    codice:
    Intent intent = new Intent("com.google.zxing.client.android.ENCODE");  
                    intent.addCategory(Intent.CATEGORY_DEFAULT);  
                    intent.putExtra("ENCODE_TYPE", "TEXT_TYPE");  
                    intent.putExtra("ENCODE_DATA","HELLO WORLD");  
    startActivity(intent)
    Ma come faccio a "creare un Intent con l'azione Decode specificato" e le due extra stringhe?
    Ciao,

    or dunque - prima di cominciare - volevo chiederti se hai correttamente importato nel project (immagino tu usi eclipse) il file android-integrator.jar del barcode scanner zxing e -conseguentemente- incluso nel project le classi di adapter per la cattura del risultato:
    IntentIntegrator.java
    IntentResult.java
    (scaricabili dalla cartella source del programma:
    /trunk/android-integration/src/com/google/zxing/integration/android/ - zxing - Multi-format 1D/2D barcode image processing library with clients for Android, Java - Google Project Hosting

    Premesso questo, veniamo a come eseguire la scansione e catturare il tipo di ean (magari per te superfluo) e il cod. ean stesso (forse questo ti interessa).

    La classe IntentIntegrator.java possiede già il metodo per iniziare la scansione, si chiama .initiatescan.
    Tutto quello che devi fare è creare una ulteriore classe che avvii IntentIntegrator.initiateScan() e che catturi il risultato della lettura (intesa come IntentResult), al termine della scansione, con il solito metodo onActivityResult().

    Ti faccio un esempio in cui introduco (previe soddisfatte le pre-condizioni di progetto che ti ho indicato a inizio post) una classe di comodo per avviare la scansione e fare il get della lettura + il relativo layout .xml:

    Classe AndroidScanner.java:
    codice:
    package mia.applicazione.test;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import com.google.zxing.integration.android.IntentIntegrator;
    import com.google.zxing.integration.android.IntentResult;
    
    public class AndroidScanner extends Activity {
    	TextView format=null;
    	TextView contents=null;
    	Bundle bundlescanner;
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.screen3);
    		format=(TextView)findViewById(R.id.format);
    		contents=(TextView)findViewById(R.id.contents);
    		Button confermaScansione = (Button) findViewById(R.id.pulsanteConfermaBarCode);
    		confermaScansione.setOnClickListener(new View.OnClickListener() {
    			public void onClick(View arg0){
    				Intent intent = new Intent();
    				intent.putExtra("formato", format.getText().toString());
    		        intent.putExtra("codiceletto", contents.getText().toString());
    				setResult(RESULT_OK,intent);
    				finish();
    			}
    		});
    	}
    
    	public void doScan(View v) {
    		IntentIntegrator.initiateScan(this);
    	}
    
    	public void onActivityResult(int request, int result, Intent i) {
    		IntentResult scan=IntentIntegrator.parseActivityResult(request,result, i);
    
    		if (scan!=null) {
    			format.setText(scan.getFormatName());
    			contents.setText(scan.getContents());
    		}
    	}
    	@Override
    	public void onSaveInstanceState(Bundle state) {
    		state.putString("format", format.getText().toString());
    		state.putString("contents", contents.getText().toString());
    	}
    
    	@Override
    	public void onRestoreInstanceState(Bundle state) {
    	    format.setText(state.getString("format"));
    		contents.setText(state.getString("contents"));
           	}
    }
    Layout utilizzato da AndroidScanner.java (l'ho chiamato screen3.xml):
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    	<Button
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Avvia Scansione!"
    	android:onClick="doScan"
    	/>
    	<TextView android:id="@+id/format"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
      />
    	<View
        android:layout_width="fill_parent" 
        android:layout_height="2dip"
    	android:background="#FF0000FF"
      />
    	<TextView android:id="@+id/contents"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
      />
    	<Button
        android:id="@+id/pulsanteConfermaBarCode"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Conferma BarCode"
    	/>
    </LinearLayout>
    Noterai che ho utilizzato il metodo android per la gestione degli eventi click dei pulsanti, ovvero valorizzando la proprietà android:onClick
    all'interno del file xml (in questo caso lancio il metodo 'doScan' della classe AndroidScanner.java, che non fa altro che lanciare il metodo
    InitiateScan della classe IntentIntegrator.java di zxing).
    Cosa avviene:
    1) il richiamo del metodo doScan() avvia la scansione.
    2) viene di fatto aperta l'applicazione zxing direttamente in modalita scansione.
    3) alla scansione di un cod. ean valido, automaticamente ritorni alla tua applicazione e vengono passati indietro i dati relativi alla scansione,
    (IntentIntegrator.parseActivityResult(request,resu lt, i) in questo caso io ne prendo solo 2, perchè sono quelli più significativi, ovvero:
    .getFormatName() (sarebbe la stringa che denota il tipo di ean rilevato, ad es. EAN 13, EAN 8, ecc...)
    .getContents() (questo è il codice a barre, lo puoi memorizzare in una stringa e passarlo al tuo URL, nel mio caso lo visualizzo in un TextView).

    E questo è quanto. Tralascio i commenti per il codice rimasto, poichè sarebbero superflui.
    Spero che l'utilizzo dell'ottimo sw di zxing ora ti sia maggiormente chiaro e che questo post ti sia stato utile
    A presto
    Ultima modifica di frank17next; 20-06-12 alle 09:52 - Motivo: correzione ortografica
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  9. I seguenti 2 Utenti hanno ringraziato frank17next per il post:

    Bono88 (19-09-12),Ferri (20-06-12)

  10. #8
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    229

    Ringraziamenti
    27
    Ringraziato 77 volte in 35 Posts
    Predefinito

    purtroppo è un argomento di cui so poco, una ricerca veloce mi ha portato qua ScanningViaIntent - zxing - Simple scanning on Android, by calling Barcode Scanner via Intent - Multi-format 1D/2D barcode image processing library with clients for Android, Java - Google Project Hosting e qua Using ZXing to create an android barcode scanning app - Stack Overflow.
    Leggendo le due cose mi par di capire che consiglino, come sistema più semplice di lettura barcodes, di usare il lettore ufficiale della libreria, e quindi di avviarlo tramite un intent. (Se guardi nel secondo link parlano anche di qualcos, (forse esempi o altro dovrei vedere) per gestire il fatto che questo barcode non sia intallato e reindirizzare l'utente sul market per scaricare l'app corretta.

    Quello di cui parli tu, invece a sentimento sembra sia l'uso per fare l'esatto contrario, ovvero usare zxing per generare un codice QR ex novo (ecco perchè vuole le due stringhe extra, perchè devi dirgli come codificare il QR code e che dati ci devi scrivere).
    Però già l'esempio di codice che riporti scatena un intent per ENCODE quindi mi aspetto che l'activity che risponde a quell'intent generi il barcode.
    Per leggere prova a seguire i link che ti ho passato (io proverei a guardare il secondo, se non è troppo vecchio, non ho cercato di verificare se le info fossero relative a vecchie versioni)
    Felice possessore di un LG O1 con GingerLOL 1.5.2 e di un Mediacom Smartpad 810c con Pistoneone 4.2.1 / 5.0 Samsung Galaxy Tab 10.1 P7510 (originale per ora) Mediacom Smartpad 715i (ROM smartpao 2.1), Mediacom Smartpad 842i (ROM smartpao 2.0)
    Mini-Forum-FAQ per Mediacom Smartpad 810c

  11. Il seguente Utente ha ringraziato pourquoipas per il post:

    Ferri (20-06-12)

  12. #9
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Quote Originariamente inviato da pourquoipas Visualizza il messaggio
    purtroppo è un argomento di cui so poco, una ricerca veloce mi ha portato qua ScanningViaIntent - zxing - Simple scanning on Android, by calling Barcode Scanner via Intent - Multi-format 1D/2D barcode image processing library with clients for Android, Java - Google Project Hosting e qua Using ZXing to create an android barcode scanning app - Stack Overflow.
    Leggendo le due cose mi par di capire che consiglino, come sistema più semplice di lettura barcodes, di usare il lettore ufficiale della libreria, e quindi di avviarlo tramite un intent. (Se guardi nel secondo link parlano anche di qualcos, (forse esempi o altro dovrei vedere) per gestire il fatto che questo barcode non sia intallato e reindirizzare l'utente sul market per scaricare l'app corretta.

    Quello di cui parli tu, invece a sentimento sembra sia l'uso per fare l'esatto contrario, ovvero usare zxing per generare un codice QR ex novo (ecco perchè vuole le due stringhe extra, perchè devi dirgli come codificare il QR code e che dati ci devi scrivere).
    Però già l'esempio di codice che riporti scatena un intent per ENCODE quindi mi aspetto che l'activity che risponde a quell'intent generi il barcode.
    Per leggere prova a seguire i link che ti ho passato (io proverei a guardare il secondo, se non è troppo vecchio, non ho cercato di verificare se le info fossero relative a vecchie versioni)
    doh! abbiamo risposto quasi contemporaneamente pardon, non volevo sovrappormi ^_^
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  13. #10
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    frank17next molto esaustiva la risposta. Ti ringrazio.

    C'è qualche punto in cui ho bisogno, non sapendo dove importare. Ad esempio, il file android-integrator.jar credo sia il contenente dei due:
    IntentIntegrator.java
    IntentResult.java

    che non so in quale cartella del progetto importare. Prr il resto adesso adesso creo un nuovo progetto con uguali nome di pacchetto e nome progetto (nome in realtà è uguael ) e smanetto un po. A presto, prestissimo!!
    _Il passante, in quanto tale, passò

Pagina 1 di 6 123 ... ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy